본문 바로가기

JAVA/기초 문법

배열

 

 

 

 

2차원 !!

 

배열

 

*초기화

		 	int Array2[][] = new int[3][4];	 //아래와 동일
		 	int []Array2[] = new int[3][4];

//or

			int Array2[3][4] = {
		 		{1, 2, 3, 4},//0번지에 3번지까지
		 		{5, 6, 7, 8},
		 		{9, 10, 11, 12},
		 	};

 

 

 

 

int Array2[][] = new int[3][4];

모든 값 출력하기

Array2[i][j] = .....

 

* 2번째for문의 Array2인덱스번호를 0이아닌 i로 해주면 길이가다른 배열이라도 전체값이 나옴

		for (int i = 0; i < Array2.length; i++) {	//Array.length = 3
			for (int j = 0; j < Array2[i].length; j++) {	//Array2[0].length = 4
				System.out.println("Array2["+i+"]"+"["+j+"] = "+Array2[i][j]);
			}
		}

 


 


 

1차원 !!

배열

 

형식 : 
  자료형 배열명(=변수명)[ ] = new 자료형[배열의 갯수];
 

  int Array[] = new int[10]; //10개의 변수 선언 
  0~9 
  Array[0] = 1; 
  Array[1] = 2; 
      ~ 
  Array[9] = 10; 
  
  
  int array[] = new int[3];
  = int []array = new int[3];
  = int[] array = new int[3];

 배열은 동적으로 생성해서 정적으로 사용한다.

 

 

변수 초기화

		int tag = 1;
		
		int arr[] = {1,2,3};
		
		System.out.println("arr[0]= "+arr[0]);
		System.out.println("arr[1]= "+arr[1]);
		System.out.println("arr[2]= "+arr[2]);
		// System.out.println("arr[3]= "+arr[3]); //번지수를 벗어난 에러
		
		char charArr[] = { 'H','e','l','l','o'};
		System.out.println(charArr);	//답 : Hello
		
		System.out.println(charArr[0]);	//답 : H
		System.out.println((int)charArr[0]);	//답 : 72 (ASCII code)

 

 

할당

: 각 번지(index)에 값을 입력한다.

		char charArr2[] = new char[5];
		charArr2[0] = 'H';	//0번지
		charArr2[1] = 'e';	//1번지
		charArr2[2] = 'l';
		charArr2[3] = 'l';
		charArr2[4] = 'o';
		
		System.out.println(charArr2);	//답 : Hello
		//System.out.println((int)charArr2);	//다른 언어에서는 heap의 주소값이 나옴
	

 

 

 

 


 

추가 보충 ㅎ

		int array[] = new int[5];	//new -> 동적할당의 의미
		//   stack      heap에 보관	//delete array-> 가비지 컬렉터가 대신함
		int array1, array2, array3, array4, array5;
		//   stack
		int arrayTag[] = {11, 22, 33, 44, 55};
		//				  0				   5	: 총 5개

 

 

**배열 참조{= C언어의 포인터} :
장점 - 속도, 주소만 접근하면 모든 데이터를 접근가능
단점 - 보안에 취약

		int pArray[] = arrayTag;	//주소를 할당한것
		System.out.println(arrayTag);//답 : [I@7d4991ad (4바이트)
		
		pArray[1] = 222;
		System.out.println(arrayTag[1]);	//답 : 222
		

 

 

 

 

**(어려운 이름의) 배열명 재 명명

		int arrayNumberPositin[] = {1,2,3};
		int arrNumPos[] = arrayNumberPositin; 

'JAVA > 기초 문법' 카테고리의 다른 글

String Class  (0) 2020.05.22
제어문  (0) 2020.05.21
연산자, 2진법/16진법, Random  (0) 2020.05.20
변수, Scanner, byte  (0) 2020.05.19
*첫날 메모  (0) 2020.05.18