1. κΈ°λ³Έ νμ VS μ°Έμ‘° νμ
κΈ°λ³Έ νμ : byte, char, short, int, long, float, double, boolean λ³μκ° μ€μ κ°μ λ³μ μμ μ μ₯
-> μ€ν μμμ μ§μ κ°μ κ°μ§
μ°Έμ‘° νμ : λ°°μ΄, μ΄κ±°, ν΄λμ€, μΈν°νμ΄μ€ λ³μκ° λ©λͺ¨λ¦¬ λ²μ§λ₯Ό λ³μ μμ( μ μ₯ ( ex. String type)
-> ν μμμ κ°μ²΄ μ£Όμ κ°λ¦¬ν΄
-> λ¬Έμμ΄μ΄ μ§μ λ³μμ μ μ₯λλ κ²μ΄ μλλΌ, λ¬Έμμ΄μ String κ°μ²΄λ‘ μμ±λκ³ String κ°μ²΄λ₯Ό μ°Έμ‘°νλ κ²μ΄λ€.
μ¦, String a = "μλ ";μ΄λΌλ μ½λμμλ μλ μ String κ°μ²΄λ‘ μμ±λμ΄μ ν μμμ μ μ₯ λκ³ , aλ μ€ν μμμ μ μ₯λμ΄ "μλ " ν μμμ λ²μ§λ₯Ό μ μ₯νλ€.
2. λ©λͺ¨λ¦¬ μ¬μ© μμ(Runtime Data Area)
: JVM(Java Vritual Machine)μ΄ μ¬μ©νλ λ©λͺ¨λ¦¬ μμ
- λ©μλ μμ
JVMμ΄ μμν λ, μμ±λκ³ λͺ¨λ μ€λ λκ° κ³΅μ
μ μ νλ(static field)/μμ(constrant), λ©μλ μ½λ, μμ±μ(constructor) μ½λλ₯Ό λΆλ₯ν΄μ μ μ₯
- ν μμ(Heap Area)
κ°μ²΄μ λ°°μ΄μ΄ μμ±λλ μμ
μμ±λ κ°μ²΄μ λ°°μ΄μ JVM μ€ν μμμ λ³μλ λ€λ₯Έ κ°μ²΄μ νλμμ μ°Έμ‘°
- JVM μ€ν μμ
λ©μλ νΈμΆλ§λ€ νλ μμ μΆκ°νκ³ , λ©μλ μ’ λ£λλ©΄ ν΄λΉ νλ μμ μ κ±°
public static void main(String args[])
{
int a = 0;
if(a == 0){
int b = 1;
String c = "HI";
}
}
if λΈλ‘ λ΄λΆμ μμ λμλ§ b, cκ° μ‘΄μ¬νκ³ , if λΈλ‘μμ λΉ μ Έλκ°λ©΄ b, cλ μλ©Έλλ€.
3. μ°Έμ‘° λ³μ ==, != / null, NullPointerException
λμΌν κ°μ²΄λ₯Ό μ°Έμ‘°νλμ§, λ€λ₯Έ κ°μ²΄λ₯Ό μ°Έμ‘°νλμ§ μμ보기 μν΄ μ¬μ©νλ€. (λμΌν λ²μ§ κ°μ κ°μ§κ³ μλμ§ νμΈ)
λν, μ°Έμ‘° νμ λ³μλ Null(ν μμμ κ°μ²΄λ₯Ό μ°Έμ‘°νμ§ μλλ€.)μ κ°μ§ μ μλ€.
4. κ°μ²΄ μ°μ°μ(new μ°μ°μ)
ν μμμ μλ‘μ΄ κ°μ²΄λ₯Ό λ§λ€ λ μ¬μ©νλ μ°μ°μμ΄λ€. -> μλ‘μ΄ λ²μ§μλ₯Ό λνλΌ λ μ¬μ©
new μ°μ°μλ λ©λͺ¨λ¦¬ ν λΉ, μμ μ£Όμ λ°ν, constructor(μμ±μ) νΈμΆμ μν λ νλ€.
public static void main(String[] args) {
String v1 = "a";
String v2 = "a";
if(v1 == v2) {
System.out.println("v1κ³Ό v2λ κ°μ΅λλ€.");
}else {
System.out.println("v1κ³Ό v2λ λ€λ¦
λλ€."); // λ²μ§, λ¬Έμμ΄ λͺ¨λ κ°μ
}
if(v1.equals(v2)) {
System.out.println("v1κ³Ό v2μ λ¬Έμμ΄μ κ°μ΅λλ€.");
}else {
System.out.println("v1κ³Ό v2μ λ¬Έμμ΄μ λ€λ¦
λλ€.");
}
String v3 = new String("a");
String v4 = new String("a"); //λ²μ§λ λ€λ₯΄κ³ , λ¬Έμμ΄μ κ°μ
if(v3 == v4) {
System.out.println("v3κ³Ό v4λ κ°μ΅λλ€.");
}else {
System.out.println("v3κ³Ό v4λ λ€λ¦
λλ€.");
}
if(v3.equals(v4)) {
System.out.println("v3κ³Ό v4μ λ¬Έμμ΄μ κ°μ΅λλ€.");
}else {
System.out.println("v3κ³Ό v4μ λ¬Έμμ΄μ λ€λ¦
λλ€.");
}
}
5. λ°°μ΄
κ°μ νμ μ λ°μ΄ν°λ₯Ό μ°μλ 곡κ°μ λμ΄νκ³ , κ° λ°μ΄ν°μ μΈλ±μ€λ₯Ό λΆμ¬ν΄λμ μλ£κ΅¬μ‘°μ΄λ€. μΈλ±μ€λ 0λΆν° μμνλ€.
1. λ°°μ΄μ κ°μ νμ μ λ°μ΄ν°λ§ μ μ₯
2. ν λ² μμ±λ λ°°μ΄μ λ리거λ μ€μΌ μ μμ
- λ°°μ΄[] λ³μ;
- λ°°μ΄ λ³μ[];
λ°°μ΄ μμ±μ΄ λ νμλ μ€κ΄νΈλ‘ λ°°μ΄ κ°μ λ£λ κ²½μ° μ»΄νμΌ μλ¬κ° λ°μνκ² λλ€.
int[] array;
array = {1, 2, 3}; // μ»΄νμΌ μλ¬
μ¦, λμ€μ μ€κ΄νΈλ‘ λ°°μ΄ κ°μ λ£λ κ²½μ°μλ new μ°μ°μλ₯Ό μ¬μ©νλ€.
int[] array;
array = new int[]{1, 2, 3}
Parameterκ° λ°°μ΄μΈ κ²½μ°μλ, new μ°μ°μλ₯Ό μ¬μ©νμ¬ μ»΄νμΌ μλ¬κ° λμ§ μλλ‘ ν΄μΌνλ€.
method(int[] array){...}
int result = method(new int[]{});
- new μ°μ°μλ‘ λ°°μ΄ μμ±
미리 λ°°μ΄μ κ°μ μ μ₯νκ³ μ ν λλ 미리 new μ°μ°μλ₯Ό μ΄μ©νμ¬ λ°°μ΄ κ°μ²΄λ₯Ό μμ±νλλ‘ νμ.
int[] array = new int[10]; // int λ³μ 10κ°λ₯Ό μ μ₯ν λ°°μ΄ μ μ₯μλ₯Ό μμ±νλ€.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] array = new int[5];
int a;
int sum = 0;
for(int i = 0; i<5 ;i++) {
System.out.print("μ«μλ₯Ό μ
λ ₯νμΈμ");
a = scanner.nextInt();
array[i] = a;
}
for(int i = 0; i<5;i++) {
sum += array[i];
}
System.out.println("ν©: " + sum);
scanner.close();
}
Arrayμ κ°μ΄ μ μ₯λ κ²μ νμΈν μ μλ€.
- λ°°μ΄μ κΈΈμ΄λ₯Ό μκΈ° μν΄μλ λ°°μ΄ λ³μμ μ΄λ¦.lengthλ₯Ό μ λ ₯νλ©΄ λλ€.
int[] array = new int[10];
System.out.println(array.length);// consoleμλ 10μ΄ λμ€κ² λ¨.
6. λ€μ°¨μ λ°°μ΄ ( [][] )
ν X μ΄
int[][] array = new int[3][2];
(0, 0) | (0, 1) |
(1, 0) | (1, 1) |
(2, 0) | (2, 1) |
μ κ·Έλν μ²λΌ νλ ¬μ ννλ‘ κ°μ΄ μ μ₯λκ² λλ€.
int[][] array = new int[3][2];
array.length //3
array[0].length // 2
array[1].length // 2
array[2].length // 2
int [][] array = new int [3][]; // νμ 3μ΄μ§λ§, μ΄μ κ°μ μ ν΄μ§μ§ μμ
array[0] = new int[2]; // 첫 λ²μ§Έ νμ μ΄μ 2
array[1= = new int[3] // λ λ² μ§Έ νμ μ΄μ 3
String[]μ Stringκ³Ό λ§μ°¬κ°μ§λ‘ μ°Έμ‘° νμ μ΄λ€.
public static void main(String args[])
{
String [] array = new String[3];
array[0] = "A";
array[1] = "A";
array[2] = new String("A");
System.out.println(array[0]==array[1]); // true
System.out.println(array[0]==array[2]); // false
System.out.println(array[0].equals(array[2])); //true
}
7. λ°°μ΄ λ³΅μ¬
λ°°μ΄μ 볡μ¬νκΈ° μν΄μλ forλ¬Έ, System.arrayCopy()μ μ¬μ©νλ€.
/*
for λ¬Έ μ¬μ©νμ¬ λ°°μ΄ λ³΅μ¬
*/
int oldArray[] = {1, 2, 3};
int newArray[] = new int[5];
for(int i = 0; i < oldArray.length ; i++) {
newArray[i] = oldArray[i];
System.out.print(newArray[i] + " ");
}
System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length);
oldArray_indexλΆλΆμλ 볡μ¬λ₯Ό μμν μΈλ±μ€μ κ°μ λ£μΌλ©΄ λκ³ , newArray_indexλ μ λ°°μ΄μμ λΆμ¬λ£μ μμ μΈλ±μ€μ κ°μ λ£μΌλ©΄ λλ€. λν lengthλ 볡μ¬ν κ°μμ΄λ€.
μμλ₯Ό ν΅ν΄μ μμ보λλ‘ νμ.
int[] oldArray = {1, 3, 4, 5};
int[] newArray = new int[5];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
for(int i=0; i<newArray.length; i++) {
System.out.println(newArray[i]);
}
8. ν₯μλ forλ¬Έ(λ°°μ΄)
ν₯μλ forλ¬Έμμλ μ¦κ°μκ³Ό λ³μλ₯Ό μ¬μ©νμ§ μλλ€. λν, μΈλ―Έ μ½λ‘ μ μ¬μ©νμ§ μκ³ , μ½λ‘ (:)μ μ¬μ©νλ€.
int[] numbers = {2, 4, 6, 11, 14};
int sum = 0;
for(int number:numbers) { //numbers λ°°μ΄μμ μ½μ κ°μ΄ μμΌλ©΄ numberμ μννλ€.
sum +=number;
}
System.out.println(sum);
[μΆμ²]
νΌκ³΅μλ° P.169~198
'Programming Language > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Java 5μΌμ°¨ 곡λΆ(κ°μ²΄μ§ν₯, Class, Instance λ±) (0) | 2022.01.31 |
---|---|
Java 5μΌμ°¨ 곡λΆ(μ°Έμ‘° νμ : μ΄κ±°νμ ) (0) | 2022.01.31 |
Java 3μΌμ°¨ 곡λΆ(쑰건문, λ°λ³΅λ¬Έ) (0) | 2022.01.29 |
Java 3μΌμ°¨ 곡λΆ(μ°μ°μ) (0) | 2022.01.29 |
Java 2μΌμ°¨ 곡λΆ(System.out.printf, System.in.read, Scanner) (0) | 2022.01.25 |