일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 27 | 28 | 29 | 30 | 31 |
- C++
- 스포티파이
- regression
- 회원가입
- MYSQL
- Gem
- c
- SECS-II
- SECS/GEM
- python
- modern c++
- java
- 자바
- spotify
- 회귀
- 비트겟
- 프로그래머스
- Baekjoon
- SW Expert Academy
- Computer Science
- spring boot
- Spring JPA
- SECS
- SWEA
- programmers
- Spotify Api
- 파이썬
- Spring
- CS
- 백준
- Today
- Total
비버놀로지
[JAVA] 조건문 - if, switch 본문
▶제어문이란?
코드의 실행흐름이 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었찌만 때로는 조건에 따라서 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야할 떄가 있다.
이처럼 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문이라고한다.
1. 조건문 - if, switch
조건문은 조건식과 문장을 포함하는 블럭 {}으로 구성되어 있으며, 조건식의 연산결과에 따라 실행할 문장이 달라져서 프로그램의 실행흐름을 변경할 수 있다.
(1)if문
if문은 가장 기초적인 조건문이며, 구성은 아래와 같다.
if (조건식) {
조건식이 참(true)일 때 수행될 문장을 적는다.
}
else if(조건식){
위의 조건이 거짓(false)이고, 현재 조건식이 참(true)일 때 수행 될 문장이다.
}
else{
위의 모든 조건식이 참이 아닌 경우 수행될 문장을 적는다.
}
조건식에는 보통 논리 연산자, 비교 연산자가 주로들어간다.
if와 함께 따라다니는 else문이있는데 if의 조건이 true가 아닌 경우에
else문을 시행한다. if문은 독립적으로도 사용할 수도있다. 다음 예시를 보자.
public class chapter4_if_switch {
public static void main(String[] args) {
String a= "true";
int num=10;
char c='T';
if(a.equals("true")) {
System.out.println("true입니다.");
}else if(a.equals("false")) {
System.out.println("false입니다.");
}else {
System.out.println("둘다 아닙니다.");
}
if(num>10) {
System.out.println("10보다 큽니다.");
}else if(num==10) {
System.out.println("10과 같습니다.");
}else {
System.out.println("10보다 작습니다.");
}
if(c>'A'&&c<'Z') {
System.out.println("A와 Z사이에 있습니다.");
}else {
System.out.println("A와 Z사이에 없습니다.");
}
}
}
위의 코드를 보면 쉽게 이해할 수 있다. 특히 if문의 수행될 문장이 한줄인경우 블럭을{ } 생략할 수 있다. 그리고 블럭 내 문장은 tab을 통해 들여씌기를 해서 가독성을 높여주는 것이 좋다.
위와 같이 if를 활용해서 다양하게 표현 할 수 있다. 그리고 else if의 경우 여러개를 쓸 수 있다.
결과가 참인 조건식을 만날 떄까지 첫 번쨰 조건식부터 순서대로 평가한다.
그리고 참인 조건식을 만나면 , 해당 블럭의 내용을 수행하고 if문 전체를 빠져나온다.
(2) switch문
if문은 존건식의 결과가 참과 거짓, 두 가지 밖에 없기 때문에 경우의 수가 많아질수록 else-if를 계속 추가해야하므로 조건식이 많아져서 복잡해지고, 여러 개의 조건식을 계산 해야하므로 처리시간도 많이 걸린다. 이러한 if문과 달리 switch문은 단 하나의 조건식으로 많은 경우의 수를 처리할 수 있고, 표현도 간결하므로 알아보기 쉽다. 다만 switch문은 제약조건이 있기 때문에, 경우의 수가 많아도 어쩔 수 없이 if을 작성해야 하는 경우가 있다.
shich문은 다음과 같은 순서로 실행이된다.
① 조건식을 계산한다.
② 조건식의 결과와 일치하는 case문으로 이동한다.
③ 이후의 문장들을 수행한다.
④ break문이나 switch문의 끝을 만나면 switch문 전체를 빠져나간다.
swich문에는 default문이 있는데 if문의 else와 그역할이 같다고 보면 된다.
import java.util.Scanner;
public class chapter4_if_switch {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
int number=sc.nextInt();
switch(number) {
case 0:
System.out.println(number+"이 입력됬습니다.");
break;
case 1:
System.out.println("케이스 1");
System.out.println(number+"이 입력됬습니다.");
case 2:
System.out.println("케이스 2");
System.out.println(number+"이 입력됬습니다.");
case 3:
System.out.println("케이스 3");
System.out.println(number+"이 입력됬습니다.");
break;
case 4:
System.out.println("케이스 4");
System.out.println(number+"이 입력됬습니다.");
break;
default:
System.out.println("예외처리");
System.out.println("해당하는 값이 없을 경우");
break;
}
}
}
스위치의 조건식 위치에는 정수 또는 문자열이 들어가야하며
case문의 값은 정수 상수만 가능하다. 중복되지 또 중복되서는 안된다.
그리고 case문이 끝날떄마다 switch문을 나가게하는 break;를 해줘야한다.
'LANGUAGE STUDY > JAVA' 카테고리의 다른 글
[JAVA] 연산자(operator) (0) | 2021.02.26 |
---|---|
[JAVA] 형변화 (0) | 2021.02.26 |
[JAVA] 자바로 프로그램작성하기(Eclipse) (0) | 2021.01.08 |
[JAVA] 자바개발환경 구축하기(zulu 8) (0) | 2021.01.08 |
[JAVA] JDBC의 Statement 와 Prepared Statement (0) | 2020.08.23 |