개발로드

☆KDT 2024-01-12★ 본문

JAVA

☆KDT 2024-01-12★

위대한개발자 2024. 1. 12. 12:11
접근제한자 public => 어디서든 붙어 사용할 수 있다.
new 연산자 => 힙영역에 생성 / new 뒤에 나오는 것을 힙영역에 생성해라

 

배열
ex) int[]  kor  =  new  int[3];
☆new 연산자로 int[3]을 힙에 생성한후  kor에 힙에있는 int[3]의 주소번지를 담음!☆

  1. 힙은 비어있는 공간을 생성할 수 없다
  2. ex) int[]  kor  =  new  int[3]; 의  경우 0, 0, 0이 담기게 된다
  3. new 연산자의 경우 알아서 초기화를 시켜준다.
  4. 힙에는 비어있는 변수나 객체를 만들 수 없다. 
  5. JVM은 공간을 만들고 값이 없으면 기본 값으로 초기화를 시켜준다.
  6. int -> 0, long -> 0L, -> double -> 0.0, float -> 0.0f
  7. boolean -> false
  8. 참조형(String, ...) -> null로 초기화를 시켜 준다
  9. but 기본변수는 초기화 시키지 않는다.

 

★배열 초기화 하는법

  1. 타입 [] 변수 = new 타입 [공간설정];
  2. 타입 [] 변수 = new 타입 []{값1, 값2, ...};
  3. 타입[] 변수 = {값1, 값2, ...};
배열의 초기화와 선언방법

◐방법1.

 

◐방법2.

 

◐방법3.

★Arrays.toString(참조변수): 문자열로 출력해주는 메소드

 

★배열의 길이 :  배열.length;

배열의 특징 동일한 자료형만 묶어서 저장 가능
생성시 크기를 지정, 크기를 지정한 이후에는 배열크기를 변경할 수 없음
크기를 변경하려면 새로운 크기의 배열을 만든 후 기존 배열을 복사해서 사용
배열 선언 배열 선언시 어떤 자료형을 저장하는 배열인지를 나타내야 함
배열의 인덱스는 0부터 시작한다.
타입[] 변수명;
변수명 = nwe 타입[공간의 크기];
int[] num;
num = new int[3];
타입[] 변수명 = new 타입[공간의 크기]
int[] score = new int[3];
타입[] 변수명 = new 타입[]{값1, 값2,...};
♨주의할 점)new 타입[]의 []안에 공간 크기를 적지 않는다
{}뒤에서 크기를 알려주기 때문
int[] num = new int[]{1,2,3,...};
타입[] 변수명 = {값1, 값2, .....};
int[] num = {1,2,3,4,...};
♨주의) 아래와 같이는 선언 불가능하다
   타입[] 변수명;
   변수명  {값1, 값2, ....};
new heap 메모리에 공간(객체)을 만들라는 의미
jvm이 비워있는 공간 객체를 생성하고 어느 공간에 넣었는지 알 수 없기 때문에 jvm은 객체의
위치정보를 리턴 해준다. 즉, 참조변수에는 객체의 주소가 담긴다 
배열의 초기화 배열은 선언시 값을 넣지 않으면 jvm이 자동으로 초기화를 시켜준다
그 이유는 힙이라는 영역은 비어있는 객체(=미완성 객체)는 담을 수 없기 때문이다
int타입 : 0
long타입 : 0L
double타입 : 0.0
float타입 : 0.0f
boolean타입: false
String 타입: null
참조 타입: null
배열 객체의 값 대입 값 대입: 참조변수명[인덱스] = 값;
값 출력: 참조변수명[인덱스]
ex) num[0] = 10;
     int score = num[0];
배열의 길이 배열명.length;
문자열의 길이 == 문자열length
배열의 출력 #1. for문 활용
ex) for(int i =0; i<배열명.lengtj; i++){
                실행문
        }
#2. Arrays.toString(배열명): 문자열로 출력
#3. 향상된 for(for each)문
ex) for(타입 면수명 : 배열 또는 컬렉션 객체){
             실행문장
           }
2차원 배열 1차원 배열의 배열
타입[][] 변수명 = new 타입[행의개수][열의개수];
타입[][] 변수명 = new 타입[행의개수][];

int[][] scores = new int[2][3];
scores[0][0] = 30;

2차원 배열의 출력
int[][] scores = new int[2][3];
for(int i=0; i<scores.length; i++){
                for(int j=0; j<scores[i].length; j++){
                               실행문장
                }
   }

'JAVA' 카테고리의 다른 글

☆KDT 2024-01-16★  (0) 2024.01.16
★KDT 2024-01-15☆  (0) 2024.01.15
★KDT 2024-01-11☆  (0) 2024.01.11
☆KDT 2024-01-10★  (1) 2024.01.10
★KDT 2024-01-09☆  (1) 2024.01.09