๐ ์ค๋ ๋ฐฐ์ด ๋ด์ฉ!
- Java์ ํน์ง
- ๋ณ์ / ์์ / ํ์
- ๋ฌธ์์ด
- ์ฐ์ฐ์
- ์ฝ์์ ์ ์ถ๋ ฅ
์ค๋์ ๋ด๊ฐ ์ด ๋ถํธ์บ ํ ์ ๋
ํ์ผ๋ก ๋ฐฐ์ด ๋ด์ฉ๋ค์ ๊ฑฐ์ ์ค๋๊ณผ ๋ด์ผ ์์ ๋ค ๋ฐฐ์ฐ๊ธธ๋ ใ
๊ทธ๋งํผ ์์ด ๋๋ฌด ๋ง์ ์๋ ์์๋ ๋ถ๋ถ์ ์ ์ธํ๊ณ ์ด๋ ค์ด ๋ถ๋ถ๊ณผ ์๋ก ์๊ฒ๋ ๋ด์ฉ๋ง ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค !
โ๏ธ Java์ ํน์ง
- ์ด์์ฒด์ ์ ๋
๋ฆฝ์
๐ JRE๊ฐ ์ค์น๋์ด ๋ชจ๋ ์ด์์ฒด์ ์์ ์ฌ์ฉ ๊ฐ๋ฅ - ๊ฐ์ฒด ์งํฅ ์ธ์ด (Object Oriented Programming, OOP)
๐ ์ ์ง๋ณด์๊ฐ ์ฝ๊ณ ํ์ฅ์ฑ์ด ๋์ - ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ง์
๐ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๊ณ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ์ฒ๋ฆฌํ๊ธฐ ์ฌ์์ง - ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ (Garbage Collection)
๐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ์๊ณ ๋ฅผ ๋์ด ํต์ฌ ์ฝ๋์ ์ง์ค ๊ฐ๋ฅ
โ JVM(Java Virtual Machine)
- ์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํ์ํค๋ ๋๊ตฌ
- ํ๋ก๊ทธ๋จ์ ์คํํ๋ ํ๋ก๊ทธ๋จ
โ JRE (Java Runtime Environment)
- JVM(Java Virtual Machine) + ํ์ค ํด๋์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ
โ JDK (Java Development Kit)
- JRE + ๊ฐ๋ฐ์ ํ์ํ ๋๊ตฌ
โ ์ปดํ์ผ
- ์๋ฐ ์ธ์ด๋ฅผ JVM(Java Virtual Machine)์ด ์ดํดํ ์ ์๋ ์ฝ๋(๋ฐ์ดํธ์ฝ๋, Bytecode)๋ก ๋ณํํ๋ ๊ฒ
โ๏ธ ์ฝ๋ ์ฉ์ด ์ค๋ช
public class Main {
public static void main(String[] args) {
}
}
์์ ์ฝ๋์์!
- public class Main : ์ ๊ทผ ํ์ฉ ๋ฒ์๊ฐ public์ธ Main์ด๋ผ๋ ์ด๋ฆ์ ํด๋์ค๋ฅผ ์ ์ํ๊ฒ ๋ค
- public static void main(String[] args) : ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๋ฌธ๋ฒ
(์ฌ๊ธฐ์ ๋ฉ์๋๋, ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ผ๋ จ์ ์ฝ๋๋ฅผ ๋ฌถ์์ผ๋ก ๋ฌถ์ ๊ฒ)
(์ฌ๊ธฐ์ ์ด๋ค ๊ธฐ๋ฅ์ด๋? - ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ ํด๋น ๋ฐ์ดํฐ์ ์ผ๋ จ์ ์ฒ๋ฆฌ๋ฅผ ๊ฐํจ์ผ๋ก์จ ๋ง๋ค์ด๋ธ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ ๊ฒ) - void : ๋ฐํ ํ์ (๋ฉ์๋๊ฐ ๋ฐํํ ๋ฐํ๊ฐ์ ์ข ๋ฅ ๋ฐ ์ ํ)
- main : ๋ฉ์๋์ด๋ฆ
- String[] : ๋งค๊ฐ๋ณ์ ํ์ / args-๋งค๊ฐ๋ณ์ ์ด๋ฆ : ์ธ๋ถ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๊ฐ์ ๋งค๊ฐํด์ฃผ์ด ์ ์ฅํ๊ณ ์๋ ๋ณ์
- { } : ๋ฉ์๋ ๋ฐ๋ ( ์ฝ๋ ์์ฑํ๋ ๋ถ๋ถ )
( return์ ์ฌ์ฉํด ์ด๋ค ๊ฐ์ ๋ฐํํ ์ ์์ )
โ ๋ณ์ ์ ์ธ
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ณ ๊ทธ ๊ณต๊ฐ์ ๋ด๊ฐ ์ ํ ์ด๋ฆ์ ๋ถ์ด๋ ๊ฒ
โ ํ ๋น(๋์ )
- ๋ด๊ฐ ์ ํ ๋ณ์์ ์ด๋ ํ ๊ฐ์ ๋ฃ๋ ๊ฒ
โ ์ด๊ธฐํ
- ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๋์ ์ฒ์์ผ๋ก ๊ฐ์ ํ ๋นํ๋ ๊ฒ
โ ์ฌํ ๋น
- ์ด๊ธฐํ๊ฐ ์ด๋ฃจ์ด์ง ํ์ ๋ค์ ๋ค๋ฅธ ๊ฐ์ ํ ๋นํ๋ ๊ฒ
โ๏ธ ๋ณ์์ ์์
- ๋ณ์ : ๊ฐ์ด ๋ณํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํ ์๋จ
(์ ์ฅํ๊ณ ์๋ ๊ฐ์ด ๋ณํ ์ ์์ (์ฌํ ๋น ๊ฐ๋ฅ)) - ์์ : ๋ณํ์ง ๋ง์์ผ ํ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ๊ธฐ ์ํ ์๋จ
(์ ์ฅํ๊ณ ์๋ ๊ฐ์ด ๋ถ๋ณ (์ฌํ ๋น ๋ถ๊ฐ๋ฅ))
[ ๋ณ์๋ช ๊ท์น ]
- ์๋ฌธ์, ์ซ์, _, $๋ฅผ ์ฌ์ฉ๊ฐ๋ฅ (์๋ฌธ์๋ ๋์๋ฌธ์๊ฐ ๊ตฌ๋ณ๋์ด ์ธ์)
- ์ซ์๋ก ์์ํ๋ ๋ณ์๋ช ์ ์ฌ์ฉ ๋ถ๊ฐ
- ์๋ฐ์์ ์ด๋ฏธ ์ฌ์ฉ ์ค์ธ ์์ฝ์ด(reserved word) ๋ณ์๋ช ์ผ๋ก ์ฌ์ฉ ๋ถ๊ฐ ex. byte / class
์ฝ๊ธฐ ์ข์ ์ฝ๋๋ ์ ์ง์ ๋ณ์๋ช ์์ ์์ํ๋ค !!
โ๏ธ ํ์
- ์ด๋ค ๊ฐ์ ์ ํ๊ณผ ์ข
๋ฅ (๊ฐ์ด ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํฌ๊ธฐ/ ์ ์ฅ๋๋ ๋ฐฉ์์ด ๊ฒฐ์ ๋จ)
(์ฌ๊ธฐ์ ์ ์ฅํ๋ ๋ฐฉ์์ ๊ธฐ๋ณธํ์ , ์ฐธ์กฐํ์ )- ๊ธฐ๋ณธํ์ ๋ณ์ - ์ค์ ๊ฐ์ด ๋ณ์์ ์ ์ฅ Ex. int / float
- ์ฐธ์กฐํ์ ๋ณ์ - ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ์ฃผ์๊ฐ์ด ๋ณ์์ ์ ์ฅ Ex. string
โ convert char to int
char character;
int result;
result = character - '0' (๋๋ - 48); //์ด๋ ๊ฒ ํ๋ฉด ๋ฌธ์ํ์ด์๋ character๊ฐ ์ ์ํ์ผ๋ก ๋ณ๊ฒฝ๋จ
return result;
[ ์ ์๋ ๋ ๋ค ์ ๋ ์ฝ๋ ์ฐธ๊ณ ! ]
โ convert int to char
int num;
char result;
result = num + '0' (๋๋ + 48); //์ด๋ ๊ฒ ํ๋ฉด ์ ์ํ์ด์๋ num์ด ์ ์ํ์ผ๋ก ๋ณ๊ฒฝ๋จ
return result;
๐ฌ ๊ฐ์์์์ Q1 )
- ์๋์ ์ฝ๋์์ primitive์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ์ 1์ธ๊ฐ?
- ์๋์ ์ฝ๋์์ reference์ ์ถ๋ ฅ ๊ฒฐ๊ณผ java.lang.Object@626b2d4a๊ฐ ์๋ฏธํ๋ ๊ฒ์ ๋ฌด์์ด๋ฉฐ, ์ ์ด๋ฌํ ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ธ๊ฐ?
public class Example {
public static void main(String[] args) {
int primitive = 1;
Object reference = new Object();
System.out.println(primitive);
System.out.println(reference)
}
}
๐ฌ ๋์ Answer1 )
- primitive๊ฐ ๊ธฐ๋ณธํ์ ๋ณ์๋ก ์ค์ ๊ฐ 1์ด ์ ์ฅ๋์๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ๊ฐ๋ 1
- reference๊ฐ ์ฐธ์กฐํ์ ๋ณ์๋ก new Object()์ ์ฃผ์๊ฐ์ด ๋ณ์์ ์ ์ฅ๋์๊ธฐ ๋๋ฌธ์ ์ฃผ์๊ฐ์ด ์ถ๋ ฅ
๐ฌ ๊ฐ์์์์ Q2 )
- byteํ ๊ฐ 125์ 10์ ๋ํ๋ฉด ์ด๋ค ๊ฐ์ด ๋ ๊น์?
- byteํ ๊ฐ -125์์ 10์ ๋นผ๋ฉด ์ด๋ค ๊ฐ์ด ๋ ๊น์?
๐ฌ ๋์ Answer2 )
- -120
(byte์ ๋ฒ์ -128~127์ด ๊ณ์ ์ํํ๊ธฐ ๋๋ฌธ์ 125์์ 1์ฉ ๋ํ๋ฉด ์ฐจ๋ก๋ก 126,127,-128,-127 .. ์ด๋ ๊ฒ ์ค๋ฒํ๋ก์ฐ ๋๊ธฐ ๋๋ฌธ์) - 120
(byte์ ๋ฒ์ -128~127์ด ๊ณ์ ์ํํ๊ธฐ ๋๋ฌธ์ -125์์ 1์ฉ ๋นผ๋ฉด ์ฐจ๋ก๋ก -126,-127,-128,127,126 .. ์ด๋ ๊ฒ ์ธ๋ํ๋ก์ฐ ๋๊ธฐ ๋๋ฌธ์)
โ๏ธ String ํด๋์ค์ ๋ฉ์๋
- String ํด๋์ค๋ ๋ฌธ์์ด์ ์กฐ์ํ ์ ์๋ ์ ์ฉํ ๋ฉ์๋๋ค์ ๊ฐ์ง๊ณ ์์
1. charAt() ๋ฉ์๋
โ ์ง์ ํ index ๋ฒ์งธ์ ๋ฌธ์๋ฅผ ๋ฐํ (0๋ฒ์งธ๋ถํฐ ์์)
Ex.
String str = "Hello Java";
System.out.println(str.charAt(1)); // e ์ถ๋ ฅ (0๋ฒ์งธ ๋ถํฐ ์์ํด์ 1๋ฒ์งธ๊ฐ e๋๊น)
2. indexOf() ๋ฉ์๋
โ ์ง์ ํ ๋ฌธ์๊ฐ ๋ช๋ฒ์งธ์ ์๋์ง ๋ฐํ (์๋ฌด๋ฐ๋ ์์ผ๋ฉด -1 ๋ฐํ)
(2๊ฐ ์ด์ ์์ผ๋ฉด ๊ฐ์ฅ ๋จผ์ ์ค๋ ๋ฌธ์์ index ๋ฅผ ๋ฐํ)
Ex.
String str = "Hello Java";
System.out.println(str.indexOf('a')); // 7 ์ถ๋ ฅ (๊ฐ์ฅ ๋จผ์ ์ค๋ a๊ฐ 7๋ฒ์งธ์ ์์ผ๋๊น)
3. compareTo() ๋ฉ์๋
โ ๋ฌธ์์ด ๋น๊ตํ ๋ (ํด๋น ๋ฌธ์์ด์ด ์ ๋ฌ๋ ๋ฌธ์์ด๋ณด๋ค ์์ผ๋ฉด ์์, ํฌ๋ฉด ์์, ๊ฐ์ผ๋ฉด 0 ๋ฐํ)
Ex.
int a = 3;
int b = 4;
int c = 3;
int d = 3;
int e = 4;
int f = 3;
System.out.println(Integer.compare(a,b)); // -1
//๋์ ์ฐจ๋ 1์ด๊ณ , ์ ๋ฌ๋ ๋ฌธ์์ด(4)๋ณด๋ค ํด๋น ๋ฌธ์์ด(3)์ ๊ฐ์ด ์๊ธฐ ๋๋ฌธ์ ์์
System.out.println(Integer.compare(c,d)); // 0 (๋์ ๊ฐ์ด ๊ฐ๊ธฐ ๋๋ฌธ์)
System.out.println(Integer.compare(e,f)); // 1
//๋์ ์ฐจ๋ 1์ด๊ณ , ์ ๋ฌ๋ ๋ฌธ์์ด(3)์ด ํด๋น ๋ฌธ์์ด(4) ๋ณด๋ค ๋ ์๊ธฐ ๋๋ฌธ์ ์์
4. concat() ๋ฉ์๋
โ ๋ฌธ์์ด๊ณผ ๋ฌธ์์ด ๊ฒฐํฉ (concatenate ์ ์ฝ์)
Ex.
String str = "Hello JAVA";
String lang = "Java";
System.out.println(str.concat(lang)); // Hello Java ์ถ๋ ฅ
5. trim() ๋ฉ์๋
โ ๋ฌธ์์ด์ ์ ๋ค ๊ณต๋ฐฑ ์ ๊ฑฐํด์ค
Ex.
String str = " Hello Java World ";
String trimStr = str.trim();
System.out.println(trimStr); // Hello Java World ์ถ๋ ฅ
6. toUpperCase() ๋ฉ์๋
โ ๋ฌธ์์ด์ ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ค
Ex.
String str = "hello java";
String srtUp = str.toUpperCase();
System.out.println(strUp); // HELLO JAVA ์ถ๋ ฅ
7. toLowerCase() ๋ฉ์๋
โ ๋ฌธ์์ด์ ์๋ฌธ์๋ก ๋ฐ๊ฟ์ค
Ex.
String str = "HELLO JAVA";
String srtLo = str.toLowerCase();
System.out.println(strLo); // hello java ์ถ๋ ฅ
๋ ์์ผ๋ ์ฌ๊ธฐ์์ ์ผ๋จ ๋..!!
๋๋ฌด ๋ง๋ค ,,,,
โ๏ธ ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์ - ์ฌ์น์ฐ์ฐ ์ฐ์ฐ์(+, -, **, */), ๋๋จธ์ง ์ฐ์ฐ์(%)
- ๋น๊ต ์ฐ์ฐ์ - ๋์ ๋น๊ต ์ฐ์ฐ์(>, <, <=, >=), ๋ฑ๊ฐ ๋น๊ต ์ฐ์ฐ์(==, !=)
- ๋ ผ๋ฆฌ ์ฐ์ฐ์ - AND ์ฐ์ฐ์ &&, OR ์ฐ์ฐ์ ||, NOT ์ฐ์ฐ์ !
- ๋์
์ฐ์ฐ์ - =, +=, -=, /=, %=
[ ์ฐ์ฐ์ ์ฐ์ ์์ ]
- ์ฐ์ > ๋น๊ต > ๋ ผ๋ฆฌ > ๋์
โ ์ผํญ์ฐ์ฐ์
์กฐ๊ฑด๋ฌธ ? ์ฐธ์ผ๋ ๊ฒฐ๊ณผ๊ฐ : ๊ฑฐ์ง์ผ ๋ ๊ฒฐ๊ณผ๊ฐ;
โ๏ธ ์ฝ์ ์ถ๋ ฅ ๋ฉ์๋
- System.out.print() - ๋จ์ํ ์ถ๋ ฅ / ์ค ๋ฐ๊ฟ X
- System.out.println() - ์ถ๋ ฅ ํ ์ค ๋ฐ๊พธ๊ธฐ
- Syste m.out.printf() - ์ง์์๋ฅผ ์ด์ฉํด ๋ณ์์ ๊ฐ์ ์ฌ๋ฌ ํ์์ผ๋ก ์ถ๋ ฅ Ex. `%n` - ๊ฐํ๋ฌธ์ / `%d` - 10์ง์ ๋ฑ
โ๏ธ ์ฝ์ ์ ๋ ฅ (Scanner)
```java
import java.util.Scanner; // Scanner ํด๋์ค๋ฅผ ๊ฐ์ ธ์ด
Scanner scanner = new Scanner(System.in); // Scanner ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์์ฑ
String inputValue = scanner.nextLine(); // ์
๋ ฅํ ๋ด์ฉ์ด inputValue์ ์ ์ฅ
System.out.println(inputValue); // ์
๋ ฅํ ๋ฌธ์์ด์ด ์ถ๋ ฅ
์์ ์ฝ๋์์!
- import java.util.Scanner; : java.util์ด๋ผ๋ ์์น์ ์ ์ฅ๋์ด์๋ Scanner๋ฅผ ์ด ์์ค ์ฝ๋๋ก ๋ถ๋ฌ์๋ผ
- Scanner scanner = new Scanner(System.in); : new์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค์บ๋ ํด๋์ค๋ก ๊ฐ์ฒด๋ฅผ ์์ฑ ํ ์ธ์คํด์ค๋ฅผ ๋ณ์ scanner์ ํ ๋น
(๊ทธ๋ ๊ฒ ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ๊ณ ํจ -> ํด๋์ค๋ฅผ ์ธ์คํด์คํ ํ๋ค)
(์ฌ๊ธฐ์ ๋ฉ์๋๋, ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ์ผ๋ จ์ ์ฝ๋๋ฅผ ๋ฌถ์์ผ๋ก ๋ฌถ์ ๊ฒ)
(์ฌ๊ธฐ์ ์ด๋ค ๊ธฐ๋ฅ์ด๋? - ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ ๋ฐ์ ํด๋น ๋ฐ์ดํฐ์ ์ผ๋ จ์ ์ฒ๋ฆฌ๋ฅผ ๊ฐํจ์ผ๋ก์จ ๋ง๋ค์ด๋ธ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ ๊ฒ) - String inputValue = scanner.nextLine(); : scanner.nextLine()์ ์ ๋ ฅ๋ฐ์ ๋ด์ฉ์ ๋ณ์ inputValue์ ํ ๋น
๐ ๋๋์
์์
.. ์ฌ์ค ๋น๋ช
์ด ๋์จ๋ค
๊ณต๋ถํ ์๋ ๋ง์๋ฐ๋ค ๊ทธ๊ฑธ ๋ธ๋ก๊ทธ์ ์ฐ์๋ ๊ทธ๊ฒ๋ ์ผ์ด๋ค.. ใ
ใ
ํธ๊ธฐ๋กญ๊ฒ ์์ํ์ฌ ์์ง๊น์ง๋ ๊พธ์คํ ์ ํ๊ณ ์์ง๋ง ์์ด ๋ง์ ๋๋ง๋ค ํ๋ ๊ฑด ์ฌ์ค ใ
๊ทธ๋๋ ์ด ๋ถ๋ถ์ ๋ถํธ์บ ํ ์์ ์ ํผ์ ๊ณต๋ถํ๋ ๋ถ๋ถ์ด๊ธฐ์ ๊ทธ๋๋ ์ ๋ฐ๋ผ์ฌ ์ ์์๋๋ฐ ์์ผ๋ก์ ์ง๋๋ฅผ ์ ์ดํดํ๊ณ ์ต๋ํ ์ ์์์ง.. ์ ๋ง ์ด์ฌํ ํด์ผ๊ฒ ๋ค ๐ญ
์ค๋์ ํ์ด์ ๊ด๋ จ ๋ฌธ์ ๋ค์ ํ์๋๋ฐ ์ง์ ๋ณด๋ ํท๊ฐ๋ฆฌ๋ ๊ฒ๋ ์์์ง๋ง ๊ทธ๋๋ ์ ํด๋๋ค!
๋ด์ผ๋ ์ ํด๋ณด์
( ๋ณธ ๊ฒ์๋ฌผ์ 2022/08/31์ ์์ฑํ ๊ธ์ ์ฎ๊ธด ๊ธ์ ๋๋ค. ์๋ฌธ์ ์๊ธฐ์ ์์! )
'โข CodeStates BootCamp > Section 1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ [Section1] 10. ๋ฐฐ์ด (0) | 2023.04.06 |
---|---|
๐ [Section1] 9. ์ ์ด๋ฌธ (0) | 2023.04.06 |
๐ [Section1] 7. Git ๊ธฐ์ด & ํ์ด์ค์ต (0) | 2023.04.06 |
๐ [Section1] 6. Linux ๊ธฐ์ด (1) | 2023.02.20 |
๐ [Section1] 5. HTML & CSS ์ค์ต (0) | 2023.02.20 |