๋ณ์ (Variables)
์๋ฐ์์ ๋ณ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ด๋ฉฐ, '๊ฐ์ฒด์ ์ํ'๋ฅผ ์ ์ฅํ๋ ์ญํ ์ ํ๋ค.
์๋ฐ์์๋ ๋ณ์๋ฅผ ์ ์ธํ ๋ ์๋ฃํ(data type) ์ ํจ๊ป ์ง์ ํด์ผ ํ๋ค
์๋ฃํ (Data Type)
๋ฐ์ดํฐ์ ์ข ๋ฅ์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์.
์ซ์, ๋ฌธ์์ด์ฒ๋ผ ์๋ฃ ํํ๋ก ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฒ์ ๋ปํ๋ค. ํ๋ก๊ทธ๋จ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๋ฉด์ ํต์ฌ ๋จ์๊ฐ ๋๋ ๊ฒ์ด ์๋ฃํ์ด๋ค. ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ฅ ๊ธฐ์ด.
"๊ทธ ์ธ์ด์ ์๋ฃํ์ ์๋ฉด ์ด๋ฏธ ๊ทธ ์ธ์ด์ ๋ฐ์ ํฐ๋ํ ๊ฒ์ด๋ ๋ค๋ฆ ์๋ค."
์ ์ - int ( -2147483648 ~ 2147483647 ), double ( -9223372036854775808 ~ 9223372036854775807 ), ๋ฐ๋ฉด byte, short ๋ ์ ์ฌ์ฉ ์ ํจ.
์ค์ - float (-3.4*10์38์น ~ -3.4*10์38์น) , double (-1.7*10์308์น ~ -1.7*10์ 308์น)
int ์ long ์ ์ฌ์ฉํ ์์
int age = 10;
long countOfStar = 8764827384923849L;
float ์ double ์ ์ฌ์ฉํ ์์
float pi = 3.14F;
double morePi = 3.14159265358979323846;
// ์ค์๋ ์ง์์์ผ๋ก๋ ํํ ๊ฐ๋ฅํ๋ค.
double d1 = 123.4;
double d2 = 1.234e2;
e2๋ 10์ ์ ๊ณฑ์ ์๋ฏธํ๋ค.
์ฆ, d1, d2๋ ๊ฐ์ ๊ฐ์ด๋ค.
8์ง์์ 16์ง์
์ด ๋์ int ์๋ฃํ์ ์ฌ์ฉํ๋ค.
์ซ์ 0์ผ๋ก ์์ํ๋ฉด 8์ง์, ์ซ์ 0๊ณผ ์ํ๋ฒณ x๋ก ์์ํ๋ฉด 16์ง์๊ฐ ๋๋ค.
8์ง์์ 16์ง์๋ฅผ ์ฌ์ฉํ ์๋ ์๋์ ๊ฐ์.
int octal = 023; // ์ญ์ง์: 19
int hex = 0xC3; // ์ญ์ง์: 195
๋ณ์์ ์ข ๋ฅ
์๋ฐ์์ ๋ณ์๋ ์ ์ธ์์น์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. (๋ณ์์ ํ๋ ๋ผ๋ ์ฉ์ด๋ฅผ ํผ์ฉํด์ ์ฌ์ฉํ๋ ์๊ตฌ๋ถํ๊ธฐ)
1) ์ธ์คํด์ค ๋ณ์ (Instance Variables, Non-Static Fields)
- ๊ฐ์ฒด(์ธ์คํด์ค)๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ ๋ณ์ ๋ ๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ค๋ ๋ง์ ๋ป???
- static ํค์๋ ์์ด ์ ์ธ๋ ๋ณ์.
- ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์ด๊ธฐํ ๋๋ค. ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ์์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ด์ ์์ ์ธ์ ์ธ๊ฑฐ์ง?
class Bicycle {
int speed = 0; // ์ธ์คํด์ค ๋ณ์ (๊ฐ ๊ฐ์ฒด๋ง๋ค ๋
๋ฆฝ์ ์ธ ๊ฐ)
int gear = 1;
}
speed ์ gear ์ ๊ฐ์ Bicycle์ ๊ฐ์ฒด๋ง๋ค ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ๊ฐ์ง๋ค.
2) ํด๋์ค ๋ณ์ (Class Variables, Static Variables)
- static ํค์๋๊ฐ ๋ถ์ ๋ณ์.
- ํด๋์ค์ ํ๋๋ง ์กด์ฌํ๋ฉฐ, ์ดํ ์์ฑ๋๋ ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๊ณต์ ํ๋ ๊ฐ์.
- ์ฌ์ง์ด ๊ฐ์ฒด๋ฅผ ์์ฑํ์ง ์์๋ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
3) ์ง์ญ ๋ณ์ (Local Variables)
- ๋ฉ์๋ ๋ด๋ถ์์ ์ ์ธ๋ ๋ณ์
- ๋ฉ์๋ ์คํ๋ ๋ ์์ฑ๋๊ณ , ๋๋๋ฉด ์๋ฉธ๋จ. ์ง์ญ๋ณ์๋ Stack ์ ์ ์ฅ๋๋๊ฑด๊ฐ?
- Static ์ ์ฌ์ฉํ ์ ์์.
4) ๋งค๊ฐ๋ณ์ (parameter)
- ๋ฉ์๋ ์์ฑ์์๊ฒ ์ ๋ฌ๋ฐ์ ๊ฐ.
- ์ง์ญ ๋ณ์๋ ๋น์ทํ์ง๋ง ๋ฉ์๋๊ฐ ํธ์ถ๋ ๋ ๊ฐ์ด ์ ๋ฌ๋๋ค.
- field ๋ผ๊ณ ํ์ง ์๊ณ ํญ์ ๋ณ์ variable ๋ก ๋ถ๋ฆฐ๋ค.
๋ณ์์ naming ๊ท์น
- ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค. (Speed, speed ๋ ๋ค๋ฅธ ๋ณ์)
- ์ซ์๋ก ์์ํ ์ ์๋ค
- ๊ณต๋ฐฑ์ ํฌํจํ ์ ์๋ค
- ํน์ ๋ฌธ์๋ _์ธ๋์ค์ฝ์ด์ $ ๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฌ๋ $ ๋ ์ง์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค. ์๋ ์์ฑ๋ ์ฝ๋์์๋ง ์ฐ์ธ๋ค.
- ์๋ฐ ํค์๋ ์ฌ์ฉํ ์ ์๋ค
- ๊ด๋ก๋ก๋ ์ฌ๋ฌ ๋จ์ด ์กฐํฉ์ ์นด๋ฉ ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ ๊ฒ, ์ฝ์ด๋ณด๋ค๋ ์ ์ฒด ๋จ์ด ์ฌ์ฉํ ๊ฒ, ํด๋์ค ๋ณ์๋ ๋๋ฌธ์๋ก ์์ฑํ๊ณ _๋ก ๋จ์ด ๊ตฌ๋ถใน ๊ฒ, ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ํ๋ด๋ ํ๋๋ ๋ช ์ฌ๋ก ์์ฑํ ๊ฒ, boolean ๋ณ์๋ is, has, can ๋ฑ์ ์ ๋์ฌ๋ฅผ ์ฌ์ฉํ ๊ฒ. ๋ฑ์ด ์๋ค.
๋ณ์์ ๊ธฐ๋ณธ ๊ฐ (Default Values)
- ์ง์ญ ๋ณ์์ ๊ฒฝ์ฐ ๋ฐ๋์ ์ด๊ธฐํ ํด์ผ ํ๋ค (๋ฉ์๋ ์ ๋ณ์)
- ์ธ์คํด์ค ๋ณ์ & ํด๋์ค ๋ณ์๋ ์๋์ผ๋ก ๊ธฐ๋ณธ๊ฐ์ด ํ ๋น๋๋ค.
์ฐ์ฐ์ (Operators)
- ์ฐ์ฐ์๋ ํน์ ์ฐ์ฐ์ ์ํํ๋ ๊ธฐํธ
- ํผ์ฐ์ฐ์์ ๊ฐ์์ ๋ฐ๋ผ ๋จํญ, ์ดํญ, ์ผํญ ์ฐ์ฐ์๋ก ๊ตฌ๋ถ๋๋ค.
- ์ฐ์ ์์๊ฐ ๋์์๋ก ๋จผ์ ์คํ๋๋ฉฐ, ๋๋ถ๋ถ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์คํ๋๋ค.
- ๋จ, ๋์ ์ฐ์ฐ์๋ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์คํ๋๋ค.
- ์์ฃผ ์ฐ์ด๋ ์ฐ์ฐ์
- = (๋์ )
- + - * / % (์ฐ์ )
- == != > < >= <= (๋น๊ต)
- && || (๋ ผ๋ฆฌ)
- ++ -- (์ฆ๊ฐ)
- += -= *= /= (๋ณตํฉ ๋์ )
์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ (์ ์ด๋ฌธ)
์๋ฐ ๊ณต์๋ฌธ์์๋ '์กฐ๊ฑด๋ฌธ' ์ด๋ผ๋ ๋จ์ด๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ง๋ ์๋๋ค.
- Control Flow Statements (์ ์ด ํ๋ฆ๋ฌธ ๊ฐ์)
- The if-then and if-then-else Statements (if, if-else ๋ฌธ)
- The switch Statement (switch ๋ฌธ)
- The while and do-while Statements (while, do-while ๋ฐ๋ณต๋ฌธ)
- The for Statement (for ๋ฐ๋ณต๋ฌธ)
์ด๋ ๊ฒ ๋ค์ฏ๊ฐ๋ฅผ ๋ณด๋ฉด ๋๋ค.
์ฐ์ ์ ์ด ํ๋ฆ๋ฌธ์ด๋?
์๋ฐ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์์์ ์๋๋ก ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ด ํ๋ฆ๋ฌธ์ ์ฌ์ฉํด์ ์คํ ์์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋, ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์คํ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ค.
์๋ฐ์ ์ ์ด ํ๋ฆ๋ฌธ 3๊ฐ์ง๋ก ๊ตฌ๋ถํ๊ธฐ
์ฒซ๋ฒ์งธ, ์กฐ๊ฑด๋ฌธ (Decision-Making Statements) : if-then, if-then-else, if-else
๋๋ฒ์งธ, ๋ฐ๋ณต๋ฌธ (Looping Statements) : for, while, do-while
์ธ๋ฒ์งธ, ๋ถ๊ธฐ๋ฌธ(Branching Statements) : break, continue, return
1) if๋ฌธ(if-then)
- ์ค๊ดํธ๋ ์๋ต ๊ฐ๋ฅํ์ง๋ง, ๊ถ์ฅ๋์ง ์๋๋ค.
- ์์ ์๋ต
2) if-else(if-then-else)๋ฌธ
- ์กฐ๊ฑด๋ฌธ์ด true ์ผ๋, else ์ผ๋ ์คํํ ์ฝ๋๋ฅผ ๊ฐ๊ฐ ์ง์ ํ ์ ์๋ค.
- ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฑด์ ์์ฐจ์ ์ผ๋ก ๊ฒ์ฌํ ๋ ์ฌ์ฉ๋๋ค.
- ์์ ์๋ต
3) switch ๋ฌธ
- ์ฌ๋ฌ ๊ฐ์ ๊ฒฝ์ฐ ์ค, ํ๋์ ๊ฒฝ์ฐ๋ง ์คํํด์ผ ํ ๋ ์ฌ์ฉํ๋ค.
- byte, short, char, int, String, enum ํ์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ๊ฐ case ๋ค์๋ break; ๋ฅผ ์ฌ์ฉํด์ ์คํ ํ๋ฆ์ ์ง์ ์ฐจ๋จํด์ผ ํ๋ค.
- if else ๋ฌธ์ ๋ฒ์ ์กฐ๊ฑด์ด ํ์ํ ๋ !! switch ๋ฌธ์ ๊ฐ์ด ํน์ ํ ๋ ์ฌ์ฉํ๋ค.
- break ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด fall - though ํ์์ด ์ผ์ด๋๋ฉฐ, ํน์ ์กฐ๊ฑด์์ ๋ฉ์ถ ๋ค, ์ดํ ์กฐ๊ฑด์ด ์ ๋ถ ์ถ๋ ฅ๋จ.
4) while ๋ฌธ๊ณผ do-while๋ฌธ
- while ๋ฌธ์ ํน์ ์กฐ๊ฑด์ด 'true' ์ธ ๋์ ๋ฐ๋ณต ์คํํ๋ ์กฐ๊ฑด๋ฌธ.
- ์กฐ๊ฑด์ด false ๊ฐ ๋๋ฉด ๋ฐ๋ณต์ ์ข ๋ฃํ๋ค.
- break ๋ฌธ์ด ์์ผ๋ฉด ๋ฌดํ ๋ฃจํ์์ ๋น ์ ธ๋์ฌ ์ ์์ผ๋ ์ฃผ์ํ ๊ฒ.
- do-while ๋ฌธ์ while ๋ฌธ๊ณผ ๋ค๋ฅด๊ฒ ์กฐ๊ฑด์ ๋์ค์ ๊ฒ์ฌํ๋ค.
- ๋ฐ๋ผ์ ์ต์ํ ํ ๋ฒ์ ์คํํ๋ค !!!
- while ๋ฌธ๊ณผ ๋ค๋ฅธ์ ์ ์กฐ๊ฑด์ด true ์ด๋ false ์ด๋ ์ต์ด ํ๋ฒ์ ๋ฌด์กฐ๊ฑด ์คํํ๋ค๋ ์ .
5) for๋ฌธ
- ๋ฐ๋ณต ํ์๊ฐ ์ ํด์ง ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค !!
- ์ด๊ธฐํ -> ์กฐ๊ฑด ๊ฒ์ฌ -> ์คํ -> ์ฆ๊ฐ/๊ฐ์ ์์๋ก ๋์ํ๋ค.
์์ ) 1๋ถํฐ 10๊น์ง ์ถ๋ ฅํ๋ค.
class ForDemo {
public static void main(String[] args){
for(int i = 1; i < 11; i++){
System.out.println("Count is: " + i);
}
}
}
์คํ ๊ฒฐ๊ณผ
Count is: 1
Count is: 2
...
Count is: 10
ํฅ์๋ for๋ฌธ (Enhanced for-loop) - ๋ด๊ฐ ์ ์์จ์ ๋ณผ ๋๋ง๋ค ์ด๊ฒ ๋ญ์ง ํ๋ ๊ฑฐ
- ๋ฐฐ์ด ๋๋ ์ปฌ๋ ์ ์์๋ฅผ ์์ฐจ์ ์ผ๋ก ํ์ํ ๋ ์ฌ์ฉํ๋ค.
- ๊ธฐ์กด for๋ฌธ ๋ณด๋ค ๊ฐ๊ฒฐํ๋ค
// ํฅ์๋ for๋ฌธ ๊ตฌ์กฐ
for (์๋ฃํ ๋ณ์ : ๋ฐฐ์ด_๋๋_์ปฌ๋ ์
) {
// ์คํํ ์ฝ๋
}
// ํฅ์๋ for๋ฌธ ์์
class EnhancedForDemo {
public static void main(String[] args){
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
for (int item : numbers) {
System.out.println("Count is: " + item);
}
}
}
๋์ ๋ฐฉ์: int ํ์ธ item์ numbers ๋ฐฐ์ด ์์ ์๋ 1๋ถํฐ 10๊น์ง์ ์ซ์๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์์ ๋ฐ๋ก ์ถ๋ ฅํจ.
์ ํฅ์๋ for๋ฌธ์ ์ฌ์ฉ ์กฐ๊ฑด์ด ์๋ค !!
only ๋ฐฐ์ด ํน์ List, Set ๊ฐ์ ์ปฌ๋ ์ ๋ง ๊ฐ๋ฅํ๋ค !! ๊ฐ๋ฅํ๋ฉด ํฅ์๋ for ๋ฌธ์ ์ฌ์ฉํด์ ๊ฐ๋ ์ฑ๊ณผ ๊ฐ๊ฒฐ์ฑ์ ๋์ด๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋ค.
์ถ์ฒ: ์๋ฐ ๊ณต์ ๋ฌธ์ The Java Tutorials
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
Lesson: Language Basics (The Java™ Tutorials > Learning the Java Language)
The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Dev.java for updated tutorials taking advantag
docs.oracle.com
์๋ฐ ๊ธฐ๋ณธ๋ถํฐ ๋จธ๋ฆฌ์ ๋์๊ธธ๊ฒธ ๋ค์ ์ ๋ฆฌํ๊ณ ์๋ค.
๊ณต์๋ฌธ์๋ฅผ ์ฝ์ด ๋ด๋ ค๊ฐ๋ ๋๋์ด๋ค.
๊ณต์๋ฌธ์์ ์ ๋ฆฌ๋ ๋จ์ด ํ๋ํ๋๋ฅผ ์ ๋๋ก ์ดํดํ๋ฉด์ ๋์ด๊ฐ์ผ์ง.
๋ด ๋ง์๋๋ก ๋๊ฒจ์ง์ง ์๋๋ก ์กฐ์ฌํ๊ธฐ