.조건문.
1.
//조건문
public class Study5 {
public static void main(String [] args){
//벌레가 죽었나요
//예 true 거짓 false
boolean isDead = true;
if(isDead) {
System.out.println("버린다");
}else {
System.out.println("죽인다");
}
true를 넣으면 "버린다"가 출력됨.
false를 넣으면 "죽인다"가 출력됨.
int i = 7;
if(i > 7){
System.out.println("if");
// } else if (i == 7) { // i 가 7과 같냐?
// System.out.println("elseif");
} else {
System.out.println("else");
}
(먼저 else if문이 없다고 볼 때)
i > 7에서 7을 7보다 작은 수로 바꾼다면 i는 7보다 크다는 식이 성립하지 않기 때문에 'else'가 나온다. 7보다 큰 수로 바꾸면 'if'가 나온다.
여기서 중간에 else if를 넣으면
(i == 7)로 i가 7과 같은지를 직접 묻고 'int i = 7'로 선언한게 있기 때문에이게 참이여서 elseif가 출력된다.
String hi = "hi";
String hi2 = hi + "1";
if(hi2.equals("hi1")){ // equals로 써줘야 한다.
System.out.println(true);
}else {
System.out.println(false);
}
String hi는 문자열 "hi"와 같은지를 알아보는 것.
문자열을 비교할 때에는 equals를 넣어줘야 한다.
int a = 0;
if(a + 2 == 0 + 1) { //한줄만 쓸 때에는 중괄호를 지울 수 있다.
System.out.println("true");
}else {
System.out.println("false");
}
수업시간에는 else문이 없었다. 숫자 2있는 부분이 1이면 true로 출력되지만 2로 바꿔 넣어보니 아무것도 출력이 되지 않았다. 그래서 else문을 넣으면 false를 나오게할 수 있을까 싶어서 넣어보니 1을 넣으면 true 그 외의 숫자로 바꾸면 false로 출력하는 것을 볼 수 있었다.
String hi = "hi";
String hi2 = hi + "1";
Integer b = 0;
Integer c = 0;
if (b + 1 == c + 1)
// 같지 않을 때 true를 하고 싶다면 (a + 1 != b + 1)
System.out.println(hi + "1");
System.out.println(hi + "1" == "hi1");
// 이건 주소값이 다르기 때문에 같은것이 아님.
//문자열 비교는 equals로 해야함
System.out.println((hi + "1") .equals("hi1"));
//이건 문자열 비교. 똑같이 hi1이 나오기 때문에 true
------이건 내 생각. 틀렸음 ---------------------------------------
hi1
true 순으로 출력된다.
-> 왜 true냐?
hi + "1"은 hi2이고 "hi1"은 hi라고 처음에 변수 선언을 했다. 둘은 다른 것이기 때문에
!=(아니다)를 넣으면 '둘은 같은게 아니다'라는 뜻이 되므로 true가 출력되는 것.
만약 'hi + "1" == "hi1"을 넣는다면 false가 나온다.
-------이후에 물어봐서 찾은 답. ---------------------------------
System.out.println(hi + "1" == "hi1");
// 이건 주소값이 다르기 때문에 같은것이 아님. 문자열 비교는 equals로 해야함
System.out.println((hi + "1") .equals("hi1"));
//이건 문자열 비교. 똑같이 hi1이 나오기 때문에 true
int p = 6;
if(p%2 == 0){
System.out.println("짝수");
}else {
System.out.println("홀수");
}
System.out.println(p % 2 == 0? "짝수" : "홀수"); //삼항연산자
p%2 == 0 은 'p를 2로 나눴을 때 0이 된다면'이라는 뜻.
이 때 0이 된다면 2의 배수라는 뜻.
그래서 0이 되면 짝수 0이 안되면 홀수가 되는 것이다.
이를 삼항 연산자로 바꾸면 맨 아래와 같다.
7.switch문
int p = 6;
switch (p % 5 ) {
case 1:
System.out.println("홀수");
break;
case 0:
System.out.println("짝수");
break; // break가 빠지면 멈추지 않고 다음거 까지 출력한다.
default:
System.out.println("default");
break;
p에 6을 변수로 선언.
p % 5 ---> p를 5로나눈 나머지값 출력=>1. 그러면 case 1이 되므로 "홀수"가 출력되고 break를 만나 끝난다. *break를 빼먹지 않게 주의!
5를 2나 3으로 바꾸면 6%2, 6%3 -> 나머지값이 모두 0이므로 case0 으로 가서
"짝수"출력.
그 외에 4와 같은 수로 넣으면 나머지가 2가 나오므로 case에 없어서 default가 출력된다.