연산자
산술 연산자
연산자 시작
+, - , * , / 와 같이 계산을 수행하는 기호를 연산자라고 함.
연산자 종류
- 산술 연산자 : +, - , * , / , % (나머지 연산자)
- 증감(증가 및 감소) 연산자: ++, --
- 비교 연산자 : == , != , >, < , >=, <=
- 논리 연산자 : &&(AND), ||(OR), !(NOT)
- 대입 연산자 : = , +=, -=, *=, /= , %=
- 삼항 연산자: ? :
연산자와 피연산자
// 연산자: 연산 기호 + , -
// 피연산자: 연산 대상 3, 4, a, b
3 + 4
a + b
- 연산자(operator): 연산 기호
- 피연산자(operand): 연산 대상
산술 연산자
- + (더하기)
- - (빼기)
- * (곱하기)
- / (나누기)
- % (나머지)
package operator;
public class Operator1 {
public static void main(String[] args) {
int a = 5;
int b = 2;
int sum = a + b;
System.out.println("a + b = " + sum);
int diff = a - b;
System.out.println("a - b = " + diff);
int mul = a * b;
System.out.println("a * b = " + mul);
int div = a / b;
System.out.println("a / b = " + div);
int mod = a % b;
System.out.println("a % b = " + mod);
}
}
- 나머지 연산자(%)
- 이름 그대로 나머지를 구하는 연산자이다. `5 / 2` 는 몫이 2 나머지가 1이다. 따라서 나머지 연산자 `5 %
2` 의 결과는 `1` 이 된다. - 나머지 연산자는 실무와 알고리즘 모두 종종 사용되므로 잘 기억해두자
- 이름 그대로 나머지를 구하는 연산자이다. `5 / 2` 는 몫이 2 나머지가 1이다. 따라서 나머지 연산자 `5 %
- 주의! 0으로 나누기
- `10 / 0` 과 같이 숫자는 0으로 나눌 수 없다. (수학에서 허용하지 않음) 프로그램에서 오류가 발생함.
문자열 더하기
문자열에도 + 연산자를 사용할 수 있다. 문자열에 + 연산자를 사용하면 두 문자를 연결할 수 있다.
package operator;
public class Operator2 {
public static void main(String[] args) {
// 문자열과 문자열 더하기 1
String result = "hello" + "wrold";
System.out.println(result);
// 문자열과 문자열 더하기 2
String s1 = "string1";
String s2 = "string2";
String result2 = s1 + s2;
System.out.println(result2);
//문자열과 숫자 더하기 1
String result3 = "a + b = " + 10;
System.out.println(result3);
// 문자열과 숫자 더하기 2
int num = 20;
String str = "a + b = ";
String result4 = str + num;
System.out.println(result4);
}
}
문자열과 숫자 더하기
- 자바에서 문자와 숫자를 더하면 숫자를 문자열로 변경한 다음에 서로 더한다.
- 변수에 담겨 있어도 문자와 숫자를 더하면 문자가 된다.
연산자 우선순위
자바도 우선순위가 높은 연산자부터 먼저 계산을 실행한다.
package operator;
public class Operator3 {
public static void main(String[] args) {
int sum1 = 1 + 2 * 3;
int sum2 = (1 + 2) * 3;
System.out.println("sum1 = " + sum1);
System.out.println("sum2 = " + sum2);
}
}
- 연산자 우선순위를 변경하려면 수학과 마찬가지로 괄호 ()를 사용하면 된다.
package operator;
public class Operator4 {
public static void main(String[] args) {
int sum3 = 2 * 2 + 3 * 3;
int sum4 = (2 * 2) + (3 * 3);
System.out.println("sum3 = " + sum3);
System.out.println("sum4 = " + sum4);
}
}
- 복잡한 수식의 경우 괄호를 명시적으로 사용하는 것이 더 명확하고 이해하기 쉬움. 코드를 몇자 줄여서 모호하거나 복잡해 지는 것보다 코드가 더 많더라도 명확하고 단순한 것이 유지보수하기 더 좋음.
연산자 우선순위 암기법
- 괄호 ( )
- 단항 연산자 (예: ++, -- , ! , ~ , new , (type))
- 산술 연산자 ( * , / , % 우선, 그 다음에 +, - )
- shift 연산자 (<< , >> , >>>)
- 비교 연산자 ( < , <= , => , > , instanceof )
- 등식 연산자 ( == , !=)
- 비트 연산자 (&, ^ , | )
- 논리 연산자 ( &&, || )
- 삼항 연산자 ( ? : )
1. 상식선에서 우선순위를 사용하자
2. 애매하면 괄호 ()를 사용하자
정리
- 연산자 우선순위는 상식선에서 생각하고, 애매하면 괄호를 사용하자
- 누구나 코드를 보고 쉽고 명확하게 이해할 수 있어야 한다. 개발자들이 연산자 우선순위를 외우고 개발하는 것이 아니다! 복잡하면 명확하게 괄호를 넣어라!
- 개발에서 가장 중요한 것은 단순함과 명확함이다! 애매하거나 복잡하면 안된다.
증감 연산자
증가 및 감소 연산자를 줄여서 증감 연산자라고 한다.
package operator;
public class OperatorAdd1 {
public static void main(String[] args) {
int a = 0;
a = a + 1;
System.out.println("a = " + a);
a = a + 1;
System.out.println("a = " + a);
//증감 연산자
++a;
System.out.println("a = " + a);
++a;
System.out.println("a = " + a);
}
}
a = a + 1을 ++a 로 간단하게 표현할 수 있는 것이 바로 증감 연산자이다.
++ (증가) -- (감소)
전위, 후위 증감 연산자
증감 연산자는 피연산자 앞에 두거나 뒤에 둘 수 있으며, 연산자의 위치에 따라 연산이 수행되는 시점이 달라진다.
- ++a : 증감 연산자를 피연산자 앞에 둘 수 있다. 이것을 앞에 있다고 해서 전위(Prefix) 증감 연산자라 한다.
- a++ : 증감 연산자를 피연산자 뒤에 둘 수 있다. 이것을 뒤에 있다고 해서 후위(Postfix) 증감 연산자라 한다.
package operator;
public class OperatorAdd2 {
public static void main(String[] args) {
// 전위 증감 연산자
int a = 1;
int b = 0;
b = ++a; // a 값을 먼저 증가시킴, 그 결과를 b에 대입
System.out.println("a = " + a + ", b = " +b);
// 후위 증감 연산자
a = 1;
b = 0;
b = a++; // a의 현재 값을 b에 먼저 대입하고, 그 후 a 값을 증가
System.out.println("a = " + a + ", b = " +b);
}
}
- 증감 연산자가 변수 앞에 오는 경우를 전위 증감 연산자라고 하며, 이 경우에는 증감 연산이 먼저 수행된 후 나머지 연산이 수행된다.
- 증감 연산자가 변수 뒤에 오는 경우를 후위 증감 연산자라고 하며, 이 경우에는 다른 연산이 먼저 수행된 후 증감 연산이 수행된다.
비교 연산자
비교 연산자는 두 값을 비교하는 데 사용한다. 비교 연산자는 주로 조건문과 함께 사용한다
- == : 동등성 (equal to)
- != : 불일치 (not equal to)
- > : 크다 (greater than)
- < : 작다 (less than)
- >= : 크거나 같다 (greater than or equal to)
- <= : 작거나 같다 (less than or equal to)
비교 연산자를 사용하면 참( true) 또는 거짓( false)이라는 결과가 나온다. 참 거짓은 boolean 형을 사용한다
- = : 대입 연산자, 변수에 값을 대입한다
- == : 동등한지 확인하는 비교 연산자
- 불일치 연산자 != , !는 반대
package operator;
public class Comp1 {
public static void main(String[] args) {
int a = 2;
int b = 3;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a > b);
System.out.println(a < b);
System.out.println(a >= b);
System.out.println(a <= b);
// 결과물 boolean 변수에 담기
boolean result = a == b;
System.out.println(result);
}
}
문자열 비교
문자열이 같은지 비교할 때는 ==이 아니라 .equals() 메서드를 사용한다.
package operator;
public class Comp2 {
public static void main(String[] args) {
String str1 = "문자열1";
String str2 = "문자열2";
boolean result1 = "hello".equals("hello");
boolean result2 = str1.equals("문자열1");
boolean result3 = str1.equals(str2);
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
}
}
논리 연산자
boolean형인 true, false를 비교하는데 사용함.
- && (그리고) : 두 피연산자가 모두 참이면 참을 반환, 둘중 하나라도 거짓이면 거짓을 반환
- || (또는) : 두 피연산자 중 하나라도 참이면 참을 반환, 둘다 거짓이면 거짓을 반환
- ! (부정) : 피연산자의 논리적 부정을 반환. 즉, 참이면 거짓을, 거짓이면 참을 반환
package operator;
public class Logical1 {
public static void main(String[] args) {
System.out.println("&&: AND 연산");
System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && false);
System.out.println("||: OR 연산");
System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || false);
System.out.println("! 연산");
System.out.println(!true);
System.out.println(!false);
System.out.println("변수 활용");
boolean a = true;
boolean b = false;
System.out.println(a && b);
System.out.println(a || b);
System.out.println(!a);
System.out.println(!b);
}
}
- && : 두 피연산자가 모두 참이어야 `true` 를 반환한다. 둘중 하나라도 거짓이면 `false` 를 반환한다.
- || : 두 피연산자 중 하나라도 참이면 `true` 를 반환한다. 둘다 모두 거짓이면 `false` 를 반환한다.
- ! : 피연산자의 논리적 부정을 반환한다. 참이면 거짓을, 거짓이면 참을 반환한다.
package operator;
public class Logical2 {
public static void main(String[] args) {
int a = 15;
// a는 10보다 크고 20보다 작다
boolean result = a > 10 && a < 20;
System.out.println("result = " + result);
}
}
- 비교 연산자가 먼저 수행되고 논리 연산자가 수행된다.
대입 연산자
대입 연산자(=)는 값을 변수에 할당하는 연산자다. 이 연산자를 사용하면 변수에 값을 할당할 수 있다.
예를 들어, int a = 1 는 a 라는 변수에 1 이라는 값을 할당한다.
축약(복합) 대입 연산자
산술 연산자와 대입 연산자를 한번에 축약해서 사용할 수 있는데, 이것을 축약(복합) 대입 연산자라 한다.
연산자 종류: += , -= , *= , /= , %=
- i = i + 3 ▷ i += 3
- i = i * 4 ▷ i *= 4
package operator;
public class Assign1 {
public static void main(String[] args) {
int a = 5;
a += 3; // 8
a -= 2; // 6
a *= 4; // 24
a /= 3; // 8
a %= 5; // 3
System.out.println(a); // 3
}
}
문제
package operator;
public class OperatorEx1 {
public static void main(String[] args) {
int num1 = 10, num2 = 20, num3 = 30;
int sum = num1 + num2 + num3;
int average = sum / 3;
System.out.println("sum = " + sum);
System.out.println("average = " + average);
}
}
package operator;
public class OperatorEx2 {
public static void main(String[] args) {
double val1 = 1.5, val2 = 2.5, val3 = 3.5;
double sum = val1 + val2 + val3;
double average = sum / 3;
System.out.println("sum =" + sum);
System.out.println("average =" + average);
}
}
package operator;
public class OperatorEx3 {
public static void main(String[] args) {
int score = 90;
boolean result1 = 80 <= score && score <= 100;
System.out.println(result1);
score = 79;
boolean result2 = 80 <= score && score <= 100;
System.out.println(result2);
}
}
자주 사용하는 연산자
- 산술 연산자: + , - , * , / , % (나머지)
- 증가 및 감소 연산자: ++ , --
- 비교 연산자: == , != , > , < , >= , <=
- 논리 연산자: && (AND), || (OR), ! (NOT)
- 대입 연산자: = , += , -= , *= , /= , %=
- 삼항 연산자: ? :
- instanceof 연산자: 객체 타입을 확인한다.
- 그외: new , [] (배열 인덱스), . (객체 멤버 접근), () (메소드 호출)
비트 연산자는 실무에서 거의 사용할 일이 없다. 필요할 때 찾아보자.
- 비트 연산자: & , | , ^ , ~ , << , >> , >>>
조건문
if 문 1 - if , else
특정 조건에 따라서 다른 코드를 실행하는 것을 조건문이라 함.
조건문에는 if 문, switch문이 있다.
if문
if문은 특정 조건이 참인지 확인하고, 그 조건이 참(true)일 경우 특정 코드 블록을 실행한다.
- 코드 블록: { } 사이에 있는 코드
package cond;
public class If1 {
public static void main(String[] args) {
int age = 10;
if (age >= 18) {
System.out.println("성인입니다.");
}
if (age < 18) {
System.out.println("미성년자입니다.");
}
}
}
else문
else문은 if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공함
package cond;
public class If2 {
public static void main(String[] args) {
int age = 20;
if (age >= 20) {
System.out.println("성인입니다");
} else {
System.out.println("미성년자입니다.");
}
}
}
If문2 - else if
if 문만 사용할 때의 불필요한 조건 검사를 피하고 코드의 효율성을 향상시킬 수 있음
// if문만 사용할 때
package cond;
public class If3 {
public static void main(String[] args) {
int age = 14;
if (age <= 7) {
System.out.println("미취학입니다.");
}
if (8 <= age && age <= 13) {
System.out.println("초등학생입니다.");
}
if (14 <= age && age <= 16) {
System.out.println("중학생입니다.");
}
if (17 <= age && age <= 19) {
System.out.println("고등학생입니다.");
}
if (20 <= age) {
System.out.println("성인입니다.");
}
}
}
// else if문을 사용할 때
package cond;
public class If4 {
public static void main(String[] args) {
int age = 14;
if (age <= 7) {
System.out.println("미취학입니다.");
} else if (age <= 13) {
System.out.println("초등학생입니다.");
} else if (age <= 16) {
System.out.println("중학생입니다.");
} else if (age <= 19) {
System.out.println("고등학생입니다.");
} else {
System.out.println("성인입니다.");
}
}
}
if문 3 - if문과 else if문
if 문에 else if 를 함께 사용하는 것은 서로 연관된 조건일 때 사용한다. 그런데 서로 관련이 없는 독립 조건이면
else if 를 사용하지 않고 if 문을 각각 따로 사용해야 한다.
if 문에 여러 조건이 있다고 항상 if-else 로 묶어서 사용할 수 있는 것은 아니다. 조건이 서로 영향을 주지 않고 각
각 수행해야 하는 경우에는 else if 문을 사용하면 안되고, 대신에 여러 if 문을 분리해서 사용해야 한다.
여러 독립적인 조건을 검사해야 하는 경우가 그런 상황의 대표적인 예시이다. 즉, 각 조건이 다른 조건과 연관되지 않고,
각각의 조건에 대해 별도의 작업을 수행해야 할 때 이런 상황이 발생한다.
package cond;
public class If5 {
public static void main(String[] args) {
int price = 10000;
int age = 10;
int discount = 0;
if (price >= 10000) {
discount = discount + 1000;
System.out.println("10000원 이상 구매, 1000원 할인");
}
if (age <= 10) {
discount = discount + 1000;
System.out.println("어린이 1000원 할인");
}
System.out.println(" 총 할인 금액: " + discount + "원");
}
}
- 위 조건문처럼 각각의 조건을 검사해야 하는 경우는 if문만 사용해야 한다.
package cond;
public class If6 {
public static void main(String[] args) {
int price = 10000;
int age = 10;
int discount = 0;
if (price >= 10000) {
discount = discount + 1000;
System.out.println("10000원 이상 구매, 1000원 할인");
} else if (age <= 10) {
discount = discount + 1000;
System.out.println("어린이 1000원 할인");
} else {
System.out.println("할인 없음");
}
System.out.println("총 할인 금액:" + discount + "원");
}
}
- else if 문을 사용하면 첫 번째 조건을 충족한 후 if문을 빠져나오기 때문에 나머지 조건이 충족되어도 적용되지 않는다.
if문 { } 생략
if문에 실행할 명령이 하나만 있는 경우에는 { }를 생략할 수 있다. else if, else도 마찬가지이다.
if (true)
System.out.println("if문에서 실행됨");
// 두 번째 문장은 if문과 무관하다. 둘 다 if문에 포함하기 위해서는 {}를 사용해야 한다.
if (false)
System.out.println("if문에서 실행됨");
System.out.println("if문에서 실행 안됨");
if (false) {
System.out.println("if문에서 실행됨");
System.out.println("if문에서 실행 안됨");
}
일반적으로 if문의 명령이 한개만 있을 경우에도 다음과 같은 이유로 중괄호를 사용하는 것이 좋다.
- 가독성: 중괄호를 사용하면 코드를 더 읽기 쉽게 만들어 준다. 조건문의 범위가 명확하게 표시되므로 코드의 흐름
을 더 쉽게 이해할 수 있다. - 유지보수성: 중괄호를 사용하면 나중에 코드를 수정할 때 오류를 덜 발생시킬 수 있다. 예를 들어, if 문에 또 다
른 코드를 추가하려고 할 때, 중괄호가 없으면 이 코드가 if 문의 일부라는 것이 명확하지 않을 수 있다.
Switch문
switch문은 if문을 조금 더 편리하게 사용할 수 있는 기능.
if문은 비교 연산자를 사용할 수 있지만, switch문은 단순히 값이 같은지만 비교할 수 있다.
switch (조건식) {
case value1:
// 조건식의 결과 값이 value1일 때 실행되는 코드
break;
case value2:
// 조건식의 결과 값이 value2일 때 실행되는 코드
break;
default:
// 조건식의 결과 값이 위의 어떤 값에도 해당하지 않을 때 실행되는 코드
}
- 조건식의 결과 값이 어떤 case 의 값과 일치하면 해당 case 의 코드를 실행한다.
- break 문은 현재 실행 중인 코드를 끝내고 switch 문을 빠져나가게 하는 역할을 한다.
- 만약 break 문이 없으면, 일치하는 case 이후의 모든 case 코드들이 순서대로 실행된다.
- default 는 조건식의 결과값이 모든 case 의 값과 일치하지 않을 때 실행된다. if 문의 else 와 같다.
default 구문은 선택이다. - if , else-if , else 구조와 동일하다.
// if문 사용
package cond;
public class Switch1 {
public static void main(String[] args) {
int grade = 2;
int coupon;
if (grade == 1) {
coupon = 1000;
} else if (grade == 2) {
coupon = 2000;
} else if (grade == 3) {
coupon = 3000;
} else {
coupon = 500;
}
System.out.println("발급받은 쿠폰: " + coupon);
}
}
// switch문 사용
package cond;
public class Switch2 {
public static void main(String[] args) {
int grade = 2;
int coupon;
switch (grade) {
case 1:
coupon = 1000;
break;
case 2:
coupon = 2000;
break;
case 3:
coupon = 3000;
break;
default:
coupon = 500;
}
System.out.println("발급받은 쿠폰: " + coupon);
}
}
// break문이 없는 경우
package cond;
public class Switch3 {
public static void main(String[] args) {
int grade = 2;
int coupon;
switch (grade) {
case 1:
coupon = 1000;
break;
case 2:
case 3:
coupon = 3000;
break;
default:
coupon = 500;
}
System.out.println("발급받은 쿠폰: " + coupon);
}
}
- break문이 없는 경우 case2가 실행되고도 중단하지 않고 다음에 있는 case3의 코드를 실행하고 case3의 break문을 만나 switch문을 빠져나온다.
if문 vs switch문
- switch 문의 조건식을 넣는 부분을 잘 보면 `x > 10` 과 같은 참 거짓의 결과가 나오는 조건이 아니라, 단순히 값만 넣
을 수 있다. - switch 문은 조건식이 특정 case 와 같은지만 체크할 수 있다. 쉽게 이야기해서 값이 같은지 확인하는 연산만 가능하
다. (문자도 가능) - 반면에 if 문은 참 거짓의 결과가 나오는 조건식을 자유롭게 적을 수 있다. 예) x > 10 , x == 10
- 정리하자면 swtich 문 없이 if 문만 사용해도 된다. 하지만 특정 값에 따라 코드를 실행할 때는 switch 문을 사용하
면 if 문 보다 간결한 코드를 작성할 수 있다.
자바 14의 새로운 Switch문
기존 switch문은 if문보다 조금 덜 복잡한 것 같지만, 그래도 코드가 기대보다 깔끔하게 나오지는 않는다.
이런 문제를 해결하고자 자바14부터는 새로운 switch문이 정식 도입되었다.
package cond;
public class Switch3 {
public static void main(String[] args) {
//grade 1:1000, 2:2000, 3:3000, 나머지: 500
int grade = 2;
int coupon = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("발급받은 쿠폰 " + coupon);
}
}
기존 switch문과의 차이
- -> 를 사용한다.
- 선택된 데이터를 반환할 수 있다.
삼항 연산자
if문을 사용할 때 단순히 참과 거짓에 따라 값을 구하는 경우가 있다.
// if문 사용
package cond;
public class CondOp1 {
public static void main(String[] args) {
int age = 18;
String status;
if (age >= 18) {
status = "성인";
} else {
status = "미성년자";
}
System.out.println("age = " + age + " status = " + status);
}
}
- 예제처럼 단순히 참과 거짓에 따라 특정 값을 구하는 경우 삼황 연산자 또는 조건 연산자라고 불리는 ? : 연산자를 사용할 수 있다. (if문과 비교해서 코드를 단순화 할 수 있다)
// 삼항 연산자 사용
package cond;
public class CondOp2 {
public static void main(String[] args) {
int age = 18;
String status = (age >= 18) ? "성인" : "미성년자";
System.out.println("age = " + age + " status = " + status);
}
}
삼항 연산자
(조건) ? 참_표현식 : 거짓_표현식
- 삼항 연산자는 항이 3개라는 뜻이다. 조건 , 참_표현식 , 거짓_표현식 이렇게 항이 3개이다. 자바에서 유일하게 항
이 3개인 연산자여서 삼항 연산자라 한다. 또는 특정 조건에 따라 결과가 나오기 때문에 조건 연산자라고도 한다. - 조건에 만족하면 참_표현식 이 실행되고, 조건에 만족하지 않으면 거짓_표현식 이 실행된다. 앞의 if , else 문
과 유사하다. - if 문 처럼 코드 블럭을 넣을 수 있는 것이 아니라 단순한 표현식만 넣을 수 있다.
단순히 참과 거짓에 따라서 특정 값을 구하는 삼항 연산자를 사용하면 if 문보다 간결한 코드를 작성할 수 있다.
연습
// 점수에 따른 학점 출력 if문
package cond.ex;
public class CondEx1 {
public static void main(String[] args) {
int score = 90;
String rank;
if (score <= 60) {
rank = "F";
System.out.println("score: " + score);
} else if (score <= 70) {
rank = "D";
System.out.println("score: " + score);
} else if (score <= 80) {
rank = "C";
System.out.println("score: " + score);
} else if (score <= 90) {
rank = "B";
System.out.println("score: " + score);
} else {
rank = "A";
System.out.println("score: " + score);
}
System.out.println("출력: 학점은 " + rank + "입니다." );
}
}
// 거리에 따른 이동수단 선택 if문
package cond.ex;
public class DistanceEx1 {
public static void main(String[] args) {
int distance = 160;
if (distance <= 1) {
System.out.println("도보를 이용하세요");
} else if (distance <= 10) {
System.out.println("자전거를 이용하세요");
} else if (distance <= 100) {
System.out.println("자동차를 이용하세요");
} else {
System.out.println("비행기를 이용하세요");
}
}
}
// 금액에 따른 환전 금액 확인 if문
package cond.ex;
public class ExchangeRateEx {
public static void main(String[] args) {
int dollar = -5;
if (dollar <= 0) {
System.out.println("잘못된 금액입니다.");
} else if (dollar == 0) {
System.out.println("환전할 금액이 없습니다.");
} else {
int won = dollar * 1300;
System.out.println("환전 금액은 " + won + "원입니다.");
}
}
}
// 학점에 따른 결과 메시지 출력 switch문
package cond.ex;
public class GradeSwitchEx {
public static void main(String[] args) {
String grade = "A";
switch (grade) {
case "A" -> System.out.println("탁월한 성과입니다.");
case "B" -> System.out.println("좋은 성과입니다.");
case "C" -> System.out.println("준수한 성과입니다.");
case "D" -> System.out.println("향상이 필요합니다.");
case "F" -> System.out.println("불합격입니다.");
default -> System.out.println("잘못된 학점입니다.");
}
}
}
// 영화 평점에 따른 추천 if문
package cond.ex;
public class MovieRateEx {
public static void main(String[] args) {
double rating = 9.1;
if (rating >= 9) {
System.out.println("어바웃 타임을 추천합니다.");
}
if (rating >= 8) {
System.out.println("토이 스토리를 추천합니다.");
}
if (rating >= 7) {
System.out.println("고질라를 추천합니다.");
}
}
}
// 두 숫자 중 큰 숫자를 출력 삼항 연산자
package cond.ex;
public class CondOpEx {
public static void main(String[] args) {
int a = 10, b = 20;
int max = (a > b) ? a : b;
System.out.println("더 큰 숫자는 "+ max +"입니다.");
}
}
// 입력된 값의 홀수, 짝수 확인 삼항 연산자
package cond.ex;
public class EvenOddEx {
public static void main(String[] args) {
int x = 6;
String result = (x % 2 == 0) ? "짝수" : "홀수";
System.out.println("x = " + x + ", " + result + "입니다.");
}
}
'항해 99 > Java' 카테고리의 다른 글
Java 문법 종합 2주차-2 (0) | 2024.01.17 |
---|---|
Java 문법 종합 2주차-1 (0) | 2024.01.16 |
Java 문법 종합 1주차 (1) | 2024.01.16 |
Java 기초 3 - 반복문, 스코프, 형변환 (0) | 2024.01.15 |
Java 기초 - Java, 변수 (0) | 2024.01.10 |