-
[Java-23] 자바 조건문, 반복문Java 2020. 12. 4. 17:26
Java 조건문과 반복문
조건문
If 문
if문은 java든, 아니든 코드를 작성하면서, java가 이 코드를 실행을 할지 안할지 결정할 수 있게 해주는,
프로그래밍 언어에서는 필 수적은 조건문 이라고 할 수 있다.간단한 예를 들어보자
if(true){ //실행 되는 코드 } if(str == null) { str = "helloWorld"; }
다음과 같은 코드에서 str 변수가 정말로 null값을 가지고 있다면,
실제로 { } 안에 있는 문법이 실행이 되는 것이다. 이런 간단한 if문은 다시if(str == null) str = "HelloWorld";
이런식으로 { }을 작성해주지 않아도 알아서 잘 작성하는 걸 볼수 있다.
else 문
if문 에서는 else 라는 keyword를 지원한다. else 문을 사용하면,
즉 if문을 통과하지 못했을때 의 상태에서 실행이 된다는 뜻이다. 예를들어보자int x = 3; if(x == 3){ System.out.println("x 의 값은 3입니다. "); }else{ System.out.println("x 의 값은 3이 아닙니다. "); }
x의 값이 3이면 if문을 정상적으로 통과할 것이다. 하지만 3이 아니라면 else문의 { } 을 실행한다.
else if 문
if문에서는 한가지의 조건만 걸 수 있는 것이 아니라 ,
다중 조건도 걸 수 있다. elseif 를 사용하면 된다.if(x == 5){ System.out.println("x = 5"); }else if(x == 3) { System.out.println("x = 3"); }else{ System.out.println("I dont know");
switch 문
if문 은 간단하게 사용할 수 있지만 만약, 브렌치 (여러가지 조건이 걸려서 if문이 나뭇가지 처럼 이어지는 상황) 은, 코드입장에서 항상 좋은 결과각 될 수 없다.
int x = 3; int y = x; if(x == 5){ System.out.println("x = 5"); if(x == 0){ System.out.println(x); if(x == y){ System.out.println("x is y"); } } }else if(x == 3) { System.out.println("x = 3"); }else{ System.out.println("I dont know"); }
이런코드는 가독성 면에서, 유지보수 측면에서도 좋은 효과를 가져올 수 없다.
case 사용법
switch (x){ case 3: System.out.println(x); //x 가 3일 때 실행 break; case 6: System.out.println(x); //x 가 6일 때 실행 break; case 7: System.out.println(x); //x 가 7일 때 실행 break; default: System.out.println(x); //x 가 모든 조건에 만족 하지 않음 break; }
간단하게 이런식으로 사용할 수 있다. case 문 안에서는 조건을 걸어주고 그 밑에 실행하고 싶은
코드를 작성해주면 그만이다.case 조건
break 종료
default 모든조건을 만족시키지 못했을 떄 실행switch (x) { case 3 -> System.out.println(x); //x 가 3일 때 실행 case 6 -> System.out.println(x); //x 가 6일 때 실행 case 7 -> System.out.println(x); //x 가 7일 때 실행 default -> System.out.println(x); //x 가 모든 조건에 만족 하지 않음 }
java13 이 후 부터는 다음과 같이 람다 형태로도 사용할 수 있는데,
이는 switch문이 아니라 switch Operator 이란걸 알아 둬야 한다.반복문
반복문은 말 그대로 일정한 기간동안 계속해서 작성한 코드를 실행시키는 문법이다.
그 종류에는 대표적으로 for, while, dowile, forEach 같은 여러가지 방법이 있는데, 오늘
다뤄볼 문법은 for 와 while, dowhile 에 대해서 다뤄보도록 하겠다.
for 반복문
만약 우리가 C언어 를 배웠다면, 아주쉽게 작성할 수 있을 것이다. 간단한 예를 한번 들어보고 분석해보도록 하자
for(int i = 0; i< 10; i++){ System.out.println(i); }
이런 문법이 있다고 하자, i = 0 으로 먼저 선언을 진행을 해주고, 이 i가 10보다 작을 때 까지만 진행을 하겠다.
라는 뜻이다. 이러면 i 라는 variable 9가 될 때 까지 실행 한다. 출력문을 보면결과 console
0
1
2
3
4
5
6
7
8
9
이중 for문 도 가능하게 된다.
for(int i = 0; i< 10; i++){ System.out.println("i = " + i); for(int j =0; j<8; j++){ System.out.println(j); } }
이런식으로 작성이 가능하게 된다. for문이 쓰기 귀찮다면 선장님께서 알려준 개꿀팁을 사용해볼 수 있도록 하자.
itar
이클립스에서도 될지 모르겠지만 만약 소스코드를 작성하다가 itar를 한번 적어보자 그러면, IDE 가
자동으로 for 문을 작성해준다.
while 문
while 문 또한 코드를 반복적으로 작동시키기 위한 정말 기본적인 문법 중 하나이다. 사용하는 법은 간단하다.
while(연산식){ //실행시키고 싶은 코드 }
이를 for문처럼 사용하기 위해서는 어떻게 작성하는게 좋을 까? 방금 작성한 for문을 통해 i를 9까지 작성하는 코드를 while 문을 통해 작성해보도록 하자.
int i = 0; while( i < 10){ System.out.println(i); i++; }
이런식으로 작성할 수 있다. 나느 개인적으로 while 문 보다는 for문을 많이 작성하고는 하는데, while문을 보면 좀 더 깔끔해 보이긴 한다. 이런 간단한 연산식에선 말이다.
do while 문
do while 문의 특징은, do 라는 글자에서도 알 수 있듯이, 무조건 한번은 실행을 해야한다는 뜻이다.
예를 들어보다int i = 0; while( i > 10){ System.out.println(i); i++; }
다음과 같은 문장이 있다고 하자 과연 i 출력 이 실행 될까? 절대 실행되지 않는다. >
while( expression) 에서 expression의 조건이 충족되지 않기 때문에 당연하자 하지만,int i =0; do{ System.out.println(i); i++; }while (i>10);
이러면 단 한번은 출력이 된다느 것이다.
결과 console
0오늘은 코드위주로 조건문과 반복문에 대해서 알아보도록 했다.
'Java' 카테고리의 다른 글
[Java-25] 클래스 & 내부클래스 & 익명클래스 (0) 2020.12.09 [Java-24] junit 추가하는법, 간단 사용법 (0) 2020.12.04 [Java-22] 자바13 스위치, java13 switch 연산 (0) 2020.11.27 [Java-21] 화살표 연산자 (->) 그리고 람다 원리 (1) 2020.11.27 [Java-20] 자바 연산자 우선순위 (0) 2020.11.27