1. Java κΈ°λ³Έ μ§μ, νλ‘μ νΈ μμ±ν΄λ³΄κΈ°(IntelliJ μ¬μ©)
2. λ³μλ?
3. μ μΆλ ₯
4. νλ³ν(Casting)
1-1. μλ° μΈμ΄μ νΉμ§
- μ΄λ€ μ΄μ체μ μμλ λμμ΄ κ°λ₯νλ€.
- κ°μ₯ μ€μν κ²μ κ°μ²΄ μ§ν₯ μΈμ΄λΌλ κ²μ΄λ€.
- μ€μνμμ μ‘΄μ¬νλ κ²μ μ»΄ν¨ν°μμ ννν μ μλλ‘ λ§λ€μ΄μ§ μΈμ΄μ΄λ€. λλ¬Έμ μ½λλ₯Ό μ΄ν΄νκΈ° λΉκ΅μ μ½λ€.
- λ€μν κ°λ° λꡬμ λΌμ΄λΈλ¬λ¦¬λ€μ΄ μ‘΄μ¬νκΈ°μ μ΄κ²μ μ¬μ©ν΄ μνλ μμ μ λ³΄λ€ ν¨μ¨μ μΌλ‘ ν μ μλ€.
1-2. JVMκ³Ό JDK?
JVM(JavaVirtualMachine)μ "μλ° κ°μ λ¨Έμ "μ΄λΌλ λ»μ κ°κ³ μλ€. μ΄κ²μ κ°μμ κΈ°κΈ°λ₯Ό λ§λ€μ΄μ£Όλ©° μ΄λ₯Ό ν΅ν΄ λ€μν μ₯λΉ(PC, λͺ¨λ°μΌ, μλ²)μ Java νλ‘κ·Έλ¨μ μ€νμν¬ μ μλ€!
JDK(JavaDevelopeKit)λ "μλ° κ°λ° ν€νΈ" λΌλ λ»μ΄λ€. μ€μ λ‘ μλ° νλ‘κ·Έλ¨μ κ°λ°ν μ μλ λꡬμ΄λ©° .java -> .class νμΌλ‘ λ³νν΄μ£Όλ μ»΄νμΌλ¬μ κΈ°λ₯μ΄ μλ€.
*java μΈμ΄λ‘ κ°λ°νκ³ μΆλ€λ©΄ μΈν 리μ μ΄, μ΄ν΄λ¦½μ€ κ°μ IDE λꡬ μ€μΉμ λλΆμ΄ μ΄ JDK λν λ°λμ μ€μΉν΄μ£Όμ΄μΌ νλ€.
*λ²μ μ λ°λ₯Έ νΈνμ± λ¬Έμ κ° μμ μ μμΌλ νμΈνκ³ μ€μΉν΄μΌ νλ€.
1-3. νλ‘κ·Έλλ° μ΄ν΄νκΈ°(main λ©μλμ μ½λ)
- mainλ©μλλ νλ‘κ·Έλ¨μ μμμ μ΄λ€. Javaμ±μ΄ μ€νλλ©΄ main λ©μλλ₯Ό μ°μ μ μΌλ‘ μ€νμν€λ κ²μ΄ JVMμ μ€μν μν μ€ νλμ΄λ€. λ°λΌμ μλ° νμΌμ μλ‘ λ§λ€κ³ main methodλ₯Ό μ μΈν΄μ£Όμ΄μΌ νλ€.
#1)public 2)class 3)main :
1)μΈλΆμμ μ€νμν¬ μ μλ€κ³ νμν΄μ£Όλ μ κ·Όμ μ΄μ.
2)κ°μ²΄λ₯Ό λ§λλ ν΄λμ€λΌκ³ "μ μΈ".
3)ν΄λμ€ μ΄λ¦! νμΌλͺ κ³Ό λ°λμ μΌμΉν΄μΌ νλ€!
#public 1)static 2)void main 3) (String[] args)
1) Java μ»΄νμΌλ¬κ° λ°μ΄νΈ μ½λλ‘ λ³νν λ 미리 μ μλλ λ©μλ νκΈ°μ΄λ€.
2) λ©μλμ μλ΅κ°μ μ μνλ κ³³. void: μλ΅κ° μμμ μ μ.
3) λ©μλκ° μμλ λ λ겨λ°μ λ°μ΄ν° 곡κ°, λ¬Έμμ΄ μ¬λ¬κ° λ°μ΄ν° νμ , κ·Έκ²μ μ΄λ¦(μ¬μ©μκ° μ μν κ°.)
#System.out.print
: Java μΆλ ₯ μ½λμ΄λ€. printlnμ κ²½μ°, lnμ lineμ μλ―Ένλ©° μΆλ ₯κ°μ΄ μ¬λ¬κ°μΌ λ λμΌν λΌμΈμ λμ€μ§ μκ³ μλμΌλ‘ μ€λ°κΏμ ν΄μ€λ€.
# //
:μ μ¬λμ¬ 2κ°λ μ£Όμμ²λ¦¬λ₯Ό μλ―Ένλ©° ν΄λΉ λ΄μ©μ μ 체 μ½λμ μ΄λ€ μν₯λ λ―ΈμΉμ§ μλλ€. κ°λ°μκ° νμν μ 보λ₯Ό λͺ μν΄μΌν κ²½μ° μ¬μ©νλ€.
2-1. λ³μ(λ³νλ κ²κ³Ό λ³νμ§ μλ κ²)
Java νλ‘κ·Έλ¨μμ μ¬λ¬ κ°μ λ€λ£¨κΈ° μν΄μλ κ·Έκ²μ λ΄μ "μ μ₯ 곡κ°"μ΄ νμνλ€! λ³μλ₯Ό μ μΈν¨μΌλ‘μ¨ ν΄λΉ 곡κ°μ΄ λ§λ€μ΄μ§λ€! +κ°λ³μ μΈ κ°λ€μ λ€λ£¨κΈ° μ¬μμ§
- λ³μλ₯Ό μ μΈν λ μ μ₯ 곡κ°μ λ΄μ κ°μ νμ (νν)μ κ·Έκ²μ μ΄λ¦μ μ§μ ν΄μ€μΌ νλ€!
ex1) int num ex2) int num=0; μ΄ λκ°μ§ μμ λͺ¨λ μ μνμΌλ‘ μ μΈνλ©° κ·Έκ²μ μ΄λ¦μ numμ΄λΌκ³ ν΄μ£Όμλ€.
λ€λ₯Έ μ μ λλ²μ§Έ κ²½μ°μλ λ³μ μ μΈκ³Ό λμμ μ΄κΈ°νλ₯Ό ν΄μ£Όμλ€.
- java νλ‘κ·Έλ¨μμ μ μ₯νλ λλΆλΆμ κ°λ€μ λ³μμ΄λ€. κ·Έλ μ§λ§ λ³νμ§ μλ μ μ₯곡κ°μΈ "μμ"μ κ°λ λ μλ€.
μ΄λ κ² λ³νμ§ μμ κ°λ€μ λ°λ‘ μ μΈν΄μ£Όλ©΄ λ³΄λ€ ν¨μ¨μ μΌλ‘ μ μ₯곡κ°μ μ¬μ©ν μ μλ€.
ex) final int num = 10; μ΄μ κ°μ΄ λ³μμ νμ μμ finalμ λΆμ΄λ©΄ λλ€.
2-2. λ³μμ μ’ λ₯(κΈ°λ³Ένκ³Ό μ°Έμ‘°ν)
λ³μμ μ’ λ₯λ ν¬κ² κΈ°λ³Έν λ³μμ μ°Έμ‘°ν λ³μλ‘ λλλ€.
- κΈ°λ³Έν λ³μ: boolean / char / byte, int(4byte), long(8byte) / float(4byte), double(8byte) κ°κ° λ Όλ¦¬ν, λ¬Έμν, μ μν, μ€μν λ±μ΄ μκ³ κ°μ λ°μ΄ν° νμ μΈλ° μ¬λ¬κ°κ° μ‘΄μ¬νλ κ²μ κ°μ ννν μ μλ μ λκ° λ€λ₯΄κΈ° λλ¬Έμ΄λ€. μΌλ§λ§νΌμ λ²μλ₯Ό ννν μ μλμ§κ° λ€λ₯Έ μ μ΄λ€.
** λ¬Έμ != λ¬Έμμ΄
- μ°Έμ‘°ν λ³μ: String(ν΄λμ€), Object, Array, List
* μ°Έμ‘°ν λ³μλ κ°μ κ·Έ 곡κ°μ λ°λ‘ μ μ₯νλ κ²μ΄ μλλΌ λ³λμ μ μ₯ 곡κ°μ κ°κ³ μλ€. κ·Έλμ λ³μ μ μΈμ ν΄λΉ λ³μλ μ€μ λ‘ λ°μ΄ν°κ° μ μ₯λμ΄ μλ μ£Όμκ°μ κ°λ¦¬ν€κ³ μλ€.
*λ³μμ ν¬κΈ° μμ²΄κ° κΈ°λ³Ένκ³Ό λ€λ₯΄κ² κ°λ³μ μ΄κ³ λ¨μΌ 곡κ°μ λ΄μ μ μλ ν¬κΈ°κ° ν° κ²½μ°κ° λ§λ€.
**λ©λͺ¨λ¦¬ κ΄μ ?
*μμμ λ§ν κ²μ λ§λΆμ΄μλ©΄ μ€μ κ°μ μ μ₯νλ κΈ°λ³Έν κ³Ό λ€λ₯΄κ² μ°Έμ‘°νμ μ€μ κ°μ΄ μλ μλ³Έ κ°μ "μ£Όμ"λ₯Ό μ μ₯νλ€. μ΄κ²μ memoryμμμ λ΄€μ λ μλ³Έκ°μ Heap(λμ ) μμμ μκ³ κ·Έκ²μ κ°λ¦¬ν€λ μ£Όμκ°μ Stack(μ μ ) μμμ μλ€.
- λνΌ ν΄λμ€ λ³μ(Wrapper Class): "κΈ°λ³Έν λ³μ"λ₯Ό ν΄λμ€λ‘ νλ² λννλ λ³μμ΄λ€.
ex) int num = 10;
Integer num = new Integer(num);
*μ΄κ²μ κ΅³μ΄ μ¬μ©νλ μ΄μ ? ν΄λμ€λ κ°μ²΄μ§ν₯ μΈμ΄μΈ μλ°μ ν΅μ¬ κΈ°λ₯μ΄λ€. λ°λΌμ λ³μλ₯Ό ν΄λμ€λ‘ κ΄λ¦¬νλ©΄ κ°μ²΄μ§ν₯μ λ§μ κΈ°λ₯μ μ¬μ©ν μ μλ€.
- μμ€ν€μ½λ
μ»΄ν¨ν°μλ κΈ°λ³Έμ μΌλ‘ 1,0 λκ°μ§λ₯Ό ν΅ν΄ κ°μ μ μ₯ν μ μλ€. κ·Έλ λ€λ©΄ μ«μκ° μλ λ¬Έμλ μ΄λ»κ² μ μ₯ν κΉ?
κ·Έλμ λ±μ₯νκ² λ κ²μ΄ μμ€ν€μ½λμ΄λ€. λ¬Έμμ μ«μλ₯Ό 맀μΉν΄μ μλ₯Ό λ€λ©΄ a - 65, c-67 μ΄μ κ°μ΄ μ»΄ν¨ν°μ μ μ₯ν μ μλ€.
#λ¬Έμμ λ¬Έμμ΄μ μ°¨μ΄?
λ¬Έμλ λ§ κ·Έλλ‘ λ¬Έμ νλλ₯Ό μλ―Ένλ€ a, b, c μ΄μ κ°μ λ¨μΌ λ¬Έμ! char bee = 'a'; μ΄μ κ°μ΄ κ°μ μ μ₯νλ€.(\n λ κ° μμ μ μΈνλ μλ£νμ΄ κΈ°λ³Ένμ΄λΌλ©΄ 4byte, 8byteλ±μΌλ‘ λͺ ννκ² λ©λͺ¨λ¦¬ 곡κ°μ΄ ν λΉλ¨)
Stringμ λ¬Έμκ° νκ° μ΄μμΈ "λ¬Έμμ΄"μ μ μ₯ν μ μλ€. String bee = "Dangerous speices"; μ΄μ κ°μ΄ λ§μ΄λ€.
*μ΄ λκ°μ§λ₯Ό ν·κ°λ¦¬λ©΄ μλΉν κ³€λνλ€. (λλ¬Έμ μ‘΄μ¬.)
3-1. μ μΆλ ₯
- μ λ ₯: μ½λ 맨 μ λΆλΆ μμ import java.util.Scanner; μ μΈ ν
Scanner sc = new Scanner(System.in);
String input = sc.next(); // sc(Scanner)μ .next();
- μΆλ ₯:
System.out.println();
μ΄μ κ°μ΄ μ¬μ©νλ©΄ λλ€.
4-1 νλ³ν(Casting)
- νλ‘κ·Έλλ° κ³Όμ μ€ λ¬Έμμ΄λ‘ μ λ ₯ν λ³μλ₯Ό μ μνμΌλ‘ λ³νν΄μ κ³μ°νκ³ μΆμ κ²½μ° ν΄λΉ λ³μλ₯Ό λ€λ₯Έ νμΌλ‘ λ³νμ΄ νμνλ€. μ΄κ²μ μΊμ€ν μ ν΅ν΄ ν΄κ²°ν μ μμΌλ©° λ³΄ν΅ μ μ - μ€μ - λ¬Έμ μ¬μ΄μμ μΌμ΄λλ€.
ex) μ€μνμ μ μνμΌλ‘ λ³ννκΈ°
//#1
double douNum = 3.2;
System.out.println((int)douNum); //λ¨μνκ² μΊμ€ν
λ§ μ§ν.
//#2
float floNum = 3.5f;
int num;
num = (int)floNum; // numμ floNumμ κ°μ μ μ₯νκ³ μΆμλ° μ΄ κ°μ μ€μμ΄λ€. μ΄κ²μ intλ‘ νλ³ν νμκ³
System.out.println(num); //numμ μΆλ ₯νμλ€.
//κ·Έλ μ§λ§ μ΄λ κ² λλ©΄ μ΄μ© μ μλ κ°μ μμ€μ΄ λ°μνλ€.
μ΄μ κ°μ΄ κ°λ¨νκ² νλ³νμ΄ κ°λ₯νλ€.
- νλ³νμλ μμ κ°μ΄ λͺ μμ μΈ νλ³νλ μμ§λ§ μλμΌλ‘ νλ³νμ΄ λλ κ²½μ°λ μλ€.
μλ₯Ό λ€λ©΄ λ μμ λ²μμΈ byte νμ λ³μλ₯Ό intνμΌλ‘ μΊμ€ν νλ©΄ λΉμ°ν intνμ΄ λ ν° κ°μ λ΄μ μ μκΈ° λλ¬Έμ
λ¬Έμ μμ΄ μλμΌλ‘ νλ³νμ΄ μ΄λ£¨μ΄μ§λ€!
μμ± νκ°: λ무 μ μ¨μΌκ² λ€λ μμ¬μ΄ μμ κ°λ°λΈλ‘κ·Έλ₯Ό λ―Έλ£¨κ³ λ―Έλ€λλ° μΌλ¨ κΎΈμ€ν μ¨λ΄μΌκ² λ€!
μ²μμΌλ‘ μ½λλΈλλ μ¨λ³΄κ³ μ€λ λ°°μ΄ λ΄μ© μ 리νλ©΄μ ν·κ°λ¦¬λ κ°λ λ ν¨μ¬ λ§μ΄ μ 리λμλ€! νμ΄ν !
'JavaStudy' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
TIL JAVA #3-1 (0) | 2023.11.30 |
---|---|
TIL JAVA #2-4 (1) | 2023.10.20 |
TIL JAVA #2-3 (0) | 2023.10.19 |
TIL JAVA #2-2 (3) | 2023.10.19 |
TIL JAVA #2-1 (0) | 2023.10.18 |