카테고리 없음
Array 실습 첫번째
달덩이><
2022. 9. 27. 22:49
1. Array 실습 1
package p01.basic;
// 1. 배열 (array) : 특정 type의 원소가 연속적으로 메모리에 할당된 data type을 의미
// 2. int[] arr =>
// 1) int[] : 배열 type (배열 원소의 data type이 int인 array)
// 2) arr => 변수 이름
// 3. {10, 60, 30, 40} => 배열 초기값, 각각의 데이터를 배열 원소의 데이터값으로 설정한다는 의미
// 4. arr[index] => index가 0인 경우는 첫번째 배열 원소, 1인 경우는 두번째 배열 원소,....
public class ArrayBasic {
public static void main(String[] args) {
// 1. 배열 선언하면서 초기값 {} 사용 방법
int[] arr = {10, 60, 30, 40};
System.out.println("arr 첫번째 원소 : " + arr[0]);
System.out.println("arr 두번째 원소 : " + arr[1]);
System.out.println("arr 세번째 원소 : " + arr[2]);
System.out.println("arr 네번째 원소 : " + arr[3]);
System.out.println("arr 전체 배열원소 갯수 : " + arr.length);
int[] arr1 = {50, 30, 70, 90};
System.out.println("arr1 첫번째 원소 : " + arr1[0]);
System.out.println("arr1 두번째 원소 : " + arr1[1]);
System.out.println("arr1 세번째 원소 : " + arr1[2]);
System.out.println("arr1 네번째 원소 : " + arr1[3]);
System.out.println("arr1 전체 배열원소 갯수 : " + arr1.length);
double[] arr2 = {1.2, 2, 3, 4};
System.out.println("arr2 첫번째 원소 : " + arr2[0]);
System.out.println("arr2 두번째 원소 : " + arr2[1]);
System.out.println("arr2 세번째 원소 : " + arr2[2]);
System.out.println("arr2 네번째 원소 : " + arr2[3]);
System.out.println("arr2 전체 배열원소 갯수 : " + arr2.length);
// 2. 배열만 선언하고 나중에 초기값 넣는 방법
int[] arr3;
// nwe + data type (배열 타입인 경우는 예를 들면 int[])
arr3 = new int[] {5,6,7,8,0};
System.out.println("arr3 첫번째 원소 : " + arr3[0]);
System.out.println("arr3 두번째 원소 : " + arr3[1]);
System.out.println("arr3 세번째 원소 : " + arr3[2]);
System.out.println("arr3 네번째 원소 : " + arr3[3]);
System.out.println("arr3 다섯번째 원소 : " + arr3[4]);
System.out.println("arr3 전체 배열원소 갯수 : " + arr3.length);
// ArrayBasic ab = new ArrayBasic();
// 3. 배열 원소의 값이 없는 배열 크기만 생성
int[] arr4 = new int[4]; // 4개 원소를 가진 배열을 메모리에 생성해달라는 의미
arr4[0] = 10;
arr4[1] = 20;
arr4[2] = 30;
arr4[3] = 40;
System.out.println("arr4 전체 배열원소 갯수 : " + arr4.length);
int[] intArray;
intArray = new int[10];
intArray[4] = 10;
// intArray.length =20;
}
}
- 배열(Array)란?
- => 특정 type의 원소가 연속적으로 메모리에 할당된 data type을 의미합니다.
- 먼저 배열을 선언하면서 초기값 { } 사용해줍니다. => int[ ] arr = {10, 60, 30, 40};
- 첫번째 배열에 있는 원소를 출력하고 싶으면 println( arr[0]);을 해주면 첫번째에 있는 원소 10이 출력하게 됩니다.
- 두번째 배열에 있는 60을 출력하기 위해서는 println( arr[1]);을 해주면 됩니다.
- 마지막으로 배열의 전체원 갯수를 알고 싶으면 println(arr.length);를 해주면 원소의 갯수를 알 수 있습니다.
2. 배열에 for 문 사용하기
package p01.basic;
// 배열을 for문에 사용방법
public class ArrayBasic2 {
public static void main(String[] args) {
int sum = 0;
int[] arr = {10,20,30,40,50,60};
double[] arr2 = {1.0, 2.0, 3.0, 4.0};
for (int i=0; i<arr.length; i++) {
sum += arr[i];
System.out.println("arr[" + i +"] : " + arr[i] );
}
for (int i=0; i<arr2.length; i++) {
System.out.println("arr2[" + i +"] : " + arr2[i] );
}
System.out.println();
// 향상된 for문 (배열 등 여러개의 원소를 가진 type에서 사용 가능)
// arr 배열에서 첫번째 원소부터 마지막 원소의 값을 차례로 element에 넣어줌
for (int element : arr) {
System.out.println(element);
}
for (double element : arr2) {
System.out.println(element);
}
}
}
- 배열에서 for 문을 사용하면 배열의 전체를 순차적으로 쉽게 출력할 수 있습니다.
- for 문 사용방법은 평소에 for 문을 사용하는 것처럼 사용해주면 됩니다. 그리고 향상된 for 문이라는 것도 존재하는데 이 향상된 for 문의 사용 방법은
- => for (int elemet : arr ) { System.out.println(element) } 처럼 사용해주면 됩니다.
3. console에서 배열의 크기를 입력하고 각 배열의 원소값을 입력하여 읽어오기
package p01.basic;
import java.util.Scanner;
//console에서 배열크기와 각 배열 원소의 값을 읽어 오기
public class ArrayBasic3 {
public static void main(String[] args) {
double[] myList;
Scanner input = new Scanner(System.in);
System.out.println("배열 전체 크기를 입력하세요.");
int arrayLength = input.nextInt();
myList = new double[arrayLength];
for (int i=0; i<myList.length; i++) {
System.out.println((i+1) + "번째 원소를 입력하세요.");
myList[i] = input.nextDouble();
}
for (int i=0; i<myList.length; i++) {
System.out.println("myList[" + i + "] : " +myList[i]);
}
}
}
- 먼저 myList라는 배열을 생성해줍니다.
- 그리고 우리가 직접 입력을 해줘야해서 scanner를 사용해줍니다.
- 그 다음으로는 for 문을 사용하여 myList에 있는 원소들을 순차적으로 입력할 수 있는 코드를 만들어줍니다.
- 한 번더 for문을 써서 첫번째 for 문에 입력된 원소들을 출력하게 만들어줍니다.
4. 배열 원소의 초기값을 0에서 100이내의 실수 값을 random으로 출력하기
package p01.basic;
// 배열 원소의 초기값을 0~100이내의 실수 값으로 random하게 주는 프로그램
public class ArrayBasic4 {
public static void main(String[] args) {
double[] myList = new double[10];
for (int i=0; i<myList.length; i++) {
myList[i] = Math.random()*100;
}
for (double element : myList) {
System.out.println(element);
}
}
}
- 먼저 실수 값을 가져야 하므로 double[] myList를 만들어 줍니다.
- 그 다음 for 문을 사용하여 순차적으로 출력하되 random의 값을 가져야하므로 Math.random을 사용해줍니다.
- 그리고 한번 더 for 문을 사용하여 10개의 random의 실수 값을 출력해줍니다.
5. String과 char[]의 비교
package p01.basic;
// String과 char[]는 data type이 틀림
// 참고로, C language는 String이라는 data type이 없음
public class ArrayBasic5 {
public static void main(String[] args) {
String city1 = "Dallas";
char[] city = {'D', 'a', 'l', 'l', 'a', 's'};
for (char element : city) {
System.out.println(element);
}
System.out.println(city);
System.out.println(city1);
}
}
- String과 char[]의 data type은 다릅니다.
- 먼저 Sytem.out.println(element);는 한글자 한글자씩 출력될 것이고, System.out.println(city);와 Sytem.out.println(city1);은 문장 전체가 출력될 것입니다.
오늘은 Array(배열)에 관한 실습을 해보았습니다. 배열 같은 경우는 어떤 결과를 산출하거나 할때 유용하게 쓰입니다. 다음시간에도 배열에 대한 실습을 이어서 할 예정입니다. 감사합니다^^
반응형