๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/Java

๐Ÿ“š 12/29(๊ธˆ) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java-Spring 6์ผ์ฐจ TIL - java ์—ฐ์‚ฐ์ž

๐Ÿ“ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

  • java ์—ฐ์‚ฐ์ž

 

 

 

 

๐Ÿ“ ์—ฐ์‚ฐ์ž(Operator)

  ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ์‚ฐ์ถœํ•˜๋Š” ๊ฒƒ์„ ์—ฐ์‚ฐ(operations)์ด๋ผ๊ณ  ํ•œ๋‹ค.

์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์‹œ๋‚˜ ๊ธฐํ˜ธ๋ฅผ ์—ฐ์‚ฐ์ž(operator)๋ผ๊ณ  ํ•˜๊ณ , ์—ฐ์‚ฐ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ํ”ผ์—ฐ์‚ฐ์ž(operand)๋ผ๊ณ  ํ•œ๋‹ค.

 

  ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ์—ฐ์‚ฐ์‹์—์„œ +, -, *, == ์€ ์—ฐ์‚ฐ์ž์ด๊ณ , x, y, z ๋ณ€์ˆ˜๋Š” ํ”ผ์—ฐ์‚ฐ์ž์ด๋‹ค.

x + y
x - y
x * y + z
x == y

 

 

 

 

 

๐Ÿ“ ์—ฐ์‚ฐ์ž(Operator)์˜ ์ข…๋ฅ˜

 

 

  1. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž : ์ฃผ๋กœ ์ˆซ์ž๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. +(๋”ํ•˜๊ธฐ), -(๋นผ๊ธฐ), *(๊ณฑํ•˜๊ธฐ), /(๋‚˜๋ˆ„๊ธฐ), %(๋‚˜๋จธ์ง€)

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); // ์ถœ๋ ฅ: a + b = 7
        // ๋บ„์…ˆ
        int diff = a - b;
        System.out.println("a - b = " + diff); // ์ถœ๋ ฅ: a - b = 3
        // ๊ณฑ์…ˆ
        int multi = a * b;
        System.out.println("a * b = " + multi); // ์ถœ๋ ฅ: a * b = 10
        // ๋‚˜๋ˆ—์…ˆ
        int div = a / b;
        System.out.println("a / b = " + div); // ์ถœ๋ ฅ: a / b = 2
        // ๋‚˜๋จธ์ง€
        int mod = a % b;
        System.out.println("a % b = " + mod); // ์ถœ๋ ฅ: a % b = 1
    }
}

 

โš ๏ธ 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ

10 / 0๊ณผ ๊ฐ™์ด ์ˆซ์ž๋Š” 0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋‹ค.(์ˆ˜ํ•™์—์„œ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.)
์—ฐ์‚ฐํ•  ๋•Œ ํ”„๋กœ๊ทธ๋žจ์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์™ธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
Exception in thread "main" java.lang.ArithmeticException: / by zero
์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ์‹œ์  ์ดํ›„์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

 

 

 

 

โ€ป ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ : ๋ฌธ์ž์—ด์ธ String ํƒ€์ž…์— ๋‹ค๋ฅธ ํƒ€์ž…์„ ๋”ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์ƒ ํƒ€์ž…์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

public class Operator2 {
    public static void main(String[] args) {

        //๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ1
        String result1 = "hello " + "world";
        System.out.println(result1); // ์ถœ๋ ฅ: hello world

        //๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด ๋”ํ•˜๊ธฐ2
        String s1 = "string1";
        String s2 = "string2";
        String result2 = s1 + s2;
        System.out.println(result2); // ์ถœ๋ ฅ: string1string2

        //๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž ๋”ํ•˜๊ธฐ1
        String result3 = "a + b = " + 10;
        System.out.println(result3); // ์ถœ๋ ฅ: a + b = 10

        //๋ฌธ์ž์—ด๊ณผ ์ˆซ์ž ๋”ํ•˜๊ธฐ2
        int num = 20;
        String str = "a + b = ";
        String result4 = str + num;
        System.out.println(result4); // ์ถœ๋ ฅ: a + b = 20
    }
}

 

 

 

 

 

2. ์ฆ๊ฐ ์—ฐ์‚ฐ์ž : ๋ณ€์ˆ˜์˜ ๊ฐ’์„ 1 ์ฆ๊ฐ€(++)์‹œํ‚ค๊ฑฐ๋‚˜ 1 ๊ฐ์†Œ(--)์‹œํ‚ค๋Š” ์—ฐ์‚ฐ์ž๋ฅผ ๋งํ•œ๋‹ค. boolean ํƒ€์ž…์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ธฐ๋ณธ ํƒ€์ž…์˜ ํ”ผ์—ฐ์‚ฐ์ž์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

int x = 1;
int y = 1;
int result1 = ++x + 10; // result1์—๋Š” 12๊ฐ€ ์ €์žฅ๋œ๋‹ค.
int result2 = y++ + 10; // result2์—๋Š” 11์ด ์ €์žฅ๋œ๋‹ค.

// ++x: ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ฅผ ํ”ผ์—ฐ์‚ฐ์ž ์•ž์— ๋‘”๋‹ค. ์ด๊ฒƒ์„ ์ „์œ„(Prefix) ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ผ ํ•œ๋‹ค.
// ์ฆ๊ฐ ์—ฐ์‚ฐ์ด ๋จผ์ € ์ˆ˜ํ–‰๋œ ํ›„ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค.

// y++: ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ฅผ ํ”ผ์—ฐ์‚ฐ์ž ๋’ค์— ๋‘”๋‹ค. ์ด๊ฒƒ์„ ํ›„์œ„(Postfix) ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ผ ํ•œ๋‹ค.
// ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ด ๋จผ์ € ์ˆ˜ํ–‰๋œ ํ›„ ์ฆ๊ฐ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค.

// ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ฅผ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค๋ฅธ ์—ฐ์‚ฐ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ณธ์ธ์˜ ๊ฐ’๋งŒ ์ฆ๊ฐ€ํ•œ๋‹ค.
// ๋”ฐ๋ผ์„œ ์ „์œ„์ด๋“  ํ›„์œ„์ด๋“  ๋‘˜๋‹ค ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค.
// ++z;
// z++;

 

 

 

 

 

3. ๋น„๊ต ์—ฐ์‚ฐ์ž : ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๋Œ€์†Œ(<, <=, >, =>) ๋˜๋Š” ๋™๋“ฑ(==,!=)์„ ๋น„๊ตํ•ด์„œ boolean ํƒ€์ž…์ธ true/false๋ฅผ ์‚ฐ์ถœํ•œ๋‹ค. ๋Œ€์†Œ ์—ฐ์‚ฐ์ž๋Š” boolean ํƒ€์ž…์„ ์ œ์™ธํ•œ ๊ธฐ๋ณธ ํƒ€์ž…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋™๋“ฑ ์—ฐ์‚ฐ์ž๋Š” ๋ชจ๋“  ํƒ€์ž…์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ํ๋ฆ„ ์ œ์–ด๋ฌธ์ธ ์กฐ๊ฑด๋ฌธ(if), ๋ฐ˜๋ณต๋ฌธ(for, while)์—์„œ ์ฃผ๋กœ ์ด์šฉ๋˜์–ด ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

public class Comp1 {
    public static void main(String[] args) {
        int a = 2;
        int b = 3;

        System.out.println(a == b); // false, a์™€ b๋Š” ๊ฐ™์ง€ ์•Š๋‹ค
        System.out.println(a != b); // true, a์™€ b๋Š” ๋‹ค๋ฅด๋‹ค
        System.out.println(a > b); // false, a๋Š” b๋ณด๋‹ค ํฌ์ง€ ์•Š๋‹ค
        System.out.println(a < b); // true, a๋Š” b๋ณด๋‹ค ์ž‘๋‹ค
        System.out.println(a >= b); // false, a๋Š” b๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์ง€ ์•Š๋‹ค
        System.out.println(a <= b);  // true, a๋Š” b๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค

        //๊ฒฐ๊ณผ๋ฅผ boolean ๋ณ€์ˆ˜์— ๋‹ด๊ธฐ
        boolean result = a == b; // a == b: false 
        System.out.println(result); // false
    }
}

 

 

 

 

 

  โ€ป ๋ฌธ์ž์—ด ๋น„๊ตํ•˜๊ธฐ : ์ž๋ฐ”๋Š” ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด์ด ๊ฐ™์œผ๋ฉด ๋™์ผํ•œ String ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋„๋ก ๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋™์ผํ•œ String ๊ฐ์ฒด์ด๊ฑด ๋‹ค๋ฅธ String ๊ฐ์ฒด์ด๊ฑด ์ƒ๊ด€์—†์ด String ๊ฐ์ฒด์˜ ๋ฌธ์ž์—ด๋งŒ์„ ๋น„๊ตํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ==์ด ์•„๋‹ˆ๋ผ, equals() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

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 = " + result1); // result1 = true
        System.out.println("result2 = " + result2); // result2 = true
        System.out.println("result3 = " + result3); // result3 = false
    }
}

 

 

 

 

 

4. ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž : ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž๋Š” boolean ํ˜•์ธ true, false๋ฅผ ๋น„๊ตํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. && (and), || (or), ! (not)

  • &&(๊ทธ๋ฆฌ๊ณ ) : ๋‘ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๋ชจ๋‘ ์ฐธ์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜. ๋‘˜์ค‘ ํ•˜๋‚˜๋ผ๋„ ๊ฑฐ์ง“์ด๋ฉด ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜
  • ||(๋˜๋Š”) : ๋‘ ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜. ๋‘˜๋‹ค ๊ฑฐ์ง“์ด๋ฉด ๊ฑฐ์ง“์„ ๋ฐ˜ํ™˜
  • !(๋ถ€์ •) : ํ”ผ์—ฐ์‚ฐ์ž์˜ ๋…ผ๋ฆฌ์  ๋ถ€์ •์„ ๋ฐ˜ํ™˜. ์ฆ‰, ์ฐธ์ด๋ฉด ๊ฑฐ์ง“์„, ๊ฑฐ์ง“์ด๋ฉด ์ฐธ์„ ๋ฐ˜ํ™˜
public class Logical1 {
    public static void main(String[] args) {
        System.out.println("&&: AND ์—ฐ์‚ฐ");
        System.out.println(true && true); //true
        System.out.println(true && false);//false
        System.out.println(false && false);//false

        System.out.println("||: OR ์—ฐ์‚ฐ");
        System.out.println(true || true); //true
        System.out.println(true || false);//true
        System.out.println(false || false);//false

        System.out.println("! ์—ฐ์‚ฐ");
        System.out.println(!true); //false
        System.out.println(!false); //true

        System.out.println("๋ณ€์ˆ˜ ํ™œ์šฉ");
        boolean a = true;
        boolean b = false;
        System.out.println(a && b); // false
        System.out.println(a || b); // true
        System.out.println(!a); // false
        System.out.println(!b); // true
    }
}

 

 

 

 

 

5. ๋Œ€์ž… ์—ฐ์‚ฐ์ž : ๋Œ€์ž… ์—ฐ์‚ฐ์ž(=)๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค. ์ด ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ์ขŒ์ธก ํ”ผ์—ฐ์‚ฐ์ž์ธ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋‹จ์ˆœ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๊ณ , ์ •ํ•ด์ง„ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๋ณตํ•ฉ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋„ ์žˆ๋‹ค.

  • = : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅ
  • += : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ๋”ํ•œ ํ›„์— ๋‹ค์‹œ ๋ณ€์ˆ˜์— ์ €์žฅ (๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ + ํ”ผ์—ฐ์‚ฐ์ž)
  • -= : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์˜ ๊ฐ’์—์„œ ๋บ€ ํ›„์— ๋‹ค์‹œ ๋ณ€์ˆ˜์— ์ €์žฅ (๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ - ํ”ผ์—ฐ์‚ฐ์ž)
  • *= : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์„ ๋ณ€์ˆ˜์˜ ๊ณฑ๊ณผ ๊ณฑํ•œ ํ›„์— ๋‹ค์‹œ ๋ณ€์ˆ˜์— ์ €์žฅ (๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ * ํ”ผ์—ฐ์‚ฐ์ž)
  • /= : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์œผ๋กœ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋‚˜๋ˆˆ ํ›„์— ๋‹ค์‹œ ๋ณ€์ˆ˜์— ์ €์žฅ (๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ / ํ”ผ์—ฐ์‚ฐ์ž)
  • %= : ์šฐ์ธก์˜ ํ”ผ์—ฐ์‚ฐ์ž์˜ ๊ฐ’์œผ๋กœ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋‚˜๋ˆˆ ํ›„์— ๋‚˜๋จธ์ง€๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅ (๋ณ€์ˆ˜ = ๋ณ€์ˆ˜ % ํ”ผ์—ฐ์‚ฐ์ž)
public class Assign01 {
    public static void main(String[] args) {
        int a = 5;      // 5
        a += 3;         // 8(5+3): a=a+3 
        a-=2;           // 6(8-2): a=a-2 
        a*=4;           // 24(6*4):a=a*4 
        a/=3;           // 8(24/3):a=a/3 
        a%=5;           // 3(8%5):a=a%5 
        System.out.println(a);  // ์ถœ๋ ฅ : 3
    }
}

 

 

 

 

 

6. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž : ์‚ผํ•ญ ์—ฐ์‚ฐ์ž(? :)๋Š” ์„ธ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์—ฐ์‚ฐ์ž๋ฅผ ๋งํ•œ๋‹ค. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ?์•ž์˜ ์กฐ๊ฑด์‹์— ๋”ฐ๋ผ ์ฝœ๋ก (:) ์•ž๋’ค์˜ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์„ ํƒ๋œ๋‹ค๊ณ  ํ•ด์„œ ์กฐ๊ฑด ์—ฐ์‚ฐ์‹์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

                          ์กฐ๊ฑด์‹(ํ”ผ์—ฐ์‚ฐ์ž1)     ?     ๊ฐ’ ๋˜๋Š” ์—ฐ์‚ฐ์‹(ํ”ผ์—ฐ์‚ฐ์ž2)     :     ๊ฐ’ ๋˜๋Š” ์—ฐ์‚ฐ์‹(ํ”ผ์—ฐ์‚ฐ์ž3)
                                                                                true                                             false

 

 

  ์กฐ๊ฑด์‹์„ ์—ฐ์‚ฐํ•˜์—ฌ true๊ฐ€ ๋‚˜์˜ค๋ฉด ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๋Š” ํ”ผ์—ฐ์‚ฐ์ž2๊ฐ€ ๋œ๋‹ค. ๋ฐ˜๋ฉด์— ์กฐ๊ฑด์‹์„ ์—ฐ์‚ฐํ•˜์—ฌ false๊ฐ€ ๋‚˜์˜ค๋ฉด ์‚ผํ•ญ ์—ฐ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๋Š” ํ”ผ์—ฐ์‚ฐ์ž3์ด ๋œ๋‹ค. ํ”ผ์—ฐ์‚ฐ์ž2์™€ 3์—๋Š” ์ฃผ๋กœ ๊ฐ’์ด ์˜ค์ง€๋งŒ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ๋Š” ์—ฐ์‚ฐ์‹์ด ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

public class ConditionalOperation {
    public static void main(String[] args) {
        int score = 85;
        char grade = (score > 90) ? 'A' : (score > 80) ? 'B' : 'C';
        System.out.println(score + "์ ์€ " + grade + "๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค.");
        // ์ถœ๋ ฅ : 85์ ์€ B๋“ฑ๊ธ‰์ž…๋‹ˆ๋‹ค. 
    }
}

 

 

 

 

 

 

  โ€ป ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„

public class W08 {
    public static void main(String[] args) {
        // ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„
        int x = 2;
        int y = 9;
        int z = 10;

        boolean result = x < y && y < z; // <,> ๋น„๊ต์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ ํ›„ && ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ
        System.out.println(result); // true

        result = x + 10 < y && y < z; // +10 ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ ํ›„ <,> ๋น„๊ต์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ ํ›„ && ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ
        System.out.println(result); // false

        result = x + 2 * 3 > y; // ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž ๊ณฑ์…ˆ > ๋ง์…ˆ ์ˆœ์œผ๋กœ ๊ณ„์‚ฐ ํ›„ > ๋น„๊ต์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ
        System.out.println(result); // false (8>9)

        result = (x + 2) * 3 > y; // ๊ด„ํ˜ธ์•ˆ ๋ง์…ˆ ์—ฐ์‚ฐ ํ›„ ๊ด„ํ˜ธ ๋ฐ– ๊ณฑ์…ˆ ๊ณ„์‚ฐ ํ›„ > ๋น„๊ต์—ฐ์‚ฐ์ž ๊ณ„์‚ฐ
        System.out.println(result); // true (12>9)
    }
}

 

 

 

 

 

  7. ๋น„ํŠธ ์ด๋™ ์—ฐ์‚ฐ์ž : ๋น„ํŠธ(bit)๋ฅผ ์ขŒ์ธก ๋˜๋Š” ์šฐ์ธก์œผ๋กœ ์ด๋™ํ•˜๋Š” ์—ฐ์‚ฐ์ž์ด๋‹ค.

// ๋น„ํŠธ ์—ฐ์‚ฐ

// ์ฐธ๊ณ , 3์˜ ์ด์ง„์ˆ˜๊ฐ’์€ 11(2) ์ž…๋‹ˆ๋‹ค. 12์˜ ์ด์ง„์ˆ˜๊ฐ’์€ 1100(2) ์ž…๋‹ˆ๋‹ค.
// (2) ํ‘œ๊ธฐ๋Š” ์ด ์ˆซ์ž๊ฐ€ ์ด์ง„์ˆ˜๊ฐ’์ด๋ผ๋Š” ํ‘œ์‹ ์ž…๋‹ˆ๋‹ค.

System.out.println(3 << 2); 
// 3์˜ ์ด์ง„์ˆ˜๊ฐ’์ธ 11(2) ์—์„œ ์™ผ์ชฝ์œผ๋กœ 2๋ฒˆ ์˜ฎ๊ฒจ์ ธ์„œ 1100(2) ์ธ 12๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค.


System.out.println(3 >> 1); 
// 3์˜ ์ด์ง„์ˆ˜๊ฐ’์ธ 11(2) ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ 1๋ฒˆ ์˜ฎ๊ฒจ์ ธ์„œ 1(2) ์ธ 1 ๊ฐ’์ด ๋ฉ๋‹ˆ๋‹ค.