1. ์ฐ์ฐ์
- ํ์๋ก ํ๋ ํผ์ฐ์ฐ์์ ์์ ๋ฐ๋ผ ๋จํญ, ์ดํญ, ์ผํญ ์ฐ์ฐ์๋ก ๊ตฌ๋ถ๋๋ค.
- ์ฐ์ ์์ ๋จํญ > ์ดํญ > ์ผํญ ์ฐ์ฐ์ ์์ผ๋ก ์ฐ์ ์์ ๊ฐ์ง๋ค.
- ์ฐ์ฐ์์ ๋ฐ๋์ ํ๋์ ๊ฐ์ ์ฐ์ถํ๋ค. ๋ ๊ฐ ์ด์์ ๊ฐ์ ์ฐ์ถํ๋ ์ฐ์ฐ์์ ์๋ค.
- ํ๋์ ๊ฐ์ด ์ฌ ์ ์๋ ๊ณณ์ด๋ฉด ์ด๋๋ ๊ฐ ๋์ ์ฐ์ฐ์์ ์ฌ์ฉํ ์ ์๋ค.
++x; // ๋จํญ ์ฐ์ฐ์
x + y; // ์ดํญ ์ฐ์ฐ์
(sum > 90) ? 'a' : 'b'; // ์ผํญ ์ฐ์ฐ์
2. ๋จํญ ์ฐ์ฐ์
int x = -100;
int result1 = +x; // +๋ถํธ๋ ๊ธฐ์กด์ ๋ถํธ๋ฅผ ์ ์งํด์ค๋ค. -100
int result2 = -x; // -๋ถํธ๋ ๊ธฐ์กด์ ๋ถํธ๋ฅผ ๋ฐ๊พผ๋ค. 100
short s = 100;
short result3 = -s; //์ปดํ์ผ ์๋ฌ, int ํ๋ณํ ๋๊ธฐ ๋๋ฌธ์
int result3 = -s; // -100
- ๋จํญ ์ฐ์ฐ์ : ++ / -- / ! / ~
- ์ฆ๊ฐ/๊ฐ์ ์ฐ์ฐ์
public class Hello {
public static void main(String[] args) {
int x = 10;
int y = 10;
int z;
System.out.println(x++); // 10
System.out.println(x); // 11
System.out.println(++x); // 12
System.out.println(x); // 12
System.out.println(y--); //10
System.out.println(y); // 9
System.out.println(--y); // 8
System.out.println(y); // 8
z=x++; // z = 12
System.out.println(z); // 12
System.out.println(x); // 13
z=++x; // z = 14
System.out.println(z); // 14
System.out.println(x); // 14
z = ++x + y++; // x: 15, y: 8, z: 23
System.out.println(z); // 23
System.out.println(x); // 15
System.out.println(y); // 9
// z ๋ณ์์ ๋ค์ด๊ฐ ์ฐ์ฐ ๊ฐ์ ์ ๋ณํจ
// ๋ณ์ x๊ฐ ์ฆ๊ฐํ๋ ๊ฒ๊ณผ ๋ณ์ z๊ฐ ์ฆ๊ฐํ๋ ๊ฒ์ ๋ณ๊ฐ
}
}
- ๋นํธ ์ฐ์ฐ์
public class Hello {
public static String toBinaryString(int value) {
String str = Integer.toBinaryString(value);
while(str.length() < 32) {
str = "0" + str;
}
return str;
}
public static void main(String[] args) {
int v1 = 11; // 11 : 00000000000000000000000000001011
int v2 = ~v1; // -12 : 11111111111111111111111111110100 (11์ ๋ฐ์ ์ํค๊ธฐ)
int v3 = ~v1 + 1; // -11 : 11111111111111111111111111110101 (11 ๋ฐ์ ํ ๊ฒ์ 1 ๋ํ๊ธฐ)
System.out.println(toBinaryString(v1)+ " " + v1);
System.out.println(toBinaryString(v2)+ " " + v2);
System.out.println(toBinaryString(v3)+ " " + v3);
}
}
3. ์ดํญ ์ฐ์ฐ์
- byte + byte => int + int = int
- int + long => long + long = long
- int + double => double + double = double
char c1 = 'A' + 1;
char c2 = 'A';
char c3 = c2 + 1; // ์ปดํ์ผ ์๋ฌ, char -> int๋ก ํ๋ณํ ๋๊ธฐ ๋๋ฌธ
int c3 = c2 + 1; // int ํ์ผ๋ก ๋ฐํ, 66
char c3 = (char)(c2 + 1); // char ํ์ผ๋ก ๋ฐํ, B
4. ์์ธ ์ฒ๋ฆฌ
- ์ค๋ฒํ๋ก์ฐ, Nan, Infinity ์์ธ ์ฒ๋ฆฌ : ArithmeticException()
5 / 0 // ์ปดํ์ผ์ ๋์ง๋ง, ์์ธ ๋ฐ์
5 % 0 // ์ปดํ์ผ์ ๋์ง๋ง, ์์ธ ๋ฐ์
try {
int z = x % y;
System.out.println("z: " + z);
} catch(ArithmeticException e){
System.out.println("0์ผ๋ก ๋๋๋ฉด ์๋จ");
}
- ํ์ง๋ง 0.0 ๋๋ 0.0f ์ ๊ฐ์ ์ค์๋ก ๋๋๋ฉด Infinity(๋ฌดํ๋), Nan(Not a number) ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ค.
- Double.isNan(value) ์ Double.isInfinite(value) ๋ก ์์ธ ์ฒ๋ฆฌ
5 / 0.0 // Infinity
5 % 0.0 // Nan
5. ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์
- ๋ฌธ์์ด + ๋ฌธ์์ด = ๋ฌธ์์ด
- ๋ฌธ์์ด + ์ซ์ = ๋ฌธ์์ด
- ์ซ์ + ๋ฌธ์์ด = ๋ฌธ์์ด
- 3 + 5 + ๋ฌธ์์ด = 8๋ฌธ์์ด
- ๋ฌธ์์ด + 3 + 5 = ๋ฌธ์์ด35
- 3 + ๋ฌธ์์ด + 5 = 3๋ฌธ์์ด5
String str1 = "JDK" + 6.0; // JDK6.0
String str2 = str1 + " ํน์ง"; // JDK6.0 ํน์ง
String str3 = "JDK" + 3 + 3.0; // JDK33.0
String str1 = 3 + 3.0 + "JDK"; //6.0JDK
6. String ํ์ ๋น๊ต ์ฐ์ฐ
- String ํ์ ๋ฌธ์์ด์ ๋น๊ตํ ๋์๋ == ๋์ equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
- ์๋ฐ๋ ๋ฌธ์์ด ๋ฆฌํฐ๋ด์ด ๋์ผํ๋ฉด ๋์ผํ String ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋๋ก ๋์ด ์๋ค.
- ๋ฐ๋ผ์ str1 ๊ณผ str2 ๋ ๊ฐ์ ๊ฐ์ฒด์ ๋ฒ์ง๊ฐ์ ๊ฐ์ง๊ณ ์์ง๋ง str3๋ ์๋ก์ด String ๊ฐ์ฒด์ ๋ฒ์ง๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
- ๊ทธ๋์ ๊ฐ์ ๋ฌธ์์ด์ด๋๋ผ๋ == ์ฐ์ฐ์๋ก ๋น๊ตํ๋ฉด false ๊ฐ ๋์ฌ ์ ์๊ธฐ ๋๋ฌธ์ equals()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
String str1 = "์๋
";
String str2 = "์๋
";
String str3 = new String("์๋
");
str1 == str2 // true
str1 == str3 // false
boolean result = str1.equals(str2); // true
boolean result = str1.equals(str3); // true
7. ๋ ผ๋ฆฌ ์ฐ์ฐ์
- AND ์ฐ์ฐ (๋
ผ๋ฆฌ๊ณฑ) : && ๋๋ &
- ๋ชจ๋ true ์ฌ์ผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ true
- OR ์ฐ์ฐ (๋
ผ๋ฆฌํฉ) : || ๋๋ |
- ํ๋๋ผ๋ true ์ด๋ฉด ๊ทธ ๊ฒฐ๊ณผ๊ฐ true
- XOR ์ฐ์ฐ (๋ฐฐํ์ ๋
ผ๋ฆฌํฉ) : ^
- ๋ ์ค ํ๋๊ฐ true ํ๋๊ฐ false ์ธ ๊ฒฝ์ฐ์๋ง ๊ทธ ๊ฒฐ๊ณผ๊ฐ true
- NOT ์ฐ์ฐ (๋
ผ๋ฆฌ ๋ถ์ ) : !
- ๊ธฐ์กด์ ๋ ผ๋ฆฌ๊ฐ๊ณผ ๋ฐ๋๋๋ ๊ฒฐ๊ณผ (true์ด๋ฉด false)
8. ๋นํธ ์ฐ์ฐ์
- AND ์ฐ์ฐ (๋
ผ๋ฆฌ๊ณฑ) : &
- ๋ชจ๋ 1 ์ด๋ฉด ๊ทธ ๊ฒฐ๊ณผ๊ฐ 1
- OR ์ฐ์ฐ (๋
ผ๋ฆฌํฉ) : |
- ๋ ์ค ํ๋๊ฐ 1 ์ด๋ฉด ๊ทธ ๊ฒฐ๊ณผ๊ฐ 1
- XOR ์ฐ์ฐ (๋ฐฐํ์ ๋
ผ๋ฆฌํฉ) : ^
- ๋ ์ค ํ๋๊ฐ 1 ํ๋๊ฐ 0 ์ธ ๊ฒฝ์ฐ์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ 1
- NOT ์ฐ์ฐ (๋
ผ๋ฆฌ ๋ถ์ ) : ~
- ๊ธฐ์กด์ ๋ ผ๋ฆฌ๊ฐ๊ณผ ๋ฐ๋๋๋ ๊ฒฐ๊ณผ (1 ์ด๋ฉด 0)
๋นํธ ์ด๋ ์ฐ์ฐ์
- a << b : a ๋นํธ๋ฅผ b ๋งํผ ์ผ์ชฝ์ผ๋ก ์ด๋, ๋น์๋ฆฌ๋ 0์ผ๋ก ์ฑ์
- a >> b : a ๋นํธ๋ฅผ b ๋งํผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋, ๋น์๋ฆฌ๋ ์ต์์ ๋ถํธ ๋นํธ๋ก ์ฑ์
- a >>> b : a ๋นํธ๋ฅผ b ๋งํผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋, ๋น์๋ฆฌ๋ 0์ผ๋ก ์ฑ์
9. ์ผํญ ์ฐ์ฐ์
- ์ธ ๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ํ์๋ก ํ๋ ์ฐ์ฐ์
int score = 85;
char grade = (score > 90) ? 'A' : ((score > 80) ? 'B' : 'C'); // B
'JAVA > Java Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] DAO, DTO, VO ์ ๋ฆฌ (0) | 2023.09.16 |
---|---|
5์ฅ ์ฐธ์กฐ ํ์ (0) | 2021.09.13 |
4์ฅ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ (0) | 2021.09.12 |
2์ฅ ๋ณ์์ ํ์ (0) | 2021.09.12 |
1์ฅ ์๋ฐ ์์ํ๊ธฐ (0) | 2021.09.12 |
๋๊ธ