Chapter3
String str1 = "abc";
String str2 = new String("abc");
System.out.printf(str1 == "abc");
//결과값은 false
System.out.printf(str2.equals("abc"));
//결과값은 true
str2와 "abc"의 내용이 같아도 '=='으로 비교하면 false
=>그 이유는 내용은 같지만 서로 다른 객체라서 그런다. 비교하려면 equals() 사용
Char ch ='C';
System.out.println("ch<'a' || ch >'z'=", ch < 'a' || ch > 'z');
//결과값 ch<'a' || ch >'z'= false
문자끼리는 아스키코드(멥핑되는 숫자값)로 비교한다
'C' =67, 'a' =97 ,'z'=122
조건: a(97) 미만 or z(122) 초과 인가?
=> C(67)는 97보다 작으니 조건에 맞아서 true가 된다
Chapter4
Math.random(): 임의의 정수 만들기
int num = 0;
for (int i =1; i<=5; i++){
num = (int) (Math.random() * 6) + 1;
System.out.println(num);
}
//결과값
//6
//1
//1
//5
//2
0.0 <= Math.random() <1.0
0.0 * 6 <= Math.random() * 6 < 1.0 * 6
(int)0.0 <= (int)Math.random() * 6 < (int)6.0
0 + 1 <= (int)Math.random() * 6 + 1 < 6 + 1
1<= (int)Math.random() * 6 + 1 < 7
위의 코드에서 랜덤은 1~6 사이의 수가 랜덤으로 나온다