반응형
프로그래머스 강의를 들으며 정리한 것입니다.
https://programmers.co.kr/learn/courses/5
조건문
: 어떤 문장은 수행하고 싶고, 어떤 문장은 수행하고 싶지 않을 때 사용
IF 조건문 : 조건식의 연산 결과에 따라 블록 내부 문장의 실행 여부를 결정할 수 있다.
- if 문
- 조건식이 true 일 경우에만 실행문이 실행
- if(조건식) 다음의 { } 생략할 경우 실행문은 단 한 줄만 포함
if(조건식){ 실행문; 실행문 }
- if - else 문
- 조건식이 true일 경우 if 블록의 실행문이 실행, false일 경우 else 블록의 실행문이 실행
if(조건식){ 실행문; 실행문; }esle{ 실행문; }
- if - else if - else 문
- 처음 if문의 조건식의 조건문이 true일 경우 처음 if문의 블록이 실행되고, false일 경우 다음 조건식의 결과에 따라 실행 블록이 달라진다.
- else if 문의 수는 제한이 없다. 그러나 너무 많은 else if문은 실행 속도가 저하됨
(switch 문 사용으로 어느정도 대처 가능!)
- 마지막 else블록은 생략돼도 상관없다.
if(조건식){ 실행문; 실행문; }else if(조건식){ 실행문; }else{ 실행문; }
예시
>>public class Datatype{ public static void main(String[] args) { int a = 75; if(a>90) { System.out.println("점수가 90점 이상입니다."); }else if(a>80){ System.out.println("점수가 80점 이상입니다."); }else if(a>70) { System.out.println("점수가 70점 이상입니다."); }else { System.out.println("낙제 하였습니다."); } } }
점수가 70점 이상입니다.
논리 연산자
: 논리 곱( &&, & ), 논리 합( ||, | ), 배타적 논리합( ^ ), 논리 부정( ! ) 연산 수행. 피연산자가 boolean타입만 사용 가능하며 결과 또한 boolean 값.
- 논리 곱( &&, & ) : 피연산자가 모두 true일 경우에만 연산 결과가 ture
- 논리합 ( ||, | ) : 피연산자 중 하나만 true이면 연산 결과는 true이다.
- 배타적 논리합 ( ^ ) : 피연산자가 서로 다른 값일 경우만 연산 결과가 true이다.
- 논리 부정 ( ! ) : 피연산자의 논리 값을 바꾼다. true는 false로 false는 true로 바꾼다.
boolean b1 = true;
boolean b2 = false;
boolean b3 = true;
System.out.println(b1 && b2); // false
System.out.println(b1 && b3); // true
System.out.println(b1 || b2); // ture
System.out.println(b1 ^ b2); // ture
System.out.println(b1 ^ b3); // false
System.out.println(!b1); // false
System.out.println(!b2); // true
파이썬에선 &와 &&( |와 ||)는 다른 연산인데 자바에서는 어떠한 가 해서 알아보았다.
찾아본 결과, 둘의 차이점은 &, |은 결과와 관계없이 피연 사자들의 조건들을 '모두' 검사한다는 것이다.
즉, &&은 피연산자 중 하나를 검사했을 때 false가 나온다면 바로 false를 출력하고
||은 하나가 true가 나온다면 바로 true를 출력해준다라는 차이점이 있다.
삼항 연산자
- 조건식 ? 피연산자1 : 피연산자2
- 조건식의 연산 결과가 true이면, 결과는 피연산자 1이고, 조건식의 연산 결과가 false이면 결과는 피연산자 2
int b1 = ( 5>4 ) ? 50 : 40; // 조건식이 true이므로 b1 = 50
- 피연산자 1, 피연산자 2에는 주로 값이 오지만, 경우에 따라 연산 식이 올 수 있다.
- if문으로 바꾸어 사용할 수 있다.
int b2; if (5>4) { b2 = 50; }else{ b2 = 40; }
switch 문
: 어떤 변수의 값에 따라서 문장을 실행할 수 있도록 하는 제어문
- 사용 키워드 : switch, case, default, break
- 문법
swich(변수){ case 값1 : 실행문; break; case 값2 : 실행문; break; default; }
- 예시
>>int value = 1; switch(value){ case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3 : System.out.println("3"); break; default : System.out.println("그 외의 숫자"); }
1
break를 사용하는 이유?
switch문은 해당하는 case문만 실행하는 것이 아닌 해당되는 값에 있는 case부터 전부 실행시켜준다.
그러므로 break로 멈춰주지 않는다면 나머지 문장들이 전부 실행된다.
int value = 1;
switch(value){
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3 :
System.out.println("3");
default :
System.out.println("그 외의 숫자");
}
>>
1
2
3
그 외의 숫자
반응형
'Language > Java' 카테고리의 다른 글
자바 입문하기5 - 배열 (0) | 2022.01.07 |
---|---|
자바 입문하기4 - 피라미드 만들기 (0) | 2022.01.07 |
자바 입문하기3 - 반복문 (0) | 2022.01.06 |
자바 입문하기1 - 변수와 계산 (0) | 2022.01.06 |
자바를 선택한 이유 & 강의 선택 (0) | 2022.01.06 |