자바 조건문
-
Java 020. switch - case 조건문2023.04.09
-
Java 012. 조건문을 사용한 가위 바위 보 게임2023.03.20
-
Java 008. 조건문을 사용한 성적 처리 프로그램2023.03.19
Java 020. switch - case 조건문
switch - case 조건문
switch - case문은 if - else문과 비슷한 조건 제어문이다.
하지만 switch문은 if문처럼 조건식이 true일 경우에 실행문을 실행하는 것이 아닌
변수의 값에 따라 실행문이 선택된다.
조건식의 변수의 값에 따라 해당 case위치로 이동해서 break를 만날 때 까지 코드를 실행한다.
if문은 조건식의 결과가 true, false 두 가지밖에 없기 때문에 경우의 수가 많아질수록 else - if를 반복적으로 추가해줘야하는 반면에 switch문은 변수의 값에 따라서 실행문이 결정되기 때문에 if문보다 간결하게 코드를 작성할 수 있다.
switch (조건식) { case 값 1: 실행문1; break; case 값 2: 실행문2; break; ... ... default: 실행문; } |
default는 조건식이 모든 case가 아닐때 실행한다.
case에 사용 가능한 변수 타입
- 정수 : byte, short, int, long, char
- 문자열 : String
- 열거형 자료 타입(enum)
정수를 사용한 swtich문
int n = 17;
switch (n % 2) {
case 0:
System.out.println("짝수");
break;
case 1:
System.out.println("홀수");
break;
}
실행 결과 =
홀수
*switch문에서는 실수 float, double을 사용할 수 없다.
double x = 1.0;
switch (x) {
case 1.0:
break;
case 2.0:
break;
}
문자열을 사용한 swtich문
String time = "점심";
switch (time) {
case "아침":
System.out.println("breakfast");
break;
case "점심":
System.out.println("lunch");
break;
case "저녁":
System.out.println("dinner");
break;
default:
System.out.println("snack");
}
실행 결과 =
lunch
*switch문에서는 boolean(==)을 사용할 수 없다.
enum 타입을 사용한 switch문
열거형 자료 타입인 enum(enumeration type)은 한정된 값(상수)들만 갖는 데이터 타입이다.
public enum Season {
SPRING, SUMMER, FALL, WINTER;
}
이런식으로 개발자가 정의하여 타입을 만든 것이 enum이다.
Season s = Season.WINTER;
switch (s) {
case SPRING:
System.out.println("봄");
break;
case SUMMER:
System.out.println("여름");
break;
case FALL:
System.out.println("가을");
break;
case WINTER:
System.out.println("겨울");
break;
(enum은 따로 정리를 할 예정이다.)
'language > Java' 카테고리의 다른 글
Java 022. MyBatis 오류 ReflectionException: Error instantiating class ... with invalid types ... or values ... Cause: java.lang.IllegalArgumentException (0) | 2023.06.25 |
---|---|
Java 021. 배열(Array)(1) (0) | 2023.04.09 |
Java 019. 무한 루프 while문 / switch문 / 입출금 자바 프로그램 (0) | 2023.04.09 |
Java 018. for / while 문을 사용해서 별(*) 을 삼각형으로 출력하기 (0) | 2023.04.03 |
Java 017. 이중 반복문 for / while / break (2) (0) | 2023.04.02 |
Java 012. 조건문을 사용한 가위 바위 보 게임
간단한 가위 바위 보 게임 프로그램 만들기
가위 - 0, 바위 - 1, 보 - 2
컴퓨터의 가위, 바위, 보는 난수로 만들고, (Random)
사용자의 가위, 바위, 보는 사용자에게 입력받음. (Scanner)
조건문을 사용하여 누가 이겼는 지 결과 출력하기
(computer : user)
(조건문)
컴퓨터와 유저가 낸 값이 같은 경우에 "비겼습니다." 출력.
(조건문)
유저가 낸 값과 컴퓨터가 낸 값의 경우를 비교하여 유저가 이겼는지 컴퓨터가 이겼는지를 출력.
값이 같은 경우의 조건문은 따로 해주고, 나머지 경우는 if else문으로 작성해주었다.
(조건문)
컴퓨터와 유저가 낸 값이 같은 경우와 다른 경우를 if - else문으로 한꺼번에 작성.
(조건문)
내가 처음에 쓴 코드와 비슷.
(조건문)
조건문에 논리연산자를 사용해서 작성. (확실히 코드가 줄어들었음.)
int 타입의 diff 변수에 user - computer를 저장.
user - computer == 0 일 경우에 "비겼습니다." 출력.
user - computer == - 2 또는 user - computer == 1 이면 "user가 이겼습니다" 출력.
그 외는 "computer가 이겼습니다." 출력.
user가 1(바위)를 내고 computer가 0(가위)를 낼 경우
1 - 0 = 1 이기때문에 user가 이김.
'language > Java' 카테고리의 다른 글
Java 014. 반복문 예제 구구단 / 정수 출력 (0) | 2023.03.31 |
---|---|
Java 013. 반복문(iteration statements) for문 (0) | 2023.03.29 |
Java 011. 조건문과 난수2 (0) | 2023.03.20 |
Java 010. 조건문과 난수1 (0) | 2023.03.20 |
Java 009. 조건문과 논리 연산자 (0) | 2023.03.19 |
Java 008. 조건문을 사용한 성적 처리 프로그램
성적 처리 프로그램
Scanner로 입력값을 받고, if문으로 출력해보는 간단한 성적 처리 프로그램 만들기.
Scanner 클래스를 사용해서 세 과목(JAVA, SQL, HTML)의 점수를 입력받고 변수에 저장한다.
세 과목의 총점과 평균을 계산하고 출력한다.
total 변수의 타입이 int이고, 3도 int이기 때문에 3을 3.0으로 바꿔주거나, (double average = total / 3.0;)
total 변수 앞에 double 타입을 캐스팅하여 total을 실수로 바꿔준다.(double average = (double)total / 3;)
if문을 사용해서 학점(A, B, C, D, F)를 출력한다.
세 과목의 평균이 90 이상이거나 같을때 "A" 출력.
세 과목의 평균이 80 이상이거나 같을때 "B" 출력.
세 과목의 평균이 70 이상이거나 같을때 "C" 출력.
세 과목의 평균이 60 이상이거나 같을때 "D" 출력.
위 네개의 조건에 맞지 않으면(else) "F" 출력.
'language > Java' 카테고리의 다른 글
Java 010. 조건문과 난수1 (0) | 2023.03.20 |
---|---|
Java 009. 조건문과 논리 연산자 (0) | 2023.03.19 |
Java 007. 조건문(conditional statement) if문 (0) | 2023.03.19 |
Java 006. 연산자(operator) (0) | 2023.03.19 |
Java 005. Scanner를 사용한 변수 저장 (0) | 2023.03.19 |