오늘은 그다지 복습할 거리가 없다...
조건문과 반복문으로 들어갔는데, 파이썬으로 코딩할때도 느낀거지만 조건, 반복문은 그냥 많이 풀어보고 다른 사람 코드 연구 많이 해보는게 답이다.
import java.util.Random;
public class ex35 {
public static void main(String[] args) {
//연습문제 17 - 조건문 연습
//오늘의 날씨예측에 따른 출력문을 작성해 봅시다.
//랜덤수를 0 ~ 4까지 발생시켜
// 0 이면 "맑음"
// 1 이면 "흐림"
// 2 이면 "비가 옴"
// 3 이면 "눈이 옴"
// 4 이면 "안개가 낌" 이라고 출력하시오.
Random rand = new Random();
int weather = rand.nextInt(5); //0~4
if( weather == 0 ){
System.out.println("맑음");
}else if( weather == 1 ){
System.out.println("흐림");
}else if( weather == 2 ){
System.out.println("비가 옴");
}else if( weather == 3 ){
System.out.println("눈이 옴");
}else if( weather == 4 ){
System.out.println("안개가 낌");
}else{
System.out.println("그외의 날씨입니다.");
}
//연습문제 18 - 조건문 연습
//철수와 영희을 주사위게임을 하고 있다.
//주사위 2개를 철수가 한번 던지고,
//영희가 또 한번 던진다.
//게임룰 : 첫번째 주사위는 십의 자릿수로하고,
// 두번째 주사위는 일의 자릿수로 해서,
// 더 높은 점수를 가진 사람이 승리한다.
//출력값 예시 : 철수 주사위1 수 : 1
// 철수 주사위2 수 : 3
// 철수의 점수는 13
// 영희 주사위1 수 : 3
// 영희 주사위2 수 : 4
// 영희의 점수는 34
// 영희 승!
int dice1 = rand.nextInt(6) + 1;
int dice2 = rand.nextInt(6) + 1;
int scoreCholsu = dice1 * 10 + dice2;
int dice3 = rand.nextInt(6) + 1;
int dice4 = rand.nextInt(6) + 1;
int scoreYounghee = dice3 * 10 + dice4;
System.out.println("철수 주사위1:" + dice1);
System.out.println("철수 주사위2:" + dice2);
System.out.println("철수 점수:"+scoreCholsu);
System.out.println("영희 주사위1:" + dice3);
System.out.println("영희 주사위2:" + dice4);
System.out.println("영희 점수:"+scoreYounghee);
if( scoreCholsu > scoreYounghee ) {
System.out.println("철수 승");
} else if( scoreCholsu < scoreYounghee ) {
System.out.println("영희 승");
}else{
System.out.println("무승부!");
}
}
}
switch문.
if문과 더불어 쓰이는 조건문.
형식:
switch (정수형 변수) {
case 정수값1;
수행문1
break;
case 정수값 2;
.
.
.
.
default:
수행문
break;
}
오직 정수형 변수만을 입력값으로 받을수 있으니까 주의!
switch : switch문 시작할때 사용.
case : 각각의 조건을 나타냄. 만약 i ==3 이라는 조건을 원한다면 그냥 case 3 : 이라고 표현함.
break : case절의 수행을 멈추고 빠져나고 싶을때 사용
default : 정해진 조건 외의 모든 경우에 사용.
' : ' 이 사용되는 명령어. 우리가 일반적으로 무언가를 설명할때 "집 : 먹고 자는 곳" 이런 식으로 표현하듯, "4가 만족됨 : 수행문을 실행" 과 같이 직관적으로 이해하면 된다.
import java.util.Random;
public class ex36 {
public static void main(String[] args) {
//조건문 - 선택적 수행 - if문 switch문
// 사용빈도 70% 30%
//switch문 형식
// switch( 정수형변수 ) {
// case 정수값1:
// 수행문1;
// break;
// case 정수값2:
// 수행문2;
// break;
// default:
// 수행문3;
// break;
// }
// switch 예약어 : switch문을 시작할때 사용
// case 예약어 : 각각의 조건을 나타낼때 사용
// break 예약어 : case절의 수행을 멈출때 사용
// default 예약어 : 그외의 모든 경우에 사용
int i = 10;
switch ( i ) {
case 10:
System.out.println("i값은 10입니다.");
break;
case 20:
System.out.println("i값은 20입니다.");
break;
default:
System.out.println("그외의 값입니다.");
break;
}
//연습문제 19 - switch 연습
//달을 나타내는 랜덤수 1~12까지의 정수를 발생시켜,
//3,4,5이면 봄
//6,7,8이면 여름
//9,10,11이면 가을
//12,1,2이면 겨울 이라고 출력하시오.
Random rand = new Random();
int month = rand.nextInt( 12 ) + 1;
switch ( month ) {
//break문이 없으면, 아래 case로 흘러간다.
case 3: case 4: case 5:
System.out.println("봄입니다.");
break;
case 6, 7, 8: //Java 14버전부터 가능함. 주의!
System.out.println("여름입니다.");
break;
case 9: case 10: case 11:
System.out.println("가을입니다.");
break;
case 12: case 1: case 2:
System.out.println("겨울입니다.");
break;
default:
System.out.println("그외의 달입니다.");
break;
}
//*중괄호를 이용하는 예약어
// class, 함수(main), 조건문(if,switch),
// 반복문(for,while,do-while), 배열초기화
//*그외는 평문 실행문에는 끝에 세미콜론을 붙인다.
//*중괄호 시작과 끝에는 세미콜론을 붙이지 않는다.
// 예) if(i==10) {; <-붙이지 않는다.
// }; <-붙이지 않는다.
}//main함수
}//class
import java.util.Random;
public class ex37 {
public static void main(String[] args) {
//연습문제 20 - switch문 연습
//애완견 똘이를 기쁘게 해줄 애완용 로봇을 프로그램해보자.
// 코드 0를 입력하면 음악을 틀어준다.
// 코드 1 : 간식을 준다.
// 코드 2 : 주인의 영상을 틀어준다.
// 코드 3 : 산책을 시켜준다.
// 그외의 코드 : 잘못된 코드입니다. 출력
//랜덤수(코드)를 0~5까지 발생시켜, 코드에 맞는 출력문을
//작성하시오.
Random rand = new Random();
int code = rand.nextInt(6);
switch (code) {
case 0:
System.out.println("음악을 틀어준다");
break;
case 1:
System.out.println("간식을 준다");
break;
case 2:
System.out.println("주인의 영상을 틀어준다");
break;
case 3:
System.out.println("산책을 시켜준다");
break;
default:
System.out.println("잘못된 코드입니다");
break;
}
}
}
'공부 > java' 카테고리의 다른 글
자바(java)의 문자열 관련 함수 (1) | 2022.11.22 |
---|---|
자바(java)의 반복문(2) : 다양한 형태의 반복문 (0) | 2022.11.21 |
자바(java)의 연산자(연산 기호) (0) | 2022.11.17 |
자바(java)의 변수와 상수 (0) | 2022.11.15 |
자바(java)의 main함수 (0) | 2022.11.15 |