카테고리 없음

자바의 정석(Ch1~Ch5)

suuuki 2024. 10. 28. 23:43

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 사이의 수가 랜덤으로 나온다