์ค๋ ํ ๊ฒ
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ (SQL, ์๋ฐ) 1๋ฌธ์ ํ์ด & ๋ธ๋ก๊ทธ ์ ๋ฆฌ
- Java ๋ฌธ๋ฒ ์ข ํฉ๋ฐ_2์ฃผ์ฐจ ๋ฃ๊ธฐ
- ๊ฐ์ธ ๊ณผ์ ๋ฐ์
๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ
์ฐ์ฐ์
- ์ฐ์ฐ์ : ๋ง์ , ๋บ์ ์ฒ๋ผ ๊ณ์ฐํ ๊ธฐํธ
- ํผ์ฐ์ฐ์ : ์ฐ์ฐ์๋ก ์ธํด ๊ณ์ฐ๋๋ ์ซ์
package operator;
public class W01 {
public static void main(String[] args) {
// x + y = z
int x = 5;
int y = 10;
int z = x + y; // 5(ํผ์ฐ์ฐ์) +(์ฐ์ฐ์) 10(ํผ์ฐ์ฐ์)
System.out.println(z);
}
}
์ฐ์ฐ์ ์ข ๋ฅ
์ฐ์ ์ฐ์ฐ์
- ์ฌ์น ์ฐ์ฐ ๋ฐ ๋นํธ์ฐ์ฐ์ ํฌํจํ๋ค.
- +(๋ง์ ), -(๋บ์ ), *(๊ณฑ์ ), /(๋๋์ (๋ชซ)), %(๋๋์ (๋๋จธ์ง))
package operator;
public class W02 {
public static void main(String[] args) {
// ์ฌ์น์ฐ์ฐ : +, -, *, /, %
System.out.println(4 + 2); // 6
System.out.println(4 - 2); // 2
System.out.println(4 * 2); // 8
System.out.println(4 / 2); // 2
System.out.println(5 / 2); // 2
System.out.println(2 / 4); // 0
System.out.println(4 % 2); // 0
System.out.println(5 % 2); // 1
System.out.println("-----------------");
// ์ฐ์ ์์ ์ฐ์ฐ
System.out.println(2 + 2 * 2); // 6
System.out.println((2 + 2) * 2); // 8
System.out.println(2 + (2 * 2)); // 6
System.out.println("-----------------");
// ๋ณ์๋ฅผ ์ด์ฉํ ์ฐ์ฐ
int a = 20;
int b = 10;
int c;
// ๋ง์
c = a + b;
System.out.println(c); // 30
// ๋บ์
c = a - b;
System.out.println(c); // 10
// ๊ณฑ์
c = a * b;
System.out.println(c); // 200
// ๋๋์
(๋ชซ)
c = a / b;
System.out.println(c); // 2
// ๋๋์
(๋๋จธ์ง)
c = a % b;
System.out.println(c); // 0
}
}
๋น๊ต ์ฐ์ฐ์
- ๊ฐ์ ํฌ๊ณ /์์์ ๋น๊ตํ๊ฑฐ๋ ๊ฐ๊ณ /๋ค๋ฆ์ ๋น๊ตํ์ฌ ์ฐธ(true)/๊ฑฐ์ง(false) ๊ฐ์ธ boolean ๊ฐ์ ์ถ๋ ฅํ๋ค.
- >(ํฌ๋ค), <(์๋ค), >=(ํฌ๊ฑฐ๋ ๊ฐ๋ค), <=(์๊ฑฐ๋ ๊ฐ๋ค), ==(๊ฐ๋ค), !=(๋ค๋ฅด๋ค)
package operator;
public class W03 {
public static void main(String[] args) {
// ๋น๊ต์ฐ์ฐ์ ์์
System.out.println(10 > 9); // 10์ด 9๋ณด๋ค ํฌ๋? : ์! (true)
System.out.println(10 >= 9); // 10์ด 9๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋? : ์! (true)
System.out.println(10 < 9); // 10์ด 9๋ณด๋ค ์๋? : ์๋! (false)
System.out.println(10 <= 9); // 10์ด 9๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋? : ์๋! (false)
System.out.println(10 == 10); // 10์ 10์ด๋ ๊ฐ๋? : ์! (true)
System.out.println(10 == 9); // 10์ 9๋ ๊ฐ๋? : ์๋! (false)
System.out.println(10 != 10); // 10์ 10์ด ์๋๋? : ์๋! (false)
System.out.println(10 != 9); // 10์ 9๊ฐ ์๋๋? (true)
}
}
๋ ผ๋ฆฌ ์ฐ์ฐ์
- ๋น๊ต ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐ์ ์ ์๋ boolean ๊ฐ์ ์ฐ๊ฒฐํ๋ ์ฐ์ฐ์์ด๋ค.
- ์กฐ๊ฑด์ ์ฐ๊ฒฐํ์ ๋ boolean ๊ฐ๋ค์ ์กฐํฉํ์ฌ ์ฐธ(true)/๊ฑฐ์ง(false) ๊ฐ์ธ boolean ๊ฐ์ ์ถ๋ ฅํ๋ค.
- &&(AND), ||(OR), !(NOT)
package operator;
public class W04 {
public static void main(String[] args) {
// ๋
ผ๋ฆฌ ์ฐ์ฐ์
// ๋น๊ต ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๋ฐ์ ์ ์๋ boolean ๊ฐ์ ์ฐ๊ฒฐํ๋ ์ฐ์ฐ์
// ์กฐ๊ฑด์ ์ฐ๊ฒฐํ์ ๋ boolean ๊ฐ๋ค์ ์กฐํฉํ์ฌ ์ฐธ(true) ๋๋ ๊ฑฐ์ง(false) ๊ฐ์ธ boolean ๊ฐ์ ์ถ๋ ฅ
// &&(AND), ||(OR), !(NOT)
boolean flag1 = true;
boolean flag2 = true;
boolean flag3 = false;
System.out.println(flag1);
System.out.println(flag2);
System.out.println(flag3);
System.out.println("---------------");
// (1) ํผ์ฐ์ฐ์ ์ค ํ๋๋ผ๋ true์ด๋ฉด true -> ๋๋(OR : ||)
System.out.println(flag1 || flag2); // true
System.out.println(flag1 || flag2 || flag3); // true
System.out.println("---------------");
// (2) ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ true์ด๋ฉด true -> ๊ทธ๋ฆฌ๊ณ (AND : &&)
System.out.println(flag1 && flag2); // true
System.out.println(flag1 && flag2 && flag3); // false
System.out.println("---------------");
// (3) AND
System.out.println((5 > 3) && (3 > 1)); // true && true -> true
System.out.println((5 > 3) && (3 < 1)); // true && false -> false
System.out.println("---------------");
// (4) OR
System.out.println((5 > 3) || (3 > 1)); // true || true -> true
System.out.println((5 > 3) || (3 < 1)); // true || false -> true
System.out.println((5 < 3) || (3 < 1)); // false || false -> true
System.out.println("---------------");
//System.out.println(1 < 3 < 5); // ๋ถ๊ฐ๋ฅ!
// ๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์(! : NOT)
System.out.println(!flag1); // false
System.out.println(!flag3); // true
System.out.println(!(5 == 5)); // false
System.out.println(!(5 == 3)); // true
}
}
๋์ ์ฐ์ฐ์
- ๋ณ์๋ฅผ ๋ฐ๋ก ์ฐ์ฐํด์ ๊ทธ ์๋ฆฌ์์ ์ ์ฅํ๋ ์ฐ์ฐ์
- ๊ธฐ๋ณธ ๋์ ์ฐ์ฐ์(=), ๋ณตํฉ ๋์ ์ฐ์ฐ์(+=, -=, *=, /=, %=)
package operator;
public class W05 {
public static void main(String[] args) {
// ๋์
์ฐ์ฐ์
// ๋ณ์๋ฅผ ๋ฐ๋ก ์ฐ์ฐํด์ ๊ทธ ์๋ฆฌ์์ ์ ์ฅํ๋(๋์
ํ๋) ์ฐ์ฐ์
// =(๊ธฐ๋ณธ ๋์
์ฐ์ฐ์), +=, -=, *=, ...(๋ณตํฉ ๋์
์ฐ์ฐ์)
// ++ : += 1
// -- : -= 1
// ๊ธฐ๋ณธ ๋์
์ฐ์ฐ์
int number = 10;
number = number + 2;
System.out.println(number);
number = number - 2;
System.out.println(number);
number = number * 2;
System.out.println(number);
number = number / 2;
System.out.println(number);
number = number % 2;
System.out.println(number);
System.out.println("--------------");
// ๋ณตํฉ ๋์
์ฐ์ฐ์
number = 10;
number += 2; // number = number + 2;
System.out.println(number); // 12
number -= 2; // number = number - 2;
System.out.println(number); // 10
number *= 2; // number = number * 2;
System.out.println(number); // 20
number /= 2; // number = number / 2;
System.out.println(number); // 10
number %= 2; // number = number % 2;
System.out.println(number); // 0
System.out.println("--------------");
// ++, --
number++; // number = number + 1; number += 1;
System.out.println(number); // 0
number--; // number = number - 1; number -= 1;
System.out.println(number); // 0
}
}
package operator;
public class W06 {
public static void main(String[] args) {
// ๋์
์ฐ์ฐ์์์ ์ฃผ์ํด์ผ ํ ์ !!
// ++, --
int a = 10;
int b = 10;
int val = ++a + b--; // 11 + 10 = 21
System.out.println(a); // 11
System.out.println(b); // 9
System.out.println(val); // 21
}
}
๊ธฐํ ์ฐ์ฐ์
- ํ๋ณํ ์ฐ์ฐ์, ์ผํญ ์ฐ์ฐ์, instance of ์ฐ์ฐ์
package operator;
public class W07 {
public static void main(String[] args) {
// ๊ธฐํ ์ฐ์ฐ์
// (1) ํ๋ณํ ์ฐ์ฐ์
int intNumber = 93 + (int) 98.8;
System.out.println(intNumber);
double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8
System.out.println(doubleNumber);
// (2) ์ผํญ ์ฐ์ฐ์
// ๋น๊ต์ฐ์ฐ์์ ํญ์ ํจ๊ป ์ฐ์ธ๋ค.
// ๋น๊ต์ฐ์ฐ์์ ๊ฒฐ๊ณผ : true or false -> ์ด ๊ฒฐ๊ณผ์ ๊ฐ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ ๋ฌด์ธ๊ฐ!
// ์กฐ๊ฑด ? ์ฐธ : ๊ฑฐ์ง
int x = 1;
int y = 9;
boolean b = (x == y) ? true : false;
System.out.println(b);
// x๊ฐ y๋ ๋ค๋ฅด๋? : ์!!!
String s = (x != y) ? "์ ๋ต" : "์ค๋ต";
System.out.println(s);
int max = (x > y) ? x : y;
System.out.println(max);
int min = (x > y) ? y : x;
System.out.println(min);
// (3) instance of (3์ฃผ์ฐจ -> ํด๋์ค, ๊ฐ์ฒด)
// ํผ์ฐ์ฐ์๊ฐ ์กฐ๊ฑด์ ๋ช
์๋ ํด๋์ค์ ๊ฐ์ฒด์ธ์ง ๋น๊ตํ์ฌ
// ๋ง์ผ๋ฉด -> true
// ํ๋ฆฌ๋ฉด -> false
}
}
์ฐ์ฐ์ ์ฐ์ ์์
- ์ฐ์ > ๋น๊ต > ๋ ผ๋ฆฌ > ๋์
package operator;
public class W08 {
public static void main(String[] args) {
// ์ฐ์ฐ์ ์ฐ์ ์์
int x = 2;
int y = 9;
int z = 10;
boolean result = x < y && y < z; // true &7 true, <,> ๋น๊ต์ฐ์ฐ์ ๊ณ์ฐ ํ && ๋
ผ๋ฆฌ ์ฐ์ฐ์ ๊ณ์ฐ
System.out.println(result); // true
result = x + 10 < y && y < z; // false && true, +10 ์ฐ์ ์ฐ์ฐ์ ๊ณ์ฐ ํ <,> ๋น๊ต์ฐ์ฐ์ ๊ณ์ฐ ํ && ๋
ผ๋ฆฌ ์ฐ์ฐ์ ๊ณ์ฐ
System.out.println(result); // false
result = x + 2 * 3 > y; // false, ์ฐ์ ์ฐ์ฐ์ ๊ณฑ์
> ๋ง์
์์ผ๋ก ๊ณ์ฐ ํ > ๋น๊ต์ฐ์ฐ์ ๊ณ์ฐ
System.out.println(result); // false (8>9)
result = (x + 2) * 3 > y; // true, ๊ดํธ ์ ๋ง์
์ฐ์ฐ ํ ๊ดํธ ๋ฐ ๊ณฑ์
๊ณ์ฐ ํ > ๋น๊ต์ฐ์ฐ์ ๊ณ์ฐ
System.out.println(result); // true (12>9)
}
}
์ฐ์ ๋ณํ
package operator;
public class W09 {
public static void main(String[] args) {
short x = 10;
int y = 20;
int z = x + y; // ๊ฒฐ๊ณผ๊ฐ์ ๋ ํฐ ํํํ์
์ธ int ํ์
์ ๋ณ์๋ก๋ง ์ ์ฅํ ์ ์์ต๋๋ค.
long lx = 30L;
long lz = z + lx; // ๊ฒฐ๊ณผ๊ฐ์ ๋ ํฐ ํํํ์
์ธ long ํ์
์ ๋ณ์๋ก๋ง ์ ์ฅํ ์ ์์ต๋๋ค.
float fx = x; // ๊ฒฐ๊ณผ๊ฐ์ ๋ ํฐ ํํํ์
์ธ float ํ์
์ ๋ณ์๋ก๋ง ์ ์ฅํ ์ ์์ต๋๋ค.
float fy = y; // ๊ฒฐ๊ณผ๊ฐ์ ๋ ํฐ ํํํ์
์ธ float ํ์
์ ๋ณ์๋ก๋ง ์ ์ฅํ ์ ์์ต๋๋ค.
float fz = z; // ๊ฒฐ๊ณผ๊ฐ์ ๋ ํฐ ํํํ์
์ธ float ํ์
์ ๋ณ์๋ก๋ง ์ ์ฅํ ์ ์์ต๋๋ค.
System.out.println(lz);
System.out.println(fx);
System.out.println(fy);
System.out.println(fz);
}
}
๋นํธ ์ฐ์ฐ
package operator;
public class W10 {
public static void main(String[] args) {
// ๋นํธ ์ฐ์ฐ
// ์ฐธ๊ณ , 3์ ์ด์ง์๊ฐ์ 11(2) ์
๋๋ค. 12์ ์ด์ง์๊ฐ์ 1100(2) ์
๋๋ค.
// (2) ํ๊ธฐ๋ ์ด ์ซ์๊ฐ ์ด์ง์๊ฐ์ด๋ผ๋ ํ์ ์
๋๋ค.
System.out.println(3 << 2);
// 3์ ์ด์ง์๊ฐ์ธ 11(2) ์์ ์ผ์ชฝ์ผ๋ก 2๋ฒ ์ฎ๊ฒจ์ ธ์ 1100(2) ์ธ 12๊ฐ์ด ๋ฉ๋๋ค.
System.out.println(3 >> 1);
// 3์ ์ด์ง์๊ฐ์ธ 11(2) ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 1๋ฒ ์ฎ๊ฒจ์ ธ์ 1(2) ์ธ 1 ๊ฐ์ด ๋ฉ๋๋ค.
}
}
์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ
if๋ฌธ
- ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฐ์ฐ์ ์ํํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฌธ๋งฅ์ด๋ค.
package operator;
public class W11 {
public static void main(String[] args) {
// ์กฐ๊ฑด๋ฌธ with else
boolean flag = false;
if (flag) {
System.out.println("flag ๊ฐ์ true ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
} else {
System.out.println("flag ๊ฐ์ false ์
๋๋ค."); // flag ๊ฐ์ false ์
๋๋ค. ์ถ๋ ฅ
}
// ์กฐ๊ฑด๋ฌธ with else if
int number = 2;
if (number == 1) {
System.out.println("number ๊ฐ์ 1 ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
} else if (number == 2) {
System.out.println("number ๊ฐ์ 2 ์
๋๋ค."); // number ๊ฐ์ 2 ์
๋๋ค. ์ถ๋ ฅ
} else {
System.out.println("number ๊ฐ์ ๋ชจ๋ฅด๋ ๊ฐ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
}
}
}
์ค์ฒฉ if๋ฌธ
package operator;
public class W12 {
public static void main(String[] args) {
// ์ค์ฒฉ ์กฐ๊ฑด๋ฌธ
boolean flag = true;
int number = 2;
if (flag) {
if (number == 1) {
System.out.println("flag ๊ฐ์ true, number ๊ฐ์ 1 ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
} else if (number == 2) {
System.out.println("flag ๊ฐ์ true, number ๊ฐ์ 2 ์
๋๋ค."); // flag ๊ฐ์ true, number ๊ฐ์ 2 ์
๋๋ค. ์ถ๋ ฅ
}
} else {
if (number == 1) {
System.out.println("flag ๊ฐ์ false, number ๊ฐ์ 1 ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
} else if (number == 2) {
System.out.println("flag ๊ฐ์ false, number ๊ฐ์ 2 ์
๋๋ค."); // ๋ฏธ์ถ๋ ฅ
}
}
}
}
์ค์ฒฉ if๋ฌธ ํ์ฉ
package operator;
import java.util.Objects;
import java.util.Scanner;
public class W13 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// A์๊ฒ ๊ฐ ์
๋ ฅ๋ฐ๊ธฐ
System.out.print("A ์
๋ ฅ : ");
String aHand = scanner.nextLine();
// B์๊ฒ ๊ฐ ์
๋ ฅ๋ฐ๊ธฐ
System.out.print("B ์
๋ ฅ : ");
String bHand = scanner.nextLine();
// ๋ ๊ฐ์ ๊ฐ์ ๋น๊ตํ๋ ๋ฉ์๋ -> Objects.equals(์ข, ์ฐ) : ์ข ์ฐ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ true, ๋ค๋ฅธ ๊ฒฝ์ฐ false
if (Objects.equals(aHand, "๊ฐ์")) {
if (Objects.equals(bHand, "๊ฐ์")) {
System.out.println("A์ B๋ ๋น๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ฐ์")) {
System.out.println("B๊ฐ ์ด๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ณด")) {
System.out.println("A๊ฐ ์ด๊ฒผ์ต๋๋ค");
} else {
System.out.println("B ์ ์ ์ ๊ฐ์ ์๋ชป ์
๋ ฅํ์ต๋๋ค.");
}
} else if (Objects.equals(aHand, "๋ฐ์")) {
if (Objects.equals(bHand, "๊ฐ์")) {
System.out.println("A๊ฐ ์ด๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ฐ์")) {
System.out.println("A์ B๋ ๋น๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ณด")) {
System.out.println("B๊ฐ ์ด๊ฒผ์ต๋๋ค");
} else {
System.out.println("B ์ ์ ์ ๊ฐ์ ์๋ชป ์
๋ ฅํ์ต๋๋ค.");
}
} else if (Objects.equals(aHand, "๋ณด")) {
if (Objects.equals(bHand, "๊ฐ์")) {
System.out.println("B๊ฐ ์ด๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ฐ์")) {
System.out.println("A๊ฐ ์ด๊ฒผ์ต๋๋ค.");
} else if (Objects.equals(bHand, "๋ณด")) {
System.out.println("A์ B๋ ๋น๊ฒผ์ต๋๋ค.");
} else {
System.out.println("B ์ ์ ์ ๊ฐ์ ์๋ชป ์
๋ ฅํ์ต๋๋ค.");
}
} else {
System.out.println("A ์ ์ ์ ๊ฐ์ ์๋ชป ์
๋ ฅํ์ต๋๋ค.");
}
}
}
switch / case
- if ๋ฌธ๋ณด๋ค ์ข ๋ ๊ฐ๋ ์ฑ์ด ์ข์ ์กฐ๊ฑด๋ฌธ ํํ์์ด๋ค.
package operator;
public class W14 {
public static void main(String[] args) {
// switch/case ๋ฌธ
int month = 8;
String monthString = "";
switch (month) {
case 1: monthString = "1์";
break;
case 2: monthString = "2์";
break;
case 3: monthString = "3์";
break;
case 4: monthString = "4์";
break;
case 5: monthString = "5์";
break;
case 6: monthString = "6์";
break;
case 7: monthString = "7์";
break;
case 8: monthString = "8์";
break;
case 9: monthString = "9์";
break;
case 10: monthString = "10์";
break;
case 11: monthString = "11์";
break;
case 12: monthString = "12์";
break;
default: monthString = "์์ ์์";
}
System.out.println(monthString); // 8์ ์ถ๋ ฅ
}
}
for๋ฌธ
- ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฐ์ฐ์ ๋ฐ๋ณตํด์ ์ํํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฌธ๋งฅ์ด๋ค.
package operator;
public class W15 {
public static void main(String[] args) {
// for ๋ฌธ
// (์ด๊ธฐ๊ฐ; ์กฐ๊ฑด๋ฌธ; ์ฆ๊ฐ์ฐ์ฐ)
for(int i=0; i < 4; i++) { // ๋ณ์ i ๊ฐ์ 0 ~ 3 ๊น์ง ๋ฐ๋ณต
System.out.println(i + "๋ฒ์งธ ์ถ๋ ฅ"); // i ๋ณ์์ ๋ฌธ์์ด ํฉ์น๊ธฐ
}
// ํฅ์๋ for๋ฌธ
// ๊ธฐ์กด : for๋ฌธ ์์ 3๊ฐ์ ํํ์์ด ๋ค์ด๊ฐ๋ค -> (์ด๊ธฐ๊ฐ; ์กฐ๊ฑด๋ฌธ; ์ฆ๊ฐ์ฐ์ฐ)
// ํฅ์๋ for๋ฌธ : 2๊ฐ๋ก ์ค์ฌ์ค๋ค.
int[] numbers = {3,6,9,12,15};
for(int number : numbers) {
System.out.print(number + " ");
}
// ๋ง์ฝ ๊ธฐ์กด for ๋ฌธ์ผ๋ก ๊ตฌํํ๋ค๋ฉด?
int[] numbers = {3,6,9,12,15};
for (int i = 0; i < numbers.length; i++) { // ๋ฐฐ์ด์ .length ๋ฅผ ๋ถ์ด๋ฉด ๊ธธ์ด๊ฐ์ด ์๋ต๋ฉ๋๋ค.
System.out.println(numbers[i]);
}
}
}
while๋ฌธ, do-while๋ฌธ
- for๋ฌธ๊ณผ ๋์ผํ๊ฒ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฐ์ฐ์ ๋ฐ๋ณตํด์ ์ํํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฌธ๋งฅ์ด๋ค.
- ์ด๊ธฐ๊ฐ ์์ด ์กฐ๊ฑด๋ฌธ๋ง ๋ช ์ํ์ฌ ๋ฐ๋ณตํ๋ค.
package operator;
public class W16 {
public static void main(String[] args) {
// while ๋ฌธ
int number = 0;
while(number < 3) { // number < 3์ธ ๋์~~
number++;
System.out.println(number + "์ถ๋ ฅ");
}
// do-while ๋ฌธ
int number = 4;
do {
System.out.println(number + "์ถ๋ ฅ");
} while(number < 3); // ์ฐ์ฐ์ ํ๋ฒ ์ํ ํ ์กฐ๊ฑด๋ฌธ ์ฒดํฌ
// break ๋ช
๋ น
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
break; // 2์ผ๋ ๋ฐ๋ณต ์ค๋จ
}
System.out.println(number + "์ถ๋ ฅ");
}
// break ๋ช
๋ น ๋ฒ์
for (int i = 0; i < 10; i++) {
System.out.println("i: " + i);
if (i == 2) {
break; // i ๊ฐ 2์ผ๋ ๊ฐ์ฅ ๋ฐ๊นฅ ๋ฐ๋ณต๋ฌธ์ด ์ข
๋ฃ๋ฉ๋๋ค.
}
for (int j = 0; j < 10; j++) {
System.out.println("j: " + j);
if (j == 2) {
break; // j ๊ฐ 2์ผ๋ ๊ฐ์ฅ ์์ชฝ ๋ฐ๋ณต๋ฌธ์ด ์ข
๋ฃ๋ฉ๋๋ค.
}
}
}
// continue ๋ช
๋ น
int number = 0;
while(number < 3) {
number++;
if (number == 2) {
continue; // 2์ผ๋ ๋ฐ๋ณต ํจ์ค
}
System.out.println(number + "์ถ๋ ฅ");
}
}
}
๋ฐฐ์ด
- ํ ๋ฒ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ฑฐ๋ ๊ณ์ฐํ ๋ ์ฌ์ฉํ๋ค.
package week02.array;
public class Arr01 {
public static void main(String[] args) {
// ๋ฐฐ์ด ์์ฑ
int[] intArray = new int[3]; // [0, 0, 0]
boolean[] boolArray = new boolean[3]; // [false, false, false]
String[] stringArray = new String[3]; // ["", "", ""]
// ๋ฐฐ์ด ์ ์ธ ๋จผ์ ! -> ๋์ค์ ์ด๊ธฐํ
int[] intArray2;
intArray2 = new int[3]; // [0, 0, 0]
// ์์ฑํ ๋ฐฐ์ด์ '์ํ' -> ๋ฐฐ์ด์ ๊ฐ์ ํ๋์ฉ ๋ฝ์์ ์กฐํํ๋ค.
// (1) ๋จ๊ฑด ์กฐํ
System.out.println(intArray[1]);
System.out.println("----------");
// (2) ๋ค๊ฑด ์กฐํ
// length : ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ๋ฉ์๋
for (int i = 0; i < intArray2.length; i++) {
System.out.println(intArray2[i]);
}
}
}
package week02.array;
import java.util.Arrays;
public class Arr02 {
public static void main(String[] args) {
// ์ด๊ธฐํ
// 1. ๋ฐฐ์ด์ ํน์ ๊ฐ ๋์
ํด์ ์ ์ธ
int[] intArr = {1, 2, 3, 4, 5};
String[] stringArray = {"a", "b", "c", "d"};
// 2. for๋ฌธ์ ํตํด์ ๋์
for (int i = 0; i < intArr.length; i++) {
intArr[i] = i;
}
// ๋ค๊ฑด์ถ๋ ฅ
for (int i = 0; i < intArr.length; i++) {
System.out.println(intArr[i]);
}
for (int item : intArr) {
System.out.println(item);
}
// ๋ฐฐ์ด์ ์ฃผ์๋ฅผ ๋ชจ๋ ๊ฐ์ ๊ฐ์ผ๋ก ์ด๊ธฐํ
Arrays.fill(intArr, 1);
for (int item : intArr) {
System.out.println(item);
}
}
}
๋ณต์ฌ
- ์์ ๋ณต์ฌ : ๋ฐฐ์ด ๋ณ์ ๊ฐ์ ๋์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ๋ณต์ฌ๋ฅผ ํ๊ฒ ๋๋ฉด ์ฃผ์๊ฐ๋ง ๋ณต์ฌ๋๋ค.
package week02.array;
public class Arr03 {
public static void main(String[] args) {
// ์์ ๋ณต์ฌ
int[] a = { 1, 2, 3, 4 };
int[] b = a; // ์์ ๋ณต์ฌ
b[0] = 3; // b ๋ฐฐ์ด์ 0๋ฒ์งธ ์๋ฒ๊ฐ์ 3์ผ๋ก ์์ ํ์ต๋๋ค. (1 -> 3)
System.out.println(a[0]); // ์ถ๋ ฅ 3 <- a ๋ฐฐ์ด์ 0๋ฒ์งธ ์๋ฒ๊ฐ๋ 3์ผ๋ก ์กฐํ๋ฉ๋๋ค.
}
}
- ๊น์ ๋ณต์ฌ : ์ค์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๋ฐฐ์ด์ ๊ธฐ๋ณธํ์ ๊บผ๋ด์ ๋ณต์ฌํ๋ฉด ๋๋ค.
package week02.array;
import java.util.Arrays;
public class Arr04 {
public static void main(String[] args) {
// 2. Arrays.copyOf() ๋ฉ์๋
int[] a = { 1, 2, 3, 4 };
int[] b = Arrays.copyOf(a, a.length); // ๋ฐฐ์ด๊ณผ ํจ๊ป length๊ฐ๋ ๊ฐ์ด ๋ฃ์ด์ค๋๋ค.
a[3] = 0;
System.out.println(a[3]);
System.out.println(b[3]);
}
}
String ๋ฐฐ์ด
package week02.array;
public class Arr05 {
public static void main(String[] args) {
// ๋ฌธ์(char), ๋ฌธ์์ด(String)
// String = char[]
// [๊ธฐ๋ณธํ ๋ณ์ vs ์ฐธ์กฐํ ๋ณ์]
// 1. ๊ธฐ๋ณธํ ๋ณ์๋ '์๋ฌธ์๋ก ์์ํจ' ๋ฐ๋ฉด, ์ฐธ์กฐํ ๋ณ์๋ '๋๋ฌธ์๋ก ์์ํจ'
// - Wrapper class์์ ๊ธฐ๋ณธํ ๋ณ์๋ฅผ ๊ฐ์ธ์ค ๋(boxing), int -> Integer
// 2. ๊ธฐ๋ณธํ ๋ณ์๋ ๊ฐ ์์ฒด๋ฅผ ์ ์ฅ, ์ฐธ์กฐํ ๋ณ์๋ ๋ณ๋์ ๊ณต๊ฐ์ ๊ฐ์ ์ ์ฅ ํ ๊ทธ ์ฃผ์๋ฅผ ์ ์ฅํจ. (=์ฃผ์ํ ๋ณ์)
// char < String(ํจ์ฌ ๋!)
// String์ด ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์์..!!!!!!
// Wrapper class์๋ ์๋นํ ๋น์ท..! -> ๊ธฐ๋ณธํ ๋ณ์๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ์ด ์ ํ -> ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Wrapper์ ๊ฐ์์ผ๋ก์จ, ์ถ๊ฐ๊ธฐ๋ฅ์ ๋ํจ
// String ๊ธฐ๋ฅ ํ์ฉ ์์
String string = "ABCD";
// (1) length
int strLength = string.length();
System.out.println(strLength);
// (2) charAt(int index)
char strChar = string.charAt(1);
System.out.println(strChar);
// (3) substring(int fromIdx, int toIdx)
String strSub = string.substring(0, 3);
System.out.println(strSub);
// (4) equals(String str)
String newStr = "ABCE";
boolean strEqual = newStr.equals(string);
System.out.println(strEqual);
// (5) toCharArray() : String -> char[]
char[] strCharArray = string.toCharArray();
// (6) ๋ฐ๋๋ก char[] -> String -> char
char[] charArray = {'A', 'B', 'C'};
String charArrayString = new String(charArray);
System.out.println(charArrayString);
}
}
๋ค์ฐจ์ ๋ฐฐ์ด
- 2์ฐจ์ ๋ฐฐ์ด
package week02.array;
public class Arr06 {
public static void main(String[] args) {
// ๋ฐ๋ณต๋ฌธ์ ํตํ ์ด๊ธฐํ
int[][] array = new int[2][3]; // ์ต์ด ์ ์ธ
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("์ถ๋ ฅ๊ฐ -> " + i + ", " + j);
array[i][j] = 0; // i, j ๋ ์ ๋
ธ๋์ ๋ค๋ชจ๋ฐ์ค ์์์๋ ์ซ์๋ฅผ ์๋ฏธํ๋ฉฐ ์ธ๋ฑ์ค ๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
}
}
}
}
- ๊ฐ๋ณ ๋ฐฐ์ด
package week02.array;
public class Arr07 {
public static void main(String[] args) {
// ๊ฐ๋ณ๋ฐฐ์ด
int[][] array = new int[3][];
// ๋ฐฐ์ด ์์๋ง๋ค ๊ฐ๊ธฐ ๋ค๋ฅธ ํฌ๊ธฐ๋ก ์ง์
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[1];
// ์ค๊ดํธ๋ก ์ด๊ธฐํ๋ฅผ ์์ ํด๋ฒ๋ฆด ๋๋ ๊ฐ๋ฅํจ!!
int[][] array2 = {
{10, 20},
{10, 20, 30, 40},
{10}
};
}
}
์ปฌ๋ ์
์ปฌ๋ ์ ์ข ๋ฅ
- List : ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ(๋ฐ์ดํฐ ์ค๋ณต ํ์ฉ) - ๋ฐฐ์ด๊ณผ ๋น์ทํ๋ค.
- Queue : ๋นจ๋์ฒ๋ผ ํ์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋ฐ๋์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ๋บ ์ ์๋ ์งํฉ์ด๋ค.
- Set : ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ(๋ฐ์ดํฐ ์ค๋ณต ๋ถ๊ฐ๋ฅ) - ์์ ์๊ณ ์ค๋ณต ์๋ ๋ฐฐ์ด์ด๋ค.
- Map : ์์๊ฐ ์๋ (Key-Value) ์์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค. (Key๊ฐ ์ค๋ณต ๋ถ๊ฐ๋ฅ)
List
- ๋ฐฐ์ด์ฒ๋ผ ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์์ง ์๊ณ ํ์ํ ๋๋ง๋ค ํฌ๊ธฐ๊ฐ ์ ์ ๋์ด๋๋ค.
package week02.collection;
import java.util.ArrayList;
public class Col1 {
public static void main(String[] args) {
// ๋ฆฌ์คํธ
// ์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ -> Array(์ต์ด ๊ธธ์ด๋ฅผ ์์์ผ ํจ)
// ์ฒ์์ ๊ธธ์ด๋ฅผ ๋ชฐ๋ผ๋ ๋ง๋ค ์ ์์!
// 1) Array -> ์ ์ ๋ฐฐ์ด
// 2) List(ArrayList) -> ๋์ ๋ฐฐ์ด(ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ์ ์ผ๋ก ๋์ด๋๋ค.)
// - ์์ฑ ์์ ์ ์์ ์ฐ์๋ ๊ณต๊ฐ์ ์์ฒญํด์ ์ฐธ์กฐํ ๋ณ์๋ค์ ๋ด์๋๋๋ค.
// - ๊ฐ์ด ์ถ๊ฐ๋ ๋ ๋ ํฐ ๊ณต๊ฐ์ด ํ์ํ๋ฉด ๋ ํฐ ๊ณต๊ฐ์ ๋ฐ์์ ์ ์ฅํ๋๊น ์๊ด์๋ค!!
ArrayList<Integer> intList = new ArrayList<Integer>(); // ์ ์ธ + ์์ฑ
intList.add(99);
intList.add(15);
intList.add(3);
// System.out.println(intList.get(1));
// 2๋ฒ์งธ ์๋ ๊ฐ(15)์ ๋ฐ๊ฟ๋ณด์.
intList.set(1, 10);
// System.out.println(intList.get(1));
System.out.println(intList.get(0));
// ์ญ์
intList.remove(0);
System.out.println(intList.get(0));
System.out.println("ํด๋ฆฌ์ด ์ ");
System.out.println(intList.toString());
intList.clear();
System.out.println("ํด๋ฆฌ์ด ํ");
System.out.println(intList.toString());
}
}
LinkedList
- ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ArrayList์ ๋์ผํ์ง๋ง ๊ฐ์ ๋๋์ด ๋ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฐ์ ์กฐํํ๋ ์๋๊ฐ ๋๋ฆฌ๋ค.
- ๊ฐ์ ์ค๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋๋ ์๋๊ฐ ๋น ๋ฅด๋ค.
package week02.collection;
import java.util.LinkedList;
public class Col2 {
public static void main(String[] args) {
// Linked list
// ๋ฉ๋ชจ๋ฆฌ์ ๋จ๋ ๊ณต๊ฐ์ ์์ฒญํด์ ์ฌ๊ธฐ ์ ๊ธฐ ๋๋์ด์ ์ค์ ๊ฐ์ ๋ด์๋๋๋ค.
// ์ค์ ๊ฐ์ด ์๋ ์ฃผ์๊ฐ์ผ๋ก ๋ชฉ๋ก์ ๊ตฌ์ฑํ๊ณ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ.
// ๊ธฐ๋ณธ์ ๊ธฐ๋ฅ์ ArrayList์ ๋์ผ!!
// LinkedList๋ ๊ฐ -> ์ฌ๊ธฐ์ ๊ธฐ ๋๋์ด์ ์ ์ฅ -> ์กฐํํ๋ ์๋๊ฐ "๋๋ฆฌ๋ค...."
// ๊ฐ์ ์ถ๊ฐํ๊ฑฐ๋, ์ญ์ ํ ๋๋ ๋น ๋ฅด๋ค.
LinkedList<Integer> linkedList = new LinkedList<Integer>();
linkedList.add(5);
linkedList.add(10);
linkedList.add(3);
System.out.println(linkedList.get(0));
System.out.println(linkedList.get(1));
System.out.println(linkedList.get(2));
System.out.println(linkedList.toString()); // ์ด๋ ๊ฒ ์กฐํํ ๋๋ arrayList๋ณด๋ค ์๋๊ฐ ํ์ ํ ๋๋ฆฌ๋ค.
linkedList.add(200);
System.out.println(linkedList.toString());
linkedList.add(2, 4);
System.out.println(linkedList.toString());
linkedList.set(1, 30);
System.out.println(linkedList.toString());
linkedList.remove(1);
System.out.println(linkedList.toString());
linkedList.clear();
System.out.println(linkedList.toString());
}
}
Stack
- ์์์ ๋ฌผ๊ฑด์ ๋ฃ๊ณ ๊บผ๋ด๋ ๊ฒ์ฒ๋ผ ๋ฐ์์ ์๋ก ์๊ณ , ๊บผ๋ผ ๋๋ ์์์๋ถํฐ ๊บผ๋ธ๋ค.
- ์ต๊ทผ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ดํ๊ณ ์ถ๊ฑฐ๋ ๋ฐ์ดํฐ์ ์ค๋ณต์ฒ๋ฆฌ๋ฅผ ๋ง๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.
package week02.collection;
import java.util.Stack;
public class Col3 {
public static void main(String[] args) {
// Stack
// ์์ง์ผ๋ก ๊ฐ์ ์์๋๊ณ , ๋ฃ์๋ค๊ฐ ๋บธ๋ค. FILO(Basket)
// push, peek, pop
// ์ต๊ทผ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋์ดํ๊ณ ์ถ๊ฑฐ๋, ๋ฐ์ดํฐ์ ์ค๋ณต ์ฒ๋ฆฌ๋ฅผ ๋ง๊ณ ์ถ์ ๋ ์ฌ์ฉ
Stack<Integer> intStack = new Stack<Integer>();
intStack.push(10);
intStack.push(15);
intStack.push(1);
// ๋ค ์ง์์ง ๋๊น์ง ์ถ๋ ฅ
while (!intStack.isEmpty()) {
System.out.println(intStack.pop());
}
// ๋ค์ ์ถ๊ฐ
intStack.push(10);
intStack.push(15);
intStack.push(1);
// peek
System.out.println(intStack.peek());
System.out.println(intStack.size());
}
}
Queue
- ๋นจ๋์ฒ๋ผ ํ์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ ๋ฐ๋์ชฝ์์ ๋ฐ์ดํฐ๋ฅผ ๋บ ์ ์๋ค.
- First In First Out : ๋จผ์ ๋ค์ด๊ฐ ์์๋๋ก ๊ฐ์ ์กฐํํ ์ ์๋ค.
- ์์ฑ์๊ฐ ์๋ ๊ป๋ฐ๊ธฐ๋ผ์ ๋ฐ๋ก ์์ฑํ ์ ์๋ค.
package week02.collection;
import java.util.LinkedList;
import java.util.Queue;
public class Col4 {
public static void main(String[] args) {
// Queue : FIFO
// add, peek, poll
// Queue : ์์ฑ์๊ฐ ์๋ ์ธํฐํ์ด์ค
Queue<Integer> intQueue = new LinkedList<>(); // queue ์ ์ธ, ์์ฑ
intQueue.add(1);
intQueue.add(5);
intQueue.add(9);
while (!intQueue.isEmpty()) {
System.out.println(intQueue.poll());
}
// ๋ค์ ์ถ๊ฐ
intQueue.add(1);
intQueue.add(5);
intQueue.add(9);
intQueue.add(10);
// peek
System.out.println(intQueue.peek());
System.out.println(intQueue.size());
}
}
Set
- ์์๊ฐ ๋ณด์ฅ๋์ง ์๋ ๋์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ก ์ ์งํ ์ ์๋ค.
- ์์ฑ์๊ฐ ์๋ ๊ป๋ฐ๊ธฐ๋ผ์ ๋ฐ๋ก ์์ฑํ ์ ์๋ค.
package week02.collection;
import java.util.HashSet;
import java.util.Set;
public class Col5 {
public static void main(String[] args) {
// Set(์งํฉ) : ์์ ์๊ณ , ์ค๋ณต ์์!!
// ์์๊ฐ ๋ณด์ฅ๋์ง ์๋ ๋์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ก ํ๋ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ
// Set -> ๊ทธ๋ฅ ์ธ ์๋ ์์. ๊ทธ๋ฌ๋, HashSet, TreeSet ๋ฑ์ผ๋ก ์์ฉํด์ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅ
// Set์ ์์ฑ์๊ฐ ์๋ ๊ป๋ฐ๊ธฐ๋ผ์ ๋ฐ๋ก ์์ฑํ ์ ์์!!!!!
// ์์ฑ์๊ฐ ์กด์ฌํ๋ HashSet์ ์ด์ฉํด์ -> Set์ ๊ตฌํํด๋ณผ ์ ์๋ค!!
Set<Integer> intSet = new HashSet<>(); // ์ ์ธ ๋ฐ ์์ฑ
intSet.add(1);
intSet.add(12);
intSet.add(5);
intSet.add(9);
intSet.add(1);
intSet.add(12);
for (Integer value : intSet) {
System.out.println(value);
}
// contains
System.out.println(intSet.contains(2));
System.out.println(intSet.contains(5));
}
}
Map
- key - value ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด์ ์๋ฒ์ผ๋ก๋ง ์กฐํํ๋ ๋ฐฉ์์์, key ๊ฐ์ ๊ธฐ์ค์ผ๋ก value๋ฅผ ์กฐํํ ์ ์๋ค.
- key ๊ฐ ๋จ์๋ก ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค.
package week02.collection;
import java.util.HashMap;
import java.util.Map;
public class Col6 {
public static void main(String[] args) {
// Map : key - value pair -> ์ค์!!
// key๋ผ๋ ๊ฐ์ผ๋ก uniqueํ๊ฒ ๋ณด์ฅ์ด ๋์ด์ผ ํ๋ค!
// Map -> HashMap, TreeMap์ผ๋ก ์์ฉ ๊ฐ๋ฅ!
Map<String, Integer> intMap = new HashMap<>();
// ํค ๊ฐ
intMap.put("์ผ", 11);
intMap.put("์ด", 12);
intMap.put("์ผ", 13); // ์ค๋ณต key
intMap.put("์ผ", 14); // ์ค๋ณต key
intMap.put("์ผ", 15); // ์ค๋ณต key
// key ๊ฐ ์ ์ฒด ์ถ๋ ฅ(ํฅ์๋ for๋ฌธ)
for (String key : intMap.keySet()) {
System.out.println(key);
}
// value ๊ฐ ์ ์ฒด ์ถ๋ ฅ(ํฅ์๋ for๋ฌธ)
for (Integer value : intMap.values()) {
System.out.println(value);
}
System.out.println(intMap.get("์ผ"));
}
}
์์
์๋ฃ๊ตฌ์กฐ ์๋ฆฌ ๋ ์ํผ ๋ฉ๋ชจ์ฅ ๋ง๋ค๊ธฐ
์ ๋ ฅ๊ฐ
- ์ ์ฅํ ์๋ฃ๊ตฌ์กฐ๋ช ์ ์ ๋ ฅํฉ๋๋ค. (List, Set, Map)
- ๋ด๊ฐ ์ข์ํ๋ ์๋ฆฌ ์ ๋ชฉ์ ๋จผ์ ์ ๋ ฅํฉ๋๋ค.
- ์ด์ด์ ๋ด๊ฐ ์ข์ํ๋ ์๋ฆฌ ๋ ์ํผ๋ฅผ ํ ๋ฌธ์ฅ์ฉ ์ ๋ ฅํฉ๋๋ค.
- ์ ๋ ฅ์ ๋ง์ณค์ผ๋ฉด ๋ง์ง๋ง์ "๋" ๋ฌธ์๋ฅผ ์ ๋ ฅํฉ๋๋ค.
์ถ๋ ฅ๊ฐ
- ์ ๋ ฅ์ด ์ข ๋ฃ๋๋ฉด ์ ์ฅํ ์๋ฃ๊ตฌ์กฐ ์ด๋ฆ๊ณผ ์๋ฆฌ ์ ๋ชฉ์ ๊ดํธ๋ก ๊ฐ์ธ์ ๋จผ์ ์ถ๋ ฅํด ์ค๋๋ค.
- ์ด์ด์, ์ ๋ ฅํ ๋ชจ๋ ๋ฌธ์ฅ ์์ ๋ฒํธ๋ฅผ ๋ถ์ฌ์ ์ ๋ ฅ ์์์ ๋ง๊ฒ ๋ชจ๋ ์ถ๋ ฅํด ์ค๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
package week02;
import java.util.*;
public class Homework2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("์ํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์
๋ ฅํ์ธ์ (List, Set, Map) : ");
String structure = scanner.nextLine();
if (structure.equals("List")) {
ArrayList<String> strList = new ArrayList<String>();
System.out.print("์ข์ํ๋ ์๋ฆฌ ์ ๋ชฉ์ ์
๋ ฅํด์ฃผ์ธ์ : ");
String title = scanner.nextLine();
// ์
๋ ฅ
while (true) {
String sentence = scanner.nextLine();
if (sentence.equals("๋")) {
break;
}
strList.add(sentence);
}
// ์ถ๋ ฅ
System.out.println("[ " + structure + " ์ผ๋ก ์ ์ฅ๋ " + title + " ]");
for (int i = 0; i < strList.size(); i++) {
System.out.println((i + 1) + ". " + strList.get(i));
}
} else if (structure.equals("Set")) {
Set<String> strSet = new LinkedHashSet<>();
System.out.print("์ข์ํ๋ ์๋ฆฌ ์ ๋ชฉ์ ์
๋ ฅํด์ฃผ์ธ์ : ");
String title = scanner.nextLine();
// ์
๋ ฅ
while (true) {
String sentence = scanner.nextLine();
if (sentence.equals("๋")) {
break;
}
strSet.add(sentence);
}
// ์ถ๋ ฅ
System.out.println("[ " + structure + " ์ผ๋ก ์ ์ฅ๋ " + title + " ]");
int count = 1;
for (String value : strSet){
System.out.println(count + ". " + value);
count++;
}
} else if (structure.equals("Map")) {
Map<Integer, String> strMap = new LinkedHashMap<>();
System.out.print("์ข์ํ๋ ์๋ฆฌ ์ ๋ชฉ์ ์
๋ ฅํด์ฃผ์ธ์ : ");
String title = scanner.nextLine();
// ์
๋ ฅ
int count2 = 1;
while (true) {
String sentence = scanner.nextLine();
if (sentence.equals("๋")) {
break;
}
strMap.put(count2, sentence);
count2++;
}
// ์ถ๋ ฅ
System.out.println("[ " + structure + " ์ผ๋ก ์ ์ฅ๋ " + title + " ]");
for (int n = 1; n <= strMap.size(); n++) {
System.out.println(n + ". " + strMap.get(n));
}
} else {
System.out.println("์๋ชป ์
๋ ฅ๋ ์๋ฃ๊ตฌ์กฐ์
๋๋ค.");
}
}
}
๊ณต๋ถํ๋ฉด์ ๋๋ ์
์ค๋์ ๋ ์๋ฐ์ ์๋ก์ด ๊ฐ๋
์ ๋ง์ฃผํ๋ค. ๋ญ๊ฐ ์ด๋ฒ ์ฃผ๋ถํฐ ํ๋ก๊ทธ๋๋ฐ ์ฑํฐ์ ๋ค์ด๊ฐ๊ณ ๊ฐ์๋ฅผ ๋ฃ๋ค ๋ณด๋ ์๋ก์ด ๋ด์ฉ์ด ์์ฒญ ์์์ง๋ ๊ฒ ๊ฐ๋ค. ์๋ก์ด ๋ด์ฉ์ ๋ฐฐ์ฐ๋ ๊ฒ์ ์ฌ๋ฐ์ง๋ง ์ดํดํ๊ธฐ ์ํด์๋ ์๊ฐ์ ์๋นํ ํฌ์ํด์ผ ๋๋ค!
๊ทธ๋ฆฌ๊ณ ๊ฐ์ธ ๊ณผ์ ๋ฐ์ ์๊ฐ์ ์ธํ
๋ฆฌ์ ์ด์ ๊ธฐ๋ฅ์ธ ์๋์์ฑ ๊ธฐ๋ฅ์ ๊บผ๋ฒ๋ ธ๋ค! ํํฐ๋๊ป์ ๋๊ณ ํ๋ ๊ฒ์ด ๋์ค์ ์ค๋ ฅ ์ค๋ฅด๋ ๋ฐ ๋ ํจ๊ณผ์ ์ด๋ผ๊ณ ํ์
จ๋ค.
์์ง 2์ฃผ ์ฐจ๊น์ง ๋ค์์ง๋ง ๊ฐ ์ฃผ์ฐจ์ ์์ ๋ฅผ ์ด๋ ต์ง ์๊ฒ ํด๊ฒฐํ๊ณ ์์ด ๋คํ์ด๋ผ๋ ์๊ฐ์ด ๋ ๋ค... ๋ด์ผ์ 3์ฃผ ์ฐจ๋ฅผ ๋ฃ๊ณ 3์ฃผ ์ฐจ์ ์์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋๋ฐ ๋์ด๋๊ฐ ์กฐ๊ธ ์ค๋ฅธ๋ค๊ณ ํด์ ๊ฑฑ์ ์ด๋ค.. ํ์ง๋ง ๊ฐ์ ์ ๋ฃ๊ณ ๊ฐ๋
์ ์ ์ ๋ฆฌํ๋ค๋ฉด ํด๊ฒฐํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค!!!
๊ทธ๋ฆฌ๊ณ ์ค๋ ์์ ๋ฅผ ํด๊ฒฐํ๋ฉด์ ์ถ๋ ฅ์์ ๋ด๊ฐ ์ํ๋ ๋๋ก ๋์ค์ง ์์์ ํค๋งธ๋๋ฐ.. ๊ทธ ์ด์ ๊ฐ HashSet์ ์ฌ์ฉํ์ ๋ ์์๋ฅผ ๋ฐ์ํ์ง ์๊ณ ์ ์ฅ์ ํ๊ธฐ ๋๋ฌธ์ ์ถ๋ ฅ ๋ํ ์
๋ ฅํ ์์๋๋ก ๋์ค์ง ์๋ ๊ฒ์ด์๋ค... ๊ทธ๋์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด LinkedHashSet์ ์ฌ์ฉํ๊ณ ์
๋ ฅํ ์์๋๋ก ์ถ๋ ฅ ๊ฐ์ ์ป์ ์ ์์๋ค. ์กฐ๋ง๊ฐ ์ปฌ๋ ์
๊ด๋ จ ๊ฐ๋
์ ๋ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํด์ ๋ธ๋ก๊ทธ์ ์ฌ๋ ค๋๊ณ ์์ฃผ ๋ณต์ตํด์ผ๊ฒ ๋ค.....
ํ.. ๋๋ง์ ์๋๋ก ์ด์ฌํ ํ๋ค ๋ณด๋ฉด ํ ํ๋ก์ ํธ์์ ๋ฏผํ๋ ๋ผ์น์ง ์๋ ํ์์ด ๋ ์ ์๊ฒ ์ง..
์ค๊ฐ์ ๊ฒ์๋ฌ์ง์ง ์๊ณ ์ด์ฌํ ๊ฐ์ ๋ฃ๊ณ ๋ด ๊ฒ์ผ๋ก ๋ง๋ค์ด์ผ๊ฒ ๋ค!!! ๋ ๋
ธ๋ ฅํ์!!
'โ๏ธ Today I Learned(TIL) > ๐ฑ ์คํ๋ฅดํ ๋ด์ผ๋ฐฐ์์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด_Day 4 (7) | 2024.11.15 |
---|---|
ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด_Day 3 (31) | 2024.11.14 |
ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ด_Day 1 (12) | 2024.11.12 |
๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ํตํด ์ป์ ๋ด์ฉ๋ค (0) | 2024.11.10 |
๋ฏธ๋ ํ๋ก์ ํธ_KPT ํ๊ณ (4) | 2024.11.08 |