Practice makes perfect
[JAVA] 조건문(If , Switch) 본문
if 문 : 특정 조건이 만족될 때에만 실행하는 문장 입니다.
- 괄호 안에는 boolean 값만 올 수 있습니다.
- 괄호안에 true 값이 오면 조건을 계산하고(실행 O) ,false 가 나오면 조건들을 건너뛰게 된됩니다.(실행 X).
- 괄호안에 true or false 직접적으로 넣지 않고 비교연산자 또는 논리연산자를 넣어서 변수의 값을 컴퓨터가 계산하게
합니다. (결과 값 : boolean)
● if문
public class IfBasic {
public static void main(String[] args) {
int num1 = 47 , num2 = 38; // 변수 선언 및 초기화
int result = 0;
result = (num1 * num1 * num2 * num2) / (num1 - num2);
if (result>50000) {
System.out.println("실행 결과 값이 50000 이상입니다." );
System.out.println("결과값:"+result);
System.out. println("결과 값 출력 후 프로그램 종료...");
result>50000 값이 true 가 나오면 뒤의 조건을 수행한다
● if 문과 else
if 문에서 true이 나왔을 때, if 문의 조건을 수행하고, false가 나왔을 때, else 문을 수행합니다.
package 조건문;
public class 조건문{
public static void main(String[] args) {
int num = 39;
if(num % 2 == 0) {
System.out.println("값은 짝수입니다."); // true 일때, 조건 수행
}else {
System.out.println("값은 홀수입니다."); // false 일때, 조건 수행
}
System.out.println("프로그램을 종료합니다.");
% 앞에 값을 뒤에서 나눈다음 나머지를 출력해준다는 뜻과 정수일 때만 의미가 있습니다.
num % 2 == 0 의 의미는 2배수 즉 짝수를 의미하며, 나머지가 1이 나올때 홀수 의미합니다.
● if 문과 else 심화
package 조건문;
public class 조건문 {
public static void main(String[] args) {
int birth = 1992; int age = 0;
age = 2020 - birth + 1;
System.out.println("당신의 나이는"+age+"살 이군요.");
if(age < 10) {
System.out.println("10대 미만입니다.");
}else { // age >= 10
if(age < 20) { // 10<= age < 20
System.out.println("10대 입니다.");
}else { // age >= 20
if(age < 30) { // 20<= age <30
System.out.println("20대 입니다.");
}else {
System.out.println("30대 이상입니다.");
위의 식을 가독성이 좋게 편집하보겠습니다. ( else if의 형태로 편집)
if(age < 10){
System.out.println("10대 미만입니다.");
}else if(age < 20){ // 10<= age < 20
System.out.println("10대 입니다.");
}else if(age < 30){ // 20<= age <30
System.out.println("20대 입니다.");
}else {System.out.println("30대 이상입니다.");
● 삼항 연산자/조건연산자(? : - 피연산자가 3개 )
- ? 앞에는 boolean 의 값만 올 수 있습니다.
- 직접적으로 true ,false 를 넣는 것이 아닌 비교연산자, 논리연산자를 넣습니다.
- true의 값 조건 : false의 값 조건을 수행 합니다.
- 간단한 형태의 결과를 빠르게 받아보고 싶을 때 사용합니다.
public class CondOp {
public static void main(String[] args) {
int num1 = 50, num2 = 100;
int big = 0, diff = 0;
big = (num1 > num2)? num1:num2 ;
diff = (num1 > num2)?num1 - num2:num2 - num1;
System.out.println("큰 값:"+big+", 두 값의 차:"+diff);
// 출력 값 : 큰 값:100, 두 값의 차:50
switch 문 : 조건에 따라서 실행시킬 코드를 구분 합니다.
- num의 경우의 수를 case문 안에 명시합니다. 조건을 체크해서 경우의 수에 맞추어 정의해서 사용합니다.
- case , break 와 항상 함께 사용합니다. break의 의미는 수 일치 문을 벗어남을 말합니다.
- break; 를 넣지 않으면 맞는 조건 이후의 조건들을 모두 수행해서 출력해줍니다.
- default 값은 넣어도 되고 넣지 않아도 문제가 되지 않습니다.
● switch문
switch(num) {
case 1:
System.out.println("정수의 값은 1이에요.");
System.out.println("Good Morning, Java!");
break;
case 2:
System.out.println("정수의 값은 2이에요.");
System.out.println("Good Afternoon, Java!");
break;
case 3:
System.out.println("정수의 값은 3이에요.");
System.out.println("Good Evening, Java!");
break;
default:
System.out.println("정수의 값은 1~3이외의 값이에요.");
System.out.println("Hello, Java!");
break;
● switch 문 간략하게 정리하기 / 7번전 이후 문자 입력이 가능해졌다.
String name1 = "세종대왕";
switch(name1) {
case "김유신": case "홍길동": case "세종대왕": // 중복되는 값이므로 가능
System.out.println("제 이름은 "+name1+" 입니다.");
break;
default:
System.out.println("이름을 알 수 없습니다.");
break;
// case , break 와 항상 함께 사용된다. break의 의미는 수 일치 문을 벗어나라는 것이다.
// break; 를 넣지 않으면 맞는 조건 이후의 조건들을 모두 수행해서 출력해준다.
// default 값은 넣어도 되고 넣지 않아도 문제가 되지 않는다.
// 위의 swich문 간략하게 편집하기
// 위의 swich문 간략하게 편집하기
'빅데이터 > JAVA' 카테고리의 다른 글
[JAVA] METHOD (0) | 2020.04.25 |
---|---|
[JAVA] 반복문(While문, Do While문, For문) (0) | 2020.04.25 |
[JAVA] 자료형변환(Type Casting) (0) | 2020.04.22 |
[JAVA] 연산자 (Operator) (0) | 2020.04.21 |
[JAVA] 상수(literal) (0) | 2020.04.21 |