์์ฆ์ ์น ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ ๋ฑ์ ์งํํ๋ฉด์
Java๋ฅผ ๊ณต๋ถ๋ฅผ ํ์ง ์์
๊ฑฐ์ ๊น๋จน์ ์ํ๊ฐ ๋์๋ค,,
๋ธ๋ก๊ทธ์ ๊ฐ๋ ๊ณผ ์ฝ๋๋ฅผ ์ฌ๋ฆฌ๋ฉด์
์ฌ์ด ๋ถ๋ถ์ ๋น ๋ฅด๊ฒ ๋ณต์ตํ๊ณ
์ด๋ ต๊ณ ๊ณต๋ถํ์ง ๋ชปํ๋ ๋ถ๋ถ์ ์ฌํ์ ์ผ๋ก ๋ณต์ตํ๋ฉด์
ํจํด ์ค์ฌ์ ์ฌ๊ณ ์ ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉํ๋ Swing ์ ๋นจ๋ฆฌ ์ตํ๊ณ ์ ํ๋ค.
1. ์๋ฐ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ
Java๋ Byte ์ฝ๋๋ก ํ์ผ์ ๊ตฌ์ฑํ๋ค. ์ด๋ OS(Operating System, ์ด์์ฒด์ )์์ ๋ฐ๋ก ์ธ์์ด ๋ ์ ์๊ณ JVM(Java Virtual Machine)์ ํตํด ๋ฒ์ญ์ ํ์ฌ ์ธ์์ด ๋๋ค. ์ฆ, Java๋ OS์ ๋ ๋ฆฝ์ ์ด๋ค.
OS๋ Window, Linux ์ฒ๋ผ ๋ง์ ์ข ๋ฅ๋ก ๋๋๊ฒ ๋๋๋ฐ, OS ์ข ๋ฅ์ ์๊ด ์์ด Java์ ์ฝ๋๋ฅผ ์ ๋ ฅํ๊ณ JVM์ ํตํด OS ์ ์ฉ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ์ด ๋๋ฉด, ๊ฐ๊ฐ ์์ ์์ด ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค. (+ OS๋ ํ๋์จ์ด ๊ด๋ฆฌ์, User Interface ๊ด๋ฆฌ, ํ๋ก๊ทธ๋จ ์คํ์ ๋ฒ์ญ)
2. ์๋ฐ ์ง์
์๋ฐ ์ง์ ๊ณ์ฐ ์ค๋ช
์ ๋ค์ ๊ธ์ ํ๊ณ (์ง์ ๊ณ์ฐ, ๋ณ๊ฒฝ ๋ค ๊น๋จน,,,,), ์ด๋ฅผ ์๋ฐ ์ฝ๋ฉ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
public static void main(String[] args) {
int a = 0b1011; //2์ง์
System.out.println("2์ง์: " + a);
int b = 0206;//8์ง์
System.out.println("8์ง์: " + b);
int c = 365; //10์ง์
System.out.println("10์ง์: "+ c);
int d = 0xB3;//16์ง์
System.out.println("16์ง์: " + d);
}
3. Char Type & String Type
์์ ๋ฐ์ดํ(')๋ฅผ ์ฌ์ฉํ๋ฉด Char Type์ ๋ณ์๊ฐ ์ ์ฅ์ด ๋์ด ์ ๋์ฝ๋๋ก ์ ์ฅ๋์ง๋ง, ํฐ ๋ฐ์ดํ(")๋ก ๊ฐ์ผ ๋ฌธ์ ๋๋ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๋ค์ ์ ๋์ฝ๋๋ก ๋ณํ์ด ๋์ง ์๋๋ค. ํฐ ๋ฐ์ดํ๋ก ๊ฐ์ผ ๋ฌธ์๋ฅผ ๋ฌธ์์ด์ด๋ผ๊ณ ํ๊ณ , String Type์ ์ฌ์ฉํด์ผ ํ๋ค.
์ฆ Char๋ ์ ๋์ฝ๋(ASCII Code)๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์ฉ์ดํ๋ค. ํ์ง๋ง, String์ ์ ๋์ฝ๋๋ฅผ ์ฌ์ฉํ ์๊ฐ ์๋ค.
public static void main(String[] args) {
char a = 65; // 10์ง์๋ก ์ ์ฅ
// char b = "b"; -> ํฐ ๋ฐ์ดํ ์ฌ์ฉ ๋ถ๊ฐ
String b = "65";
System.out.println(a+b);
}
//console ์๋ a65๊ฐ ๋์ค๊ฒ ๋จ
4. float Type VS double Type
์ค์ ๋ฆฌํฐ๋ด์ float ํ์ ์ผ๋ก ์ ์ฅํ๊ณ ์ถ์ผ๋ฉด, ๋ฆฌํฐ๋ด ๋ค์ ์๋ฌธ์ f๋ ๋๋ฌธ์ F๋ฅผ ๋ถ์ฌ ์ปดํ์ผ ์๋ฌ๊ฐ ๋์ง ์๋๋ก ํด์ผํ๋ค.
ํ์ | ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉํฌ๊ธฐ | ์ ์ฅ๋๋ ๊ฐ์ ํ์ฉ๋ฒ์(์์๊ธฐ์ค) | ์ ๋ฐ๋(์์์ ์ดํ ์๋ฆฌ) | |
float | 4byte | 32bit | (1.4*10-45)~(3.4*1038) | 7์๋ฆฌ |
double | 8byte | 64bit | (4.9*10-324)~(1.8*10308) | 15์๋ฆฌ |
public static void main(String[] args) {
float a = 2.4f;
double b = 2.4;
System.out.println("float: " + a + "double: " + b);
}
5. ์๋ ํ์ ๋ณํ(promotion, Implicit Conversation)
๊ฐ์ ํ์ฉ ๋ฒ์๊ฐ ์์ ํ์ ์ด ํ์ฉ ๋ฒ์๊ฐ ํฐ ํ์ ์ผ๋ก ์ ์ฅ๋ ๋ ๋ฐ์ํ๋ค.
์ค์๋ ์ ์ ์ฐ์ฐ์์๋ ์๋ ํ์ ์ด ๋ณํ ๊ฐ๋ฅํ๋ค.
- ๊ธฐ๋ณธ ํ์ ํฌ๊ธฐ ์
byte < short < int < long < float < double
public static void main(String[] args)
{
byte a = 10; int b = a; // a๋ int ํ์
์ผ๋ก ๋ณ๊ฒฝ ๋จ
long c = 1000000000L;
float d = c; /*c๋ float ํ์
์ผ๋ก ๋ณ๊ฒฝ*/ double e = c; /*c๋ double ํ์
์ผ๋ก ๋ณ๊ฒฝ*/
}
6. ๊ฐ์ ํ์ ๋ณํ/๊ฐ์ ํ ๋ณํ(Demotion, Explicit Conversation)
์์ ํ์ฉ ๋ฒ์ ํ์ = (์์ ํ์ฉ ๋ฒ์ ํ์ ) ํฐ ํ์ฉ ๋ฒ์ ํ์
public static void main(String[] args) {
int a = 65;
char b = (char) a;
System.out.println(b); // console ์ฐฝ : A
}
7. + ์ฐ์ฐ์์ ๋ฌธ์์ด ์๋ ํ์ ๋ณํ
public static void main(String[] args) {
int a = 10+2+3;
System.out.println("์๋์ a ๊ฐ: " + a);
String b = 10 + 2 + "3";
System.out.println(b); // 123
String c = 10 + "2" + 3;
System.out.println(c); //1023
String d = "10" + 2 + 3;
System.out.println(d); //1023
String e = "10" + (2+3);
System.out.println(e); //105
}
8. ๋ฌธ์์ด์ ๊ธฐ๋ณธํ์ ์ผ๋ก ๊ฐ์ ํ์ ๋ณํ
๋ณํ ํ์ | ์ฌ์ฉ |
String -> byte | Byte.parseByte |
String -> short | Short.parseShort |
String -> int | Integer.parseInt |
String -> long | Long.parseLong |
String -> float | Float.parseFloat |
String -> double | Double.parseDouble |
String -> boolean | Boolean.parseBoolean |
byte, short, int, long, float, double, boolean -> String | String.valueOf |
String.valueOf๋ฅผ ๋ฃ์ผ๋ฉด ์๋ฌด ๊ฐ์ด๋ ๋ฃ์ด๋ ๋ชจ๋ String์ผ๋ก ๋ณํ์ด ๊ฐ๋ฅํ๋ค.
String.valueOf๋ toString์ ๋ชจ๋ ๋ค๋ฅธ ํ์ ์ String์ผ๋ก ๋ณ๊ฒฝํ ์ ์๊ฒ ํด์ฃผ์ง๋ง, ๋ช ํํ ์ฐจ์ด์ ์ ์ค๋ช ํด๋ณด๊ณ ์ ํ๋ค.
์ฐจ์ด์ ์ Null์ด ์๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๊ฒ์ด๋ค. String.valueOf๋ null์ด๋ผ๋ฉด null์ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌํ๋ค. ํ์ง๋ง, toString์ ๋ฌธ์์ด๋ก ์ฒ๋ฆฌํ์ง ์๊ณ , Null PointerException ์๋ฌ ์ฒ๋ฆฌ๊ฐ ๋๊ฒ ๋๋ค.
public static void main(String[] args) {
String a = "10";
int b = Integer.parseInt(a);
System.out.println("Integer.parseInt: "+a);
String c = String.valueOf(b);
String d = Integer.toString(b);
System.out.println("String.valueOf(b): " +c + " Integer.toString(b): " + d);
}
[์ถ์ฒ] ํผ๊ณต์๋ฐ(p.01~p.88)
'Programming Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Java 5์ผ์ฐจ ๊ณต๋ถ(์ฐธ์กฐ ํ์ : ์ด๊ฑฐํ์ ) (0) | 2022.01.31 |
---|---|
Java 4์ผ์ฐจ ๊ณต๋ถ(์ฐธ์กฐ ํ์ ) (0) | 2022.01.30 |
Java 3์ผ์ฐจ ๊ณต๋ถ(์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ) (0) | 2022.01.29 |
Java 3์ผ์ฐจ ๊ณต๋ถ(์ฐ์ฐ์) (0) | 2022.01.29 |
Java 2์ผ์ฐจ ๊ณต๋ถ(System.out.printf, System.in.read, Scanner) (0) | 2022.01.25 |