조건문

문자비교

char ch = 'a';

if(ch == 'a'){
}

이런식으로 논리연산자를 써서 비교.

하지만 문자열 비교는

String str = "hello";

if(str == "abc"){
}

이렇게 논리연산자로 비교하면 안된다.

if(str.equals("hello")){
}

.equals메소드를 이용하여 비교해주어야 한다.


대소문자 비교

if(str.equals("c") || str.equals("C")){}

if(str.equalsIgnoreCase("c")){} // 대소문자 구분x

.equalsIgnoreCase()메소드는 대소문자 구분없이 비교한다.


문자열을 문자로 변경, null체크 유의사항

str = "3";

if(str!=null && !str.equals("")){
    char ch = str.charAt(0);
}

str!=null로 먼저 null체크를 해주어야함.

안그러면 str.equals("") 메소드를 불러올 때 오류발생.


Math.random() 메서드

0.0과 10.0사이의 double값을 반환한다. (0.0 <= Math.random() < 1.0)

ex) 1~10범위 정수얻는 식

(int)(Math.random() * 10) + 1


if switch차이점

if문의 조건식과 달리, 조건식의 계산결과가 int범위 이하의 정수만 가능.

조건식 -> byte, short, int, char 만 가능

JDK7이상부터는 문자열도 가능

모든 switch문은 if문으로 변경가능하지만,

if문은 모두 switch문으로 변경할 수 있는건 아니다.

경우의 수가 많으면 switch문이 효율적이다.

if문은 else경우에 대해서도 연산을 하기 때문

+ Recent posts