728x90
반응형
배열
같은 변수의 이름으로 반복되는 작업을 위한 저장 공간
선언과 초기화를 한번에 진행
int[] arr = new int[10];
선언과 초기화 분리
String [] strings;
strings = new String[3];
선언과 초기화를 직접 값 입력해서 선언
int [] arr1= new int[]{0,1,2,3,4};
int [] arr2= {0,1,2,3,4};
타입에 따른 기본변수 와 참조변수의 기본값
public class Ex01Array {
public static void main(String[] args) {
//배열 : 같은 변수의 이름으로 반복되는 작업을 위한 저장 공간
int[] arr = new int[10];
Utils.typeOf(arr); //int[]
Object[] objects = new Object[5];
Utils.typeOf(objects); //Object[]
String [] strings = new String[3];
Utils.typeOf(strings); //String
}
}
length 는 배열을 만들면 따라오는 속성
System.out.println(arr.length); //arr의 길이 = 10개
데이터 접근하기
인스턴스화 되면서 초기화되서 값을 0을 가짐
System.out.println(arr[0]);
배열의 범위(0~4)를 넘어가서 오류 발생
System.out.println(objects[5]);
참조형 변수의 기본값은 null 으로 null 출력
System.out.println(objects[4]);
System.out.println(strings[2]);
arr의 0~9번째까지 입력 받고 출력하기
arr[0]=1;
arr[1]=2;
for (int i =0; i<arr.length; i++)
{
System.out.println(arr[i]);
}
70~100 사이의 랜덤한 값을 score 배열에 담아서 출력하기
package p04_Array;
public class Ex02applicate {
public static void main(String[] args) {
int [] score= new int[10];
for (int i = 0; i < 10; i++) {
score[i]= (int)((Math.random()*(100-70+1)+70));
System.out.println(score[i]);
}
}
}
score[i]= (int)((Math.random()*(100-70+1)+70));
- Math.random()은 0 이상 1 미만의 난수를 반환합니다.
- (100 - 70)은 30이 되고, 따라서 Math.random() * 30은 0 이상 30 미만의 값을 반환합니다.
- 이 값을 (int)로 형변환하면 소수점 아래를 버리고 정수 부분만 남깁니다.
- 마지막으로 70을 더하면 최종적으로 범위가 70 이상 100 미만의 정수를 반환하게 됩니다.
- 이는 원하는 범위의 상한값에 1을 더해줌으로써, Math.random()이 생성할 수 있는 난수의 범위를 증가시키는 것입니다. (100 - 70 + 1)입니다.
System.out.println(Arrays.toString(score));
메서드 함수(prArr())를 만들어서 배열 출력하기
public class Ex02applicate {
public static void main(String[] args) {
int [] score= new int[10];
for (int i = 0; i < 10; i++) {
score[i]= (int)((Math.random()*(100-70+1)+70));
System.out.println(score[i]);
}
prArr(score);
}
public static void prArr(int []arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if(i != arr.length-1){
System.out.print(",");
}
}
}
}
2차원 배열 선언하기
package p03_method;
public class Ex03Dimension {
public static void main(String[] args) {
int [][]arr= new int[3][3];
arr = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
int [][]arr2 = {{1,2,3},{4,5,6},{7,8,9}};
}
}
출력하기
int[][] arr = new int[3][3];
arr = new int[][]{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum =0;
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++)
{
if(j != 0) System.out.print(",");
System.out.print(arr2[i][j]);
sum += arr2[i][j];
}
System.out.println();
}
향상된 For 문
package p04_Array;
public class Ex04enhancedfor {
public static void main(String[] args) {
String [] arr ={"홍길동","이순신","장보고","김유신"};
for(String item : arr){
System.out.println(item);
}
}
}
//자바에서의 배열의 단점
//1) 설정된 크기를 변경 할 수 없다
int [] nums = {1,2,3};
System.out.println(nums.hashCode());
int [] nums2 = {1,2,3,4};
System.out.println(nums2.hashCode());
nums = nums2;
System.out.println(nums.hashCode());
728x90
반응형
'PROGRAMING📚 > Java📑' 카테고리의 다른 글
Java :: 활용 -String (0) | 2024.06.25 |
---|---|
Java::확장-extends(상속) (0) | 2024.06.25 |
Java::구성- switchCase (0) | 2024.06.20 |
Java:: 구성- 정보은닉(incapsulation),getter/setter 사용하기 (0) | 2024.06.20 |
Java ::구성- Class 변수 선언 (1) | 2024.06.17 |
댓글