본문 바로가기
Java & Kotlin/Java

6. 조건문

by heekng 2021. 1. 18.
반응형
 

JAVA 조건문에 대하여 알아보겠습니다.

조건문에는 if, else if, else로 이루어진 if문과 switch문이 있습니다.


1. if문

if문은 만약 조건식이 참인 경우, 거짓인 경우의 실행할 문장을 다르게 하는 것입니다.

1

2

3

4

5

6

7

8

9

10

11

public class Test{

public static void main(String[] args) {

if(조건식) {

실행할 문장

}else if(위 조건식이 거짓인 경우의 조건식) {

실행할 문장

}else {

위에 존재하는 조건식이 모두 거짓일 때 실행할 문장

}

}

}

위와같이 코드를 작성하며, 항상 if로 시작하여 if의 조건식이 거짓인 경우엔 else if의 조건식을 확인하며 조건식들이 모두 거짓일 때에는 else를 자동으로 수행하게 됩니다.

또한, else if는 몇개던지 추가하여 이용할 수 있습니다.

if문의 예시)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public class Test{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("숫자를 입력해주세요.");

int a = sc.nextInt();

if(a<10) {

System.out.println("A");

}else if(a>=10 && a<20) {

System.out.println("B");

}else if(a>=20 && a<30) {

System.out.println("C");

}else {

System.out.println("D");

}

}

}

위의 코드는 입력한 숫자가 10미만일 때에는 A를 10이상 20미만일 때에는 B, 20이상 30미만일 때에는 C, 그 이외의 수는 D를 출력하는 코드입니다.

실제 실행한 경우에 23을 입력했을 때 C가 정상적으로 출력됨을 확인할 수 있습니다.


2. switch문

switch문은 하나의 변수에 들어간 값을 가지고 값에 해당하는 문장을 수행하는 조건문입니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

public class Test{

public static void main(String[] args) {

switch (확인할 값) {

case 경우1:

수행할 문장

break;

case 경우2:

수행할 문장

break;

case 경우3:

수행할 문장

break;

default:

수행할 문장

break;

}

}

}

다음과 같이 확인할 값이 들어있는 변수를 swith()안에 입력하고 case를 이용하여 그 값이 해당하는 조건식의 수행문장을 입력해줍니다. default는 if문의 else와 같이 위의 case에 모두 해당하지 않을 때에 수행하는 것입니다.

switch문의 주의할 점은 각각의 경우마다 break;를 작성하여 수행문장의 끝을 알려주어야 한다는 점입니다.

만약 break;를 작성하지 않고 switch문을 이용한다면 아래 또다른 case가 있더라도 무시하고 break;가 존재하는 모든 문장을 수행합니다.

break;을 이용하지 않은 예시)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

public class Test{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int a = sc.nextInt();

switch (a) {

case 1:

System.out.println(1);

break;

case 2:

System.out.println(2);

case 3:

System.out.println(3);

break;

default:

System.out.println("그외");

break;

}

}

}

위의 코드는 정수를 입력받고 그 정수가 1일때 1을 출력, 2일때 2를 출력, 3일때 3을 출력, 그 외의 경우에는 "그외"라는 문장을 출력하는 코드입니다.

하지만 case 2:에서 break;을 적지 않았고, 실제로 실행하였을 때

위와 같이 2을 입력하여 2만 출력되어야 함에도 2를 출력, break;가 없기 때문에 3까지 출력하고 break;을 만나서 switch문이 멈추게 됩니다.

결국 switch문의 가장 주의할 부분은 case마다 break;을 걸어주어야 한다는 것입니다.

switch문의 예제)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

public class Test{

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

System.out.println("점수를 입력해주세요"); // 점수의 등급 정하기

int a = sc.nextInt(); // 점수 입력받기

int b = a/10; // 점수를 10으로 나누어 1의자리를 없애 b에 넣기

 

switch (b) { // b를 확인한다.

case 10: // b가 10일 때

System.out.println("A");

break;

case 9: // b가 9일 때

System.out.println("B");

break;

case 8: // b가 8일 때

System.out.println("C");

break;

case 7: // b가 7일 때

System.out.println("D");

break;

default: // 그 외에

System.out.println("F");

break;

}

}

}

점수를 입력받아 100점일 때 A, 90점대일 때 B, 80점대일 때 C, 70점대일 때 D, 그 외의 점수엔 F를 출력하는 switch문을 이용한 코드입니다.

다음과 같이 83점을 입력하였을 때 C가 정상적으로 출력됨을 확인할 수 있습니다.

이상으로 if문과 switch문에 대하여 알아보았습니다.

반응형