JAVA/JAVA BASIC

[JAVA] 참조타입 - 배열

아잠만_ 2024. 3. 13. 12:37

isEmpty()

public class Test {
	public static void main(String[] args) {
		String str = null;
		if(str == null || str.isEmpty()) {
        // null != isEmpty
        // 만약 str.isEmpty()||str == null 일경우 오류
        // str = "" 상태라면 가능
			System.out.println("빈문자열");
		}
	}
}

 

메모리 영역

  1. 메소드 영역[클래스 영역] (클래스 별로, 정적필드 상수 생성자 메소드 코드 등을 분류해 저장)
  2. 힙영역 (객체(String)와 배열이 생성되는 영역)
  3. JVM스택영역 (변수로 선언한 것 저장)
public void method1() {
	String a1 = "자바";
	String a2 = "자바";
	String a3 = "오라클";
	String a4 =  new String("오라클");
	String a5 =  new String("오라클");
	// 스택 비교 (주소값을 비교)
	System.out.println(a1==a2); 
	System.out.println(a2==a3);  
	System.out.println(a3==a4); 
	System.out.println(a4==a5); 
    System.out.println(a4.equals(a5));
}
true
false
false
false
true

참조타입

  1. 배열타입
  2. 열거타입
  3. 클래스
  4. 인터페이스

배열

변수 여러개를 한번에 사용한다

타입명[ ] name = new 타입명[길이];
ex. int [ ] arr = new int [ 5 ];
public void method1() {
	//int 변수 5개 선언 및 저장 하기
	int[] arr = new int[5];
	arr[0] = 80;
	arr[1] = 81;
	arr[2] = 82;
	arr[3] = 83;
	arr[4] = 84;
	int sum = 0;
	System.out.println(arr); //주소값
	for(int i=0; i<arr.length;i++) {
		System.out.println(arr[i]);
		sum+=arr[i];
	}
	System.out.println(sum);
}

버블정렬 (정렬 알고리즘)

public void method7() {
	// 버블 정렬
	// 원본자료가 n개일 때 n-1차 운행한다
	// 각 회차에서 인접한 두 값을 비교하여 오름차순인 경우
	// 작은값을 앞에 위치시킴
	int[] score = {75, 80, 62, 90, 85};
	for(int i =0; i<score.length-1;i++) {
		for(int j=0; j<score.length-1;j++) {
			if(score[j]>score[j+1]) { //부등호를 바꾸면 ASC DESC
				int temp = score[j];
				score[j]= score[j+1];
				score[j+1]=temp;
			}
		}
	}
	for(int i=0;i<score.length;i++) {
		System.out.print(score[i]+"\t");
	}
}