[250218] JAVA κΈ°λ³Έ λ¬Έλ² - λ³μ, μ°μ°μ, 쑰건문, λ°λ³΅λ¬Έ
λ³μ (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
μλ° κΈ°λ³ΈλΆν° 머리μ λμκΈΈκ²Έ λ€μ μ 리νκ³ μλ€.
곡μλ¬Έμλ₯Ό μ½μ΄ λ΄λ €κ°λ λλμ΄λ€.
곡μλ¬Έμμ μ 리λ λ¨μ΄ νλνλλ₯Ό μ λλ‘ μ΄ν΄νλ©΄μ λμ΄κ°μΌμ§.
λ΄ λ§μλλ‘ λ겨μ§μ§ μλλ‘ μ‘°μ¬νκΈ°