<조건문>
- 조건식을 통해 참, 거짓 이냐를 판단해서 그에 해당하는 코드 실행
- 조건식의 결과는 항상 true/false여야함.
보통 조건식에서는 비교연산자(대소,동등), 논리연산자(&&,||)을 주로
사용한다.
- 조건문은 크게 if문( 단독if, if~else, if ~eles if, 중복 if)과 switch문으로 나뉜다.
1. 단독 if문
[표현법]
if(조건식) {
조건식이 true일때 실행되는 코드
}
=> 조건식의 결과가 참(true)일 경우 중괄호 블럭 안의 코드가 실행
=> 조건식의 결과가 거짓(false)일 경우 중괄호 블럭은 무시하고 넘어감.
사용자에게 정수값을 입력받은후 "양수다" “양수가 아니다”를 출력
public void method1() {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요 : ");
int num = sc.nextInt();
System.out.println(num > 0 ? "양수다" : "양수가 아니다");
//삼항연산자를 if문으로 바꾸기
if(num > 0) {
System.out.println("양수다");
}
if(num <= 0) { // 실행될 필요가 없는 조건이지만 jvm은 if문을 만나면 무조건 조건검사함.
System.out.println("양수가 아니다");
}
}
2. if ~ else 문
if(조건식) {
조건식이 true라면 실행될 코드
} else {
if문의 조건식이 false라면 실행될 코드
}
public void method2() {
Scanner sc = new Scanner(System.in);
System.out.print("정수를 입력하세요 : ");
int num = sc.nextInt();
System.out.println(num > 0 ? "양수다" : "양수가 아니다");
//삼항연산자를 if문으로 바꾸기
if(num > 0) {
System.out.println("양수다");
}
else { // 실행될 필요가 없는 조건이지만 jvm은 if문을 만나면 무조건 조건검사함.
System.out.println("양수가 아니다");
}
}
3. if ~ else if문
* 같은 비교대상으로 여러개의 조건을 제시해야할 경우 사용
* if(조건식1) { // 조건식1이 트루라면 실행코드1을 실행시키고 if블록 종료
//실행코드1
} else if (조건식 2){ // 조건식2이 트루라면 실행코드2을 실행시키고 if블록 종료
실행코드2
} else if (조건식 3) { // 조건식3이 트루라면 실행코드3을 실행시키고 if블록 종료
실행코드3
} else { // 위 모든 조건이 false인 경우 자동으로 실행.
실행코드4
}
public void method3() {
Scanner sc = new Scanner(System.in);
System.out.print("정수 : ");
int num = sc.nextInt();
if(num > 0) {
System.out.println("양수다");
} else if(num == 0) {
System.out.println("0이다");
} else{
System.out.println("음수다");
}
}
4. String result = “”; (1)
// 사용자가 입력한 나이값을 가지고 어린이/청소년/성인을 출력
// if else if문으로 만들어주기
public void method4() {
Scanner sc = new Scanner(System.in);
System.out.print("나이를 입력하세요 : ");
int age = sc.nextInt();
// 어린이(13세이하), 청소년은 (13세초과~ 19세이하), 성인(19세 초과)
if( age <= 13) {
System.out.println("어린이");
} else if(age <= 19) {
System.out.println("청소년");
} else /* if(age > 19) */{
System.out.println("성인");
}
// 다른방법으로 풀기 -> 어린이, 청소년, 성인에 대한 값을 담아두고 마지막에 출력하기
String result = ""; // 박스를 먼저 만들어두고 값을 대입하기(초기화 과정 필수)
if( age <= 13) {
result = "어린이";
} else if(age <= 19) {
result = "청소년";
} else if( age > 19) {
result = "성인";
}
// 해당블럭안에서 선언된 변수는 해당블럭이 끝나면 자동으로 사라진다.
System.out.println(result);
}
5. String result = “”; (2)
public void method5() {
Scanner sc = new Scanner(System.in);
//사용자에게 이름, 성별을 입력받아 남자인지 여자인지 출력해볼 예정
System.out.print("이름 : ");
String name = sc.nextLine();
System.out.print("성(M/F) : ");
char gender = sc.nextLine().charAt(0);
String result;
if(gender == 'm' || gender == 'M') {
result = "남학생";
}
else if(gender == 'f' || gender == 'F') {
result = "여학생";
}else {
// return이라는 녀석을 이용
//result = "잘못입력하셨습니다.";
return; // 현재 호출된 일반메소드를 빠져나가는 역할을 한다.
}
// xxx님은 xxx이다.
System.out.println(name+"님은 "+result+"이다");
}
'JAVA' 카테고리의 다른 글
[자바] switch문과 if문 차이점, switch문 표현법 및 활용 (1) | 2023.04.04 |
---|---|
[자바] 조건문 문자열.equals(문자열)(문자열간의 동등비교,기본자료형,참조자료형),조건문 중복 사용(2) (0) | 2023.03.31 |
[자바] 논리연산자 및 유니코드, dead코드 활용법 (0) | 2023.03.30 |
[자바] 비교연산자, 관계연산자 계산해보기 (0) | 2023.03.29 |
[자바] 변수2,연산자1(printf,산술,증감,복합,논리부정,비교연산자) (0) | 2023.03.29 |