#6. Java - 2 ํด๋์ค (์์ฑ์์ )
by JiwonDevJava - 1 ์์ฝ
2021.07.01 - [Backend/Java] - #3. Java - 1
๋๋ณด๊ธฐ
1. ์๋ฐ์ ๋ชจ๋ ๊ฒ์ ํด๋์ค์ด๋ค. ์ฆ ๊ธฐ๋ณธ์๋ฃํ์ ์ ์ธํ ๋ชจ๋ ๊ฒ์ด ์ฐธ์กฐํ(Reference)์ด๋ค.
2. ์๋ฐ์ ์๋ฃํ์ ๋ชจ๋ ์ด์์ฒด์ ์ ๋์ผํ๊ฒ ๋์ํ๋ค. (๋ ๋ฆฝ์ฑ ์ ์ง)
3. ์๋ฐ ๋ค์ด๋ฐ ์ปจ๋ฒค์ 2021.06.30 - [Backend/Java] - # 2. Java Naming Conventions
4. ์ค์ ๋ฆฌํฐ๋์๋ ์๋ฃํ ํ๊ธฐ๋ฅผ ํด์ฃผ์. (100L, 2.4F, 5.6D)
5. String์ ๊ฐ์ฒด๋ก ์์ฑ(new)ํ๊ฑฐ๋ ๋ฆฌํฐ๋๋ก ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ฆฌํฐ๋๋ก ํ๋ฉด ์์ ํ์ ์ ์ฅ๋๋ค.
6. == ์ฐ์ฐ์ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ๋น๊ตํ๋ค. ๋ฆฌํฐ๋์ ์ ์ฉ ๊ฐ๋ฅํ์ง๋ง, String์ ์๋๋ค. str.equal()์ ์ฌ์ฉํ์.
7. ์๋ฐ์๋ ๊ธฐ๋ณธ Array ๊ฐ ์กด์ฌํ๋ค. ํ์ง๋ง ๋ณดํต ์ปฌ๋ ์ ํ๋ ์์ํฌ(util.ArrayList)๋ฅผ ์ฌ์ฉํ๋ค. ์ฐธ๊ณ ๋ก ์๋ฐ์ ๊ธฐ๋ณธ๋ฉ์๋๋ java.base ์ ์๊ณ (์๋ import), ์ปฌ๋ ์ ์ java.util ์ ์๋ค.(์ง์ import ํ์)
2. ์๋ฐ์ ์๋ฃํ์ ๋ชจ๋ ์ด์์ฒด์ ์ ๋์ผํ๊ฒ ๋์ํ๋ค. (๋ ๋ฆฝ์ฑ ์ ์ง)
3. ์๋ฐ ๋ค์ด๋ฐ ์ปจ๋ฒค์ 2021.06.30 - [Backend/Java] - # 2. Java Naming Conventions
4. ์ค์ ๋ฆฌํฐ๋์๋ ์๋ฃํ ํ๊ธฐ๋ฅผ ํด์ฃผ์. (100L, 2.4F, 5.6D)
5. String์ ๊ฐ์ฒด๋ก ์์ฑ(new)ํ๊ฑฐ๋ ๋ฆฌํฐ๋๋ก ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค. ๋ฆฌํฐ๋๋ก ํ๋ฉด ์์ ํ์ ์ ์ฅ๋๋ค.
6. == ์ฐ์ฐ์ ๊ฐ์ฒด์ ์ฃผ์๋ฅผ ๋น๊ตํ๋ค. ๋ฆฌํฐ๋์ ์ ์ฉ ๊ฐ๋ฅํ์ง๋ง, String์ ์๋๋ค. str.equal()์ ์ฌ์ฉํ์.
7. ์๋ฐ์๋ ๊ธฐ๋ณธ Array ๊ฐ ์กด์ฌํ๋ค. ํ์ง๋ง ๋ณดํต ์ปฌ๋ ์ ํ๋ ์์ํฌ(util.ArrayList)๋ฅผ ์ฌ์ฉํ๋ค. ์ฐธ๊ณ ๋ก ์๋ฐ์ ๊ธฐ๋ณธ๋ฉ์๋๋ java.base ์ ์๊ณ (์๋ import), ์ปฌ๋ ์ ์ java.util ์ ์๋ค.(์ง์ import ํ์)
// ์ด 2๊ฐ๋ ๊ฐ์ ์ฝ๋์ด๋ค. ๋ค๋ง ํ์
์ ๊ตฌ๋ถ ์ง๋ int[] a1 ๊ฐ ์ผ๋ฐ์ ์ด๋ค. int[] a1; int a2[]; int[] intArr = {1,2,3}; int[] doubleArr = new double[4]; String[] objArr = new String[5]; //object type int[] myIntArray = new int[3]; // {0,0,0}์ด ํ ๋น๋๋ค. int[] myIntArray = {1, 2, 3}; // ์๋์ ๊ฐ์ ์ฝ๋์ด๋ค. ์๋ฐ์ ์ด๊ธฐํ ํธ์๊ธฐ๋ฅ. int[] myIntArray = new int[]{1, 2, 3}; // new int[]๋ก ํ์
์ ๋ช
ํํ๊ฒ ๋ํ๋ด์ฃผ์๋ค. // ํด๋น ์ฝ๋๋ ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค. ์์ฑํ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ ์ ์๋ค. int badArray[] = new int[]; // ํด๋น ์ฝ๋๋ ์ปดํ์ผ ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค. // ์์ ์ ํ์๋ new int[]๋ ์๋ฃํ์ ์ง์ ํ ๊ฒ์ด์ง, ๊ฐ์ฒด์ ํฌ๊ธฐ๋ฅผ ์ ๋ ๊ณณ์ด ์๋๋ค. int badArray[] = new int[3] {1, 2, 3} ; // Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html int [] myIntArray = IntStream.range(0, 100).toArray(); // From 0 to 99 int [] myIntArray = IntStream.rangeClosed(0, 100).toArray(); // From 0 to 100 int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).toArray(); // The order is preserved. int [] myIntArray = IntStream.of(12,25,36,85,28,96,47).sorted().toArray(); // Sort // Array๋ ๊ฐ์ฒด์ด๊ธฐ์ ๋ด๋ถ ๋ฉ์๋๊ฐ ์กด์ฌํ๋ค. int arr[] = new int[3]; for (int i = 0; i < arr.length; i++) { ... } // length ๋ก ์ ๊ทผ for (int a : arr) { ... } // iter๋ก ์ ๊ทผ
8. if ์กฐ๊ฑด๋ฌธ์์ ๋
ผ๋ฆฌ์ฐ์ฐ์ (&& ||)๋ ์ต์ ํ ๋๋ค. ์์์ ๊ฒฐ์ ์ด ๋ฌ๋ค๋ฉด ๋ค์ ๊ฐ์ ํ๊ฐํ์ง ์๋๋ค.
9. ๊ธฐ์กด์ switch๋ฌธ์ break๊ฐ ํ์ํ๋ค. 2020๋
java14์์ ๋งคํด๋งค์นญ + enum ๋๋์ switch๋ฌธ์ด ์ถ๊ฐ๋์๋ค.
// isTrue() ๋ฉ์๋๋ ์คํ๋์ง ์๋๋ค. ์ด๋ฏธ ์์์ false๋ก ๋ต์ด ๊ฒฐ์ ๋ฌ๊ธฐ ๋๋ฌธ. if (isFalse() && isTrue()){ System.out.println("it doesn't print(false)"); } // ์ด๊ฑฐํ์ ์ฌ์ฉํ๋ฉด default ์์ด switch๋ฌธ์ ์์ ํ๊ฒ ์ฌ์ฉ ํ ์ ์๋ค. enum Month { January, February, March, April } Month value = Month.January; monthString = switch (value) { case January -> "January"; case February -> "February"; case March -> "March"; case April -> "4,5์"; };
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev