๋ค์ ์ฝ๋๋ฅผ ์คํํ๋ฉด ๊ฒฐ๊ณผ๋ก 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๊ฐ ๋์ค๊ฒ ๋๋ ๊ฒ๋๋ค.
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
ํ์ผ๋ก ๋์ค๊ฒ ๋ฉ๋๋ค.
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);
}
}
๋ค์ ์ฝ๋๋ฅผ ์คํํ์ ๋ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ๋ฌด์์ ๋๊น? (์ฆ๊ฐ์ฐ์ฐ์์ ๋ํด ์์๋ณด์ธ์!)
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
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(์กฐ๊ฑด๋ฌธ)
์์ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ๋ฐ๋ณต์ ์ผ๋ก ๋ด๋ถ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค.
์ด ๋ฌธ์ ์์๋ ํฉ์ด 5 ๊ฐ ๋์์ ๋ ๋ฉ์ทจ์ผ ํ๋ฏ๋ก ์กฐ๊ฑด์ sum != 5
ํฉ์ด 5๊ฐ ์๋๋๋ก ์ง์ ํ์์ต๋๋ค.
ํจ์์ ์ญํ
0 ~ 1 ์ฌ์ด์ ๋๋คํ ์์๋ฅผ ๋ฐํ ํด์ค๋๋ค.
EX) 0.13212313
rnadom()
ํจ์์ ๋ฒ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ํจ์๊ฐ ์ฃผ๋ ๊ฐ์ด 0๊ณผ 1 ์ฌ์ด์ ๋๋คํ ์์์ด๊ธฐ ๋๋ฌธ์ * ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ์ด + 1
์ผ๋ก ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ต์ ๊ฐ ์ญ์ + ์ํ๋ ์ต์๊ฐ
์ผ๋ก ์ง์ ์ด ๊ฐ๋ฅํฉ๋๋ค.