- λ³μλ μ¬μ μ μλ―Έλ‘λ λ³νλ κ°
- λ³μλ κ°μ μ μ₯ν΄λλ 곡κ°(λ©λͺ¨λ¦¬ 곡κ°)
- int result = 1 + 2; System.out.println(result); resultλ κ³μ°νλ νλ‘κ·Έλ¨μ κ²°κ³Ό κ°μ λ΄λ λ³μ
- λ³μλ μ μΈκ³Ό μ΄κΈ°ν(κ°μ λμ )λ‘ λλ μ§λ€.
- μλ£ν λ³μλͺ ; ex) int result; long currentTime; char text;
- λ³μλͺ
μ νλ κ·μΉ
- λ³μλͺ μ μλ¬Έμ(λλ¬Έμ, μλ¬Έμ), μ«μ, νΉμκΈ°νΈ($, _)λ§ μ¬μ© κ°λ₯
- λ³μλͺ μ μ«μλ‘ μμν μ μλ€.
- μλ°μμ μ¬μ©μ€μΈ μμ½μ΄(ν¨μ,λͺ λ Ήμ΄)λ μ¬μ©ν μ μλ€. (if, while, else, int, long, string ...) ex) int 1(x), long if(x), String 1aser(x), int_num, $num, num1(o)
- λ³μλͺ
μ μ μΈν λλ λ³μκ° μ΄λμ μ¬μ©λλ μ§ λͺ
ννκ² μ μ μλ λ³μλͺ
μ μ§λλ‘ νλ€.
(μ μ§λ³΄μ κ΄μ μμ λ€λ₯Έ κ°λ°μκ° μ½λλ₯Ό λ΄€μ λλ λ³μλ₯Ό μ΄λμ μ¬μ©νλμ§ λͺ
ννκ² μ μ μλλ‘)
- CamelCase, SnakeCase λ± μ¬λ¬κ°μ§ μ’ λ₯μ νκΈ°λ²μ΄ μ‘΄μ¬νμ§λ§ λλΆλΆ CamelCase νκΈ°λ²μ λ§μ΄ μ¬μ©νλ€.
- CamelCase νκΈ°λ²μ λ³μλͺ μ 첫λ¨μ΄λ λͺ¨λ μλ¬Έμλ‘ λλ²μ§Έ λ¨μ΄μ 첫κΈμλ§ λλ¬Έμλ‘ μ μΈνλ νκΈ°λ² ex)λ§μ κ²°κ³Ό λ³μλͺ μ int addResult;
- μλ£νμ λ©λͺ¨λ¦¬μ κ°μ μ§μ μ μ₯νλ νν
- μλ°μ λ©λͺ¨λ¦¬ ꡬ쑰λ heap, stack, static λΆλ₯
- μλ£ν stack λ©λͺ¨λ¦¬μ μ μ₯λ¨
- μλ£νμ μ’ λ₯ : μ μν, λ¬Έμν, μ€μν, λ Όλ¦¬ν
- μ μν : byte, short, int, long
- λ¬Έμν : char
- μ€μν : floatm double
- λ Όλ¦¬ν : boolean
- μ μν μμνμ (μλ£ν)μ μμ, 0, μμλ₯Ό νννλ λ° μ¬μ©λλ μλ£ν
- byteλ 1byteμ λ©λͺ¨λ¦¬ 곡κ°μ μ°¨μ§
- byteμ νν λ²μ : -128 ~ 127
- shortμ 2byteμ λ©λͺ¨λ¦¬ 곡κ°μ μ°¨μ§
- shortμ νν λ²μ : -32768 ~ 32767
- intλ 4byteμ λ©λͺ¨λ¦¬ 곡κ°μ μ°¨μ§
- intμ νν λ²μλ -21μ΅ ~ 21μ΅
- longμ 8byteμ λ©λͺ¨λ¦¬ 곡κ°μ μ°¨μ§
- longμ νν λ²μ : -100κ²½ ~ 100κ²½
- long λ³μνμ μ΄κΈ°νμ λ€μ L(l)μ λΆμ¬μΌν¨ ex) long lNum = 1000000000L(l);
- μλ°μμ μ μν μ°μ°μ΄ μΌμ΄λ κ²½μ° intλ₯Ό κΈ°λ³Έννλ‘ μ¬μ©ν¨μΌλ‘ longμ μ μΈν μ μν μ°μ°μ intνμΌλ‘ λ³ν ex) short num1 = 1; short num2 =2; System.out.println(num1 + num2); => intνμΌλ‘ μΉνλ κ²°κ³Όκ°
- λ¬Έμν μμνμ (μλ£ν)μ ASCII μ½λλΌλ μ½λμ§ν©μ μ μλμ΄ μλ κ°μ ν΅ν΄ λ¬Έμλ‘ μΉννμ¬ νμΆ (κ° μΈμ΄μ λ§μΆ° μ©λμ΄ 2λ°μ΄νΈλ₯Ό λμ΄κ°λ μμ€ν€μ½λλ₯Ό μ λμ½λλΌκ³ ν¨) ex) char txt = 'A'; //μ€μ λ‘λ Aμ ν΄λΉνλ 10μ§μ κ° 65κ° μ μ₯λ¨
- λ¬Έμν λ³μλ₯Ό intνμΌλ‘ λ³ννλ©΄ Ascii μ½λ κ°μ νμΈν μ μλ€. ex) char txt = 'A'; System.out.println(txt); -> Aλ₯Ό μΆλ ₯ System.out.println((int)txt); -> Aμ ν΄λΉνλ Ascii μ½λ κ° μΆλ ₯
- charλ 2byteμ λ©λͺ¨λ¦¬ κ³΅κ° μ°¨μ§
- charμ νν λ²μ : 0x00 ~ 0x7FκΉμ§μ λ¬Έμν λ°μ΄ν° νμΆ('\u0000' ~ '\uFFFF'κΉμ§μ λ¬Έμν(μ λμ½λ))
- μ€μν μμνμ (μλ£ν)μ μ€μ κ°μ΄ λ°μ΄ν°λ₯Ό νμΆνκΈ° μν΄ μ¬μ©(μμμ μ ν¬ν¨νλ μ€μ κ°)
- floatλ 4byteμ λ©λͺ¨λ¦¬ 곡κ°μ μ°¨μ§
- floatμ νν λ²μ : 1.4E-45 ~ 3.4028235E8
- doubleμ 8byteμ λ©λͺ¨λ¦¬ κ³΅κ° μ°¨μ§
- doubleμ νν λ²μ : 4.9E-324 ~ 1.7976...E308
- floatμΌλ‘ μ μΈλ λ³μμ κ°μ λμ (μ΄κΈ°ν)ν λ κ°λ€μ f(F)λ₯Ό λΆμ¬μ€λ€. ex) float fNum = 3.14F(f);
- μ€μ κ°λ° νκ²½μμλ float보λ€λ doubleμ λ§μ΄ μ¬μ©. floatλ³΄λ€ ν° λ¨μμ κ°μ΄ λ€μ΄μμ λ μλ¬κ° λ°μνλ κ²μ λ°©μ§νκΈ° μν΄ doubleμ μ£Όλ‘ μ¬μ©.
- λ Όλ¦¬ν μμνμ (μλ£ν)μ true, false λ κ°μ§ κ°λ§ μ‘΄μ¬.
- true = 1, false = 0; μλ°μμ λ©λͺ¨λ¦¬μ κΈ°λ³Έλ¨μκ° 1byteμ΄κΈ° λλ¬Έμ λ Όλ¦¬ν booleanλ 1byteλ₯Ό μ¬μ©νλ€.
- νλ‘κ·Έλλ°μμλ λ³μλ₯Ό μ μΈν ν λ³μμ κ°μ λμ νλ μμ μ μ΄κΈ°νλΌκ³ νν
- λ³μμ μ μΈκ³Ό μ΄κΈ°νλ₯Ό λΆλ¦¬ ex) int result; //λ³μλ₯Ό λ¨Όμ μ μΈ result = 100; // λ³μμ μ μΈκ³Ό λΆλ¦¬νμ¬ μ΄κΈ°ν
- λ³μμ μ μΈκ³Ό λμμ μ΄κΈ°ν ex) int result = 100; //λ³μμ μ μΈκ³Ό λμμ μ΄κΈ°ν
- μλ°λ νλ‘κ·Έλ¨μ΄ ꡬλλ λ κ°μλ©λͺ¨λ¦¬λ₯Ό ν λΉ λ°μμ μ¬μ©
- JVMμ΄ νλ‘κ·Έλ¨μ μ€ννλ©΄μ μ΄μ체μ (windows, macOS, Linux...)μ νμν κ°μλ©λͺ¨λ¦¬λ₯Ό μμ². μ΄μ체μ λ μμ²λ°μ κ°μλ©λͺ¨λ¦¬λ₯Ό 물리μ λ©λͺ¨λ¦¬(RAM)μμ ν λΉν΄μ λ겨μ€.
- κ°μλ©λͺ¨λ¦¬λ Heap, Stack, Static μμμΌλ‘ ꡬλΆ.
- Heap μμμλ μ°Έμ‘°νμ μ κ°μ΄ μ μ₯λ¨
- Stack μμμλ μμνμ μ κ°μ΄ μ μ₯λ¨
- Stactic μμμλ StaticμΌλ‘ μ μΈλ μ μ λ³μλ μ μ λ©μλμ μ μλ³μκ° μ μ₯
- Staticμ μμμ λ³μ κ°μ΄λ λ©μλλ νλ‘κ·Έλ¨ μμλΆν° λκΉμ§ κ³μ μ‘΄μ¬. Garbage Collectorμ μν₯μ λ°μ§ μμ.
- JVMμ κ°μλ©λͺ¨λ¦¬ 곡κ°μ ν μΉΈμ 1Byteμ© μ°¨μ§
- int λ³μ μ μΈ μ λ©λͺ¨λ¦¬ 곡κ°μ 4μΉΈμ μ°¨μ§
- μ°¨μ§ν λ©λͺ¨λ¦¬ 곡κ°μ λ³μλ₯Ό μ μ₯
- 4μΉΈμ λν λ³μΉμ λ³μλͺ μΌλ‘ μ§μ
- int a = 100; λ³μλ₯Ό μ μΈκ³Ό μ΄κΈ°ν νμ λ
- JVMμ κ°μλ©λͺ¨λ¦¬(stackμμ)μμ μλ£νμ ν¬κΈ°λ§νΌμ λ©λͺ¨λ¦¬ 곡κ°μ ν보(4μΉΈ)
- ν보λ 곡κ°μ μ΄κΈ°νλ κ°(100)μ μ μ₯
- ν보λ 곡κ°μ μ΄λ¦(λ³μΉ)μ μ μΈλ λ³μλͺ μΌλ‘ μ§μ
- System.out.println(a); λ± aλ₯Ό μ¬μ©νλ©΄ λ©λͺ¨λ¦¬ 곡κ°μμ aλΌλ μ΄λ¦μ μ°Ύμμ κ·Έ 곡κ°μ μλ κ°μ μ¬μ©
- μμνμ λ³μλ λ©λͺ¨λ¦¬μ μ€νμμμ μ μ₯λ λ³μλͺ μ ν΅ν΄ μ€νμμμ κ°μ μ°Έμ‘°ν΄μ μ¬μ©νλ€.
- varλΌλ ν€μλλ₯Ό μ¬μ©νλ©΄ μλ£ν μ§μ μ νμ§μκ³ λ³μμ μΈμ΄ κ°λ₯νλ€.
- λ³μ μλ£ν μΆλ‘ μ΄λΌλ κΈ°λ₯μ ν΅ν΄μ μ΄κΈ°ν(κ° λμ )λλ κ°μ μλ£νμ μΆλ‘ ν¨.
- var λ³μλ μ μΈκ³Ό λμμ μ΄κΈ°νκ° λμ΄μΌν¨. ex) var str = "hello"; -> JVMμμ "λ‘ λ¬ΆμΈ κ²μ μΈμνμ¬ varνμ μ String νμ μΌλ‘ μ»΄νμΌνκ² λ¨. var num = 10; -> JVMμμ μ«μλ‘ μΈμνμ¬ intλ‘ μ»΄νμΌνκ² λ¨
- μλ£νμ΄ μΆλ‘ λ μνμμ λ€λ₯Έ μλ£νμ κ°μ λμ ν μ μλ€. ex) var str = "java"; -> stringμΌλ‘ μΆλ‘ λ μν str = 10; -> stringμΌλ‘ μ΄λ―Έ μΆλ‘ λ λ³μμ΄κΈ°μ intκ°μ΄ λμ λλ©΄ μ»΄νμΌμ€λ₯κ° λ°μν¨.
- μμλ λ³νμ§ μλ κ°. ν λ² μ΄κΈ°ν λ μνμ μμλ κ°μ λ³κ²½ν μ μλ€.
- μμλ μ ν΄μ§ κ°λ€μΌ μ§μ ν λ μ¬μ© ex) 1λ μ΄ 12κ°μμΈ κ²μ λ³νμ§ μλ λ²μΉμ΄κΈ° λλ¬Έμ μ΄λ° κ²½μ° μμ μ¬μ© final int COUNT_MONTHS = 12; 1μ£ΌμΌμ΄ 7μΌ => final int COUNT_DAYS_WEEK = 7; μμ£Όμ¨ 3.14 => final double PI = 3.14;
- μμμ μ μΈμλ finalν€μλλ₯Ό μ¬μ©. μμμ λ³μλͺ μ λλ¬Έμλ‘ μ§μ ν΄μΌν¨.
- λ³μλͺ μ΄ λͺ¨λ λλ¬ΈμμμΌλ‘ Camel case λμ _λ₯Ό λ¨μ΄μ μ°κ²°λΆμ μ¬μ©νλ€.
- μ½λλ΄μμ λ°λ³΅μ μΌλ‘ μ¬μ©λ κ°μ μμλ‘ μ§μ ν΄λμΌλ©΄ νΈλ¦¬νκ² μ¬μ©ν μ μλ€.