switch 문
값에 따라 여러 방향으로 분기하는 경우,
if 문보다 switch 문을 사용하면 가독성이 높은 좋은 코드를 작성할 수 있다.
이 때, 실행문은 실행문장은 { }로 둘러싸지 않는다.
switch 문은 식의 결과 값을 case 문의 값과 비교한다.
case 문의 값은 변수나 식은 사용할 수 없고,
정수 리터럴, 문자 리터럴, 문자열 리터럴만 허용한다.
switch (식) {
case 값1:
실행문 1;
break;
case 값2:
실행문 2;
break;
...
case 값m:
실행문 m;
break;
default:
실행 문장 n;
}
default 문 : 어떤 case 문으로도 분기하지 못하는 경우 default의 실행문을 실행한다.
생략 가능하다.
Wrapper 클래스 개념
이름이 Wrapper인 클래스는 존재하지 않는다.
기본 타입에 해당되는 값을 객체로 다룰 수 있게 하는 클래스이다.
필요한 이유: 자바는 객체 지향 언어이므로 객체를 대상으로 처리하는 경우가 많고,
JDK의 어떤 클래스는 기본 타입의 데이터는 사용할 수 없고, 객체만 다룬다.
=> 기본 타입의 값을 객체로 만들어 사용할 수 있도록 Wrapper 클래스를 제공(java.lang 패키지에 있음)
Wrapper 클래스의 객체 생성
기본 타입의 값을 인자로 하여 정적 메소드인 valueOf()를 호출하여 생성한다.
Integet i = Integer.valueOf(100);
Integet i = Integer.valueOf("100"); // 정수 100의 객체화
Character a = Character.valueOf('a') // 문자 'a'의 객체화
Double d = Double.valueOf(3.14);
Double d = Double.valueOf("3.14"); // 실수 3.14의 객체화
Boolean b = Boolean.valueOf(true); // 불린 값 true의 객체화
기본 타입에 대응하는 Wrapper 클래스
기본 타입 | byte | short | int | long | char | float | double | boolean |
Wrapper 클래스 | Byte | Short | Integer | Long | Character | Float | Double | Boolean |
* JDK 9부터 Wrapper 클래스의 객체를 생성할 때 생성자를 이용하는 방법을 폐기(deprecated)했다.
대신 공간과 속도에 있어 성능이 높은 valueOf() 정적 메소드를 이용하여 생성한다.
int compareTo() : 문자열 비교
현재 문자열과 매개변수로 주어진 다른 문자열을 사전 순으로 비교하면서,
두 문자의 아스키코드값의 차이만큼을 정수로 출력한다.
현재 문자열이 사전에 먼저 나오면 (아스키코드값이 작으므로) 음수를,
현재 문자열이 사전에서 뒤에 나오면 양수를 리턴한다.
String java = "Java";
String cpp = "C++";
int res = java.compareTo(cpp);
if (res == 0)
System.out.println("두 문자열이 같다.");
else if (res < 0)
System.out.println(java + " < " + cpp);
else
System.out.println(java + " > " + cpp; // Java > C++
String concat(String str) : 문자열 연결
+ 연산을 할 때 피연산자가 객체가 있을 경우에는,
객체.toString() 메소드를 호출하여 객체를 문자열로 변환하여 문자열 연결을 실행한다.
피연산자가 기본 타입의 값이 있는 경우에는,
이 값을 문자열로 변환하여 문자열 연결을 실행한다.
이 외에, concat() 메소드를 이용하여 문자열을 연결할 수 있다.
"I love ".concat("Java.") // "I love Java."
String trim() : 공백 제거
문자열 앞뒤에 있는 공백 문자를 제거한 새로운 문자열을 리턴한다.
String a = " abcd eft ";
String b = " njl++ /8kl";
String c = a.trim(); // c = "abcd eft"
String d = b.trim(); // d = "njl++ /8kl"
char charAt(int index) : 문자열의 문자
특정 위치에 있는 문자를 리턴하여 알려준다.
String a = "class";
char c = a.charAt(2); // c = 'a'
활용해 특정 문자가 몇 개 있는지 알 수 있다.
int count =o;
String a = "banana";
for(int i=0; i<a.length(); i++) {
if(a.charAt(i) == 'a')
count++;
}
System.out.println(count); // 2
boolean contains() : 문자열 검색
String s = "Java"
if (s.contains("Java")) {
System.out.println("포함되어 있는 문자열입니다.")
}
else {
System.out.println("포함되어 있지 않은 문자열입니다.") // "포함되어 있는 문자열입니다."
}
working on...
'컴퓨터 사이언스 > TIL 정리' 카테고리의 다른 글
나의 첫 Hexo Blog ! (0) | 2022.07.01 |
---|---|
MGS day 04 (0) | 2022.06.30 |
MGS day 03 (0) | 2022.06.30 |
MGS Day 02 (0) | 2022.06.28 |
MGS Day 01 (0) | 2022.06.28 |