Skip to content

Latest commit

ย 

History

History
166 lines (124 loc) ยท 4.48 KB

week2-Java-๊ณผ์ œ.md

File metadata and controls

166 lines (124 loc) ยท 4.48 KB

Java ๊ณผ์ œ

๋ฌธ์ œ 1

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๊ฒฐ๊ณผ๋กœ 5๋ฅผ ๊ธฐ๋Œ€ํ–ˆ๋Š”๋ฐ 4๊ฐ€ ์ถœ๋ ฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋””์—์„œ ์ž˜๋ชป ์ž‘์„ฑ๋œ ๊ฒƒ์ผ๊นŒ์š”?

int var1=5;
int var2=2;
double var3 = var1 / var2;
int var4 = (int)(var3 * var2);
System.out.println(var4);

์›์ธ

double var3 = var1 / var2

์œ„์˜ ์ฝ”๋“œ์˜ var1๊ณผ var2๊ฐ€ intํ˜• ๋ณ€์ˆ˜์ด๋ฏ€๋กœ / ์—ฐ์‚ฐ ์‹œ intํ˜• ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— var3์˜ ๊ฒฐ๊ณผ๊ฐ’์€ 2๊ฐ€ ๋˜๊ณ  var4์˜ ๊ฐ’์ด 2 x 2๋กœ ๊ณ„์‚ฐ๋˜์–ด 4๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜๋Š” ๊ฒ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ๋ฒ•

1. ํ”ผ์—ฐ์‚ฐ์ž ํ˜• ๋ณ€ํ™˜

double var3 = (double) var1 / var2           // var1์„ doubleํ˜•์œผ๋กœ ํ˜• ๋ณ€ํ™˜
double var3 = var1 / (double) var2           // var2๋ฅผ doubleํ˜•์œผ๋กœ ํ˜• ๋ณ€ํ™˜

double var3 = (double) var1 / (double) var2  // var1, var2๋ฅผ doubleํ˜•์œผ๋กœ ํ˜• ๋ณ€ํ™˜

์œ„์™€๊ฐ™์ด ์—ฐ์‚ฐ๋˜๋Š” ํ”ผ์—ฐ์‚ฐ์ž ์ค‘ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋ฅผ double ํ˜•์œผ๋กœ ํ˜• ๋ณ€ํ™˜์„ ์‹œ์ผœ์ฃผ๋ฉด
๋‚˜๋จธ์ง€ ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๋„ ๋™์ผ ํ•œ doubleํ˜•์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
doubleํ˜•์œผ๋กœ ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๊ฐ’์€ intํ˜•์ด ์•„๋‹Œ ์‹ค์ˆ˜ doubleํ˜•์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2. ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ doubleํ˜•์œผ๋กœ ์„ ์–ธ

double var1 = 5;
double var2 = 2;

4๋ฒˆ์งธ ์ค„์—์„œ ๊ฒฐ๊ณผ๊ฐ’์„ ์ €์žฅํ•  ๋•Œ ํ˜• ๋ณ€ํ™˜์„ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— var1, var2๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ doubleํ˜•์œผ๋กœ
์„ ์–ธํ•˜์—ฌ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ข… ํ•ด๊ฒฐ์ฝ”๋“œ

public class test1 {
    public static void main(String[] args) {
        int var1=5;
        int var2=2;
        double var3 = (double) var1/var2;
//        int / int = int ์˜ ๊ฐ’์ด ๋‚˜์˜ค๋ฏ€๋กœ Double๋กœ ํ˜•๋ณ€ํ™˜์„ ์‹œ์ผœ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค
        int var4 = (int)(var3*var2);
        System.out.println(var4);
    }
}

๋ฌธ์ œ 2

๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? (์ฆ๊ฐ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์„ธ์š”!)

int x = 10;
int y = 20;
int z = (++x) + (y--);
System.out.println(z);

์ถœ๋ ฅ ๊ฒฐ๊ณผ

31

์ฝ”๋“œ ํ•ด์„

int z = (++x) + (y--);

์œ„์˜ ์ฝ”๋“œ์—์„œ ++ ์™€ --๋ฅผ ์ฆ๊ฐ ์—ฐ์‚ฐ์ž๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์˜ˆ)
++x ์™€ x++ ๋Š” x = x + 1
--x ์™€ x-- ๋Š” x = x - 1

++ ์™€ --์˜ ์œ„์น˜์— ๋”ฐ๋ฅธ ์—ญํ• ์ด ๋‹ฌ๋ผ์ง€๊ฒŒ ๋˜๋Š”๋ฐ ๊ทธ ์—ญํ• ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์—ฐ์‚ฐ์‹ ์„ค๋ช…
++ or --ํ”ผ์—ฐ์‚ฐ์ž ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ํ•˜๊ธฐ ์ „์— ๊ฐ’์„ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ ์‹œํ‚ด
ํ”ผ์—ฐ์‚ฐ์ž++ or -- ๋‹ค๋ฅธ ์—ฐ์‚ฐ์„ ํ•œ ํ›„์— ๊ฐ’์„ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ ์‹œํ‚ด

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์œ„์˜ ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค

int z = ( ++x ) + ( y-- )
//      ( 11  ) + ( 20  )
System.out.println(z);
// 31

๋ฌธ์ œ 3

while๋ฌธ๊ณผ Math.random() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ 2๊ฐœ์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์กŒ์„ ๋•Œ ๋‚˜์˜ค๋Š” ๋ˆˆ์„ (๋ˆˆ1, ๋ˆˆ2) ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๊ณ ,
๋ˆˆ์˜ ํ•ฉ์ด 5๊ฐ€ ์•„๋‹ˆ๋ฉด ๊ณ„์† ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ง€๊ณ , ๋ˆˆ์˜ ํ•ฉ์ด 5์ด๋ฉด ์‹คํ–‰์„ ๋ฉˆ์ถ”๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณด์„ธ์š”.
๋ˆˆ์˜ ํ•ฉ์ด 5๊ฐ€ ๋˜๋Š” ์กฐํ•ฉ์€ (1,4), (4,1), (2,3), (3,2)์ž…๋‹ˆ๋‹ค.

์ถœ๋ ฅ ์˜ˆ์‹œ

์‹œ์ž‘!
(3,6)
(2,6)
(1,4)
๋!

ํ•ด๊ฒฐ ์ฝ”๋“œ

public class test3 {
    public static void main(String[] args) {
        int sum = 0;
        System.out.println("์‹œ์ž‘!");
        while (sum != 5) {
//                                random() ๋ฒ”์œ„์ง€์ • (์ตœ๋Œ“๊ฐ’-์ตœ์†Œ๊ฐ’+1) + ์ตœ์†Œ๊ฐ’
            int num1 = (int)(Math.random() * 6) + 1;
            int num2 = (int)(Math.random() * 6) + 1;
            System.out.println("("+ num1 +"," + num2 +")");
//          ๋˜ ๋‹ค๋ฅธ ์ถœ๋ ฅ๋ฐฉ๋ฒ•
//          System.out.printf("(%d,%d)\n", num1, num2);
            sum = num1 + num2;
        }
        System.out.println("๋!");
    }
}

์ฝ”๋“œ ํ•ด์„

- while() ๋ฌธ

ํ˜•์‹
while(์กฐ๊ฑด๋ฌธ)

์œ„์˜ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋•Œ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ํ•ฉ์ด 5 ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๋ฉˆ์ทจ์•ผ ํ•˜๋ฏ€๋กœ ์กฐ๊ฑด์„ sum != 5 ํ•ฉ์ด 5๊ฐ€ ์•„๋‹๋•Œ๋กœ ์ง€์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

- Math.random() ํ•จ์ˆ˜

ํ•จ์ˆ˜์˜ ์—ญํ• 
0 ~ 1 ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์†Œ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ ํ•ด์ค๋‹ˆ๋‹ค.
EX) 0.13212313

rnadom()ํ•จ์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํ•จ์ˆ˜๊ฐ€ ์ฃผ๋Š” ๊ฐ’์ด 0๊ณผ 1 ์‚ฌ์ด์˜ ๋žœ๋คํ•œ ์†Œ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— * ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์˜ ์ฐจ์ด + 1์œผ๋กœ ์„ค์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ตœ์†Œ ๊ฐ’ ์—ญ์‹œ + ์›ํ•˜๋Š” ์ตœ์†Œ๊ฐ’์œผ๋กœ ์ง€์ •์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.