관리 메뉴

나구리의 개발공부기록

자바의 정석 기초편 ch2 - 7 ~ 9 [문자,문자열 리터럴, 문자열 결합,두 변수의 값 교환] 본문

유튜브 공부/JAVA의 정석 기초편(유튜브)

자바의 정석 기초편 ch2 - 7 ~ 9 [문자,문자열 리터럴, 문자열 결합,두 변수의 값 교환]

소소한나구리 2023. 11. 1. 17:40

문자

char ch = 'A';
char ch = ' '; (공백 하나(유니코드:32) 를 포함해서 초기화는 가능)
char ch = 'AB'; // 에러
char ch = '' // 에러

문자열 - 연속된 여러 문자 

String s = "ABC"; 
String s = "A" // 한개만 넣어도 문자열타입으로 저장 가능
String s = ""  // 빈 문자열도 가능

// 문자열을 입력하는 두가지 방식(이 둘에는 거의 같지만 큰 차이가 존재함 - 참조 개념을 알아야 이해할 수 있음)
String s1 = "AB"	// 해당 방식을 더 많이 사용함
String s2 = new String("AB");

 

String클래스 = 자바에서 제공하는 문자열 클래스

  • 원래 클래스는 new 연산자를 써서 객체를 생성해야 하지만 문자열은 워낙 자주 사용하기에 String 클래스만 특별하게 기본형 변수에 값을 저장하는 형식을 허용
String s1 = "A" + "B"; // s1 에는"AB"가 저장 됨 -> 두 문자열을 하나로 결합하라는 뜻

 

  • 숫자가 문자열로 변환 됨: "" + 7  -> "" + "7" -> "7"
  • 문자의 결합은 왼쪽에서 오른쪽으로 결합 됨
    • ""+7+7 -> "7"+7 -> "7"+"7" -> "77" : 빈문자열과 숫자 7이 먼저 결합되어 "7"이되고, 그다음"7"과 숫자 7이 결합
    • 7+7+"" -> 14+"" -> "14"+"" -> "14" : 7+7이 덧셈 연산하여 14가 되고 14와 빈문자열이 결합
  • 문자열로 변환
    • 문자열 + any type
    • any type + 문자열
char ch = 'A';
int i = 'A'; // 문자 A의 문자코드가 출력

String str = ""; // 빈문자열
String str2 = "ABCD";
String str3 = "123";
String str4 = str2+str3; // ABCD123 출력

System.out.println(""+7+7); // 77 출력
System.out.println(7+7+""); // 14 출력

 

두 변수의 값 교환하기 -> 변수 1개를 추가하여 값을 하나씩 이동

int x = 4, y = 2;	// 변수선언
int tmp;		// 새로운 변수 선언	

// 값이동	
tmp = x;	// x의 값을 tmp에 저장
x = y;		// y의 값을 x에 저장	
y = tmp;	// tmp의 값을 y에 저장

System.out.println("x="+x); // x=2 출력
System.out.println("y="+y); // y=4 출력

 

** 출처 : 남궁성의 정석코딩_자바의정석_기초편 유튜브 강의