#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์";
};
'๐ฑBackend > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#8 Java - 3 (์ฐ๋ ๋, IO, ๋คํธ์ํฌ) (0) | 2021.07.09 |
---|---|
#7 Exception (์์ธ์ฒ๋ฆฌ) (0) | 2021.07.07 |
#5. ์๋ฐ์ Interface (2) | 2021.07.01 |
#4. ์๋ฐ ํจ์ํ ์ธํฐํ์ด์ค (0) | 2021.07.01 |
#3. Java - 1 ๊ธฐ์ด๋ฌธ๋ฒ (0) | 2021.07.01 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
JiwonDev
JiwonDev