제어문
조건식과 중괄호{ }블록으로 구성. 조건식의 연산 결과에 따라 내부의 실행 여부 결정.
제어문 블록 내부에는 또 다른 제어문을 사용할 수 있음.
조건문
if문, switch문
if문
1)조건식 - 연산식 (true, false값을 산출할 수 있는) / boolean변수
조건식의 결과에 따라 { }블록 실행 여부가 결정됨.
true이면 { }블록을 실행하고,false이면 실행하지 않음
중괄호 { }블록 내에 실행문이 하나밖에 없다면 중괄호 생략 가능
(가독성이 좋지 않고, 버그 발생의 원인이 될 수 있으니 추천x)
2) else블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택할 수 있음
* switch
1) 괄호 안의 변수값에 따라 해당 case로 가서 실행문을 실행시킴.
2) case 끝에는 break를 해줘야 swtich문을 빠져 나갈 수 있음.
3) 변수 값과 동일한 값을 갖는 case가 없으면 default로 가서 실행문을 실행시킴. default문이 필요 없다면 생략 가능
4) switch() 괄호 안에는 byte, short, char, int, String 가능, Long type은 사용 불가
int score =(int)(Math.random()*20)+81; // 81< <101
System.out.println("점수:" +score);
String grade;
if(score>=90) {
grade = "A";
if(score>=95) {
grade+="++";
}
}else {
grade ="B";
if(score>=85) {
grade+="++";
}
}
System.out.println("등급:" + grade);
* Calender 객체명 = Calendar.getInstance()
1) 시스템의 현재 날짜와 시간정보를 얻기 위해 getinstance()메서드 사용
2) 객체가 갖고 있는 날짜 시간 정보는 get()메소드를 이용하여 사용.
3) import java.util.Calendar 와 함께 사용.
4) 월을 상수 0으로 대응이 되므로 실제 월을 구할때는 +1을 해주어야 함
Calendar cal ;
cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH); //1월인 경우0, 2월인 경우1
System.out.println("현재" + (month + 1) +"월입니다");
if(month < 6) {
System.out.println("상반기");
}else {
System.out.println("하반기");
}
if(month+1==1) {
System.out.println("1월");
}else if(month+1==2) {
System.out.println("2월");
}else if(month+1==3) {
System.out.println("3월");
}else if(month+1==4) {
System.out.println("4월");
}else if(month+1==5) {
System.out.println("5월");
}else {
System.out.println("그외의 달");
}
public class Condition {
public static void main(String[] args) {
java.util.Scanner sc;
sc=new java.util.Scanner(System.in); //키보드와 연결작업
//if
if(true) {}
System.out.print("년도를 입력하세요:");
//2023; 참조형과 기본형은 형변환 자체 불가하므로 강제형변환도 안됨. String->int로 바꾸는 변환 메소드: int value = Integer.parseInt(String);
int year= Integer.parseInt(sc.nextLine());
if(year%2==0) {
System.out.println("짝수해입니다");
}
System.out.println("시간을 입력하세요:");
int hour = Integer.parseInt(sc.nextLine()); //15;
//if else
if(hour<12) {
System.out.println("오전");
}else {
System.out.println("오후");
}
//if elseif
System.out.println("월을 입력하세요:");
int month = Integer.parseInt(sc.nextLine());//5;
//1분기 : 1~3
//2분기 : 4~6
//3분기 : 7~9
//4분기 : 10~12
if(month >=1 && month <= 3) {
System.out.println("1분기");
}else if(month <= 6) {
System.out.println("2분기");
}else if(month <= 9) {
System.out.println("3분기");
}else if(month <= 12) { //else
System.out.println("4분기");
}else {
System.out.println("잘못 입력되었습니다");
}
System.out.println("점수를 입력하세요:");
int score = Integer.parseInt(sc.nextLine());
//100~90점 인경우 A
//89~80점인 경우 B
//79~70점인 경우 C
//69~60점인 경우 D
//60점 미만인 경우 F
if (score >= 90 && score <=100 ) {
System.out.println("A");
}else if(score >= 80){
System.out.println("B");
}else if(score >= 70){
System.out.println("C");
}else if(score >= 60 ){
System.out.println("D");
}else {
System.out.println("F");
}
//임의의 수(난수)
// for(int i=0; i<10; i++) {
// int r= (int)(Math.random()*3)+1; //1<= r<4
// System.out.println(r);
// }
//
System.out.println("가위바위보");
System.out.println("가위-1, 바위-2, 보-3을 입력하세요");
int u= Integer.parseInt(sc.nextLine()); //ex)1 가위
int r= (int)(Math.random()*3)+1; //1<=4 //eX)2 바위
System.out.println("사용자:" +u + ", 컴퓨터:" + r);
if(u ==r) {
System.out.println("비겼습니다");
}else if(u<1 || u>3) {
System.out.println("잘못입력했습니다");
}else if(u -r %3 == 1) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
if(u == r) {
System.out.println("비겼습니다");
}else if(u<1 || u>3) {
System.out.println("잘못입력하셨습니다");
}else if((u==1 && r==3) || (u==2 && r==1) || (u==3 && r==2)) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
if(u == r) {
System.out.println("비겼습니다");
}else if(u<1 || u>3) {
System.out.println("잘못입력하셨습니다");
}else if(u == 1) {
if(r == 3) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}else if(u == 2) {
if(r == 1) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}else if(u == 3) {
if(r == 2) {
System.out.println("이겼습니다");
}else {
System.out.println("졌습니다");
}
}
switch(month) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("상반기");
break;
default:
System.out.println("하반기");
break;
}
//----------------------------------
switch(month+1) {
case 1:
System.out.println("1월");
break;
case 2:
System.out.println("2월");
break;
default:
System.out.println("그외의 달");
}
System.out.println("출생년도를 입력하세요:");
int birthYear = Integer.parseInt(sc.nextLine());
//년도를 12로 나눈 나머지값이 0이면 원숭이,
// 1: 닭
// 2: 개
// 3: 돼지 쥐 소 호랑이 토끼 용 뱀 말 양
//출생년도에 해당 동물을 출력하시오
switch(birthYear%12) {
case 0:
System.out.println("원숭이");
break;
case 1:
System.out.println("닭");
break;
case 2:
System.out.println("개");
break;
case 3:
System.out.println("돼지");
break;
case 4:
System.out.println("쥐");
break;
case 5:
System.out.println("소");
break;
case 6:
System.out.println("호랑이");
break;
case 7:
System.out.println("토끼");
break;
case 8:
System.out.println("용");
break;
case 9:
System.out.println("뱀");
break;
case 10:
System.out.println("말");
break;
case 11:
System.out.println("양");
break;
}
}
}
'개발 공부 > JAVA' 카테고리의 다른 글
static / 접근제어자/ getter setter/ final (KOSTA EDU) (0) | 2023.05.23 |
---|---|
반복문 - for문/ while문 (0) | 2023.05.17 |
자료형 타입/ 연산자 (1) | 2023.05.15 |
eclipse환경설정/ apache-tomcat 구현해보기(KOSTA EDU) (0) | 2023.05.12 |
JBDC (KOSTA JAVA 기반 클라우드 개발자 양성과정) (0) | 2023.05.11 |