์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ ์ด๊ธฐํํ๋ ๋ฉ์๋
ํด๋์ค ์ด๋ฆ๊ณผ ๋์ผ, ๋ฐํ ํ์
์ด ์๋ค.
constructor๐คโ๋ง์ฝ์ ์ธ์คํด์ค ์ด๊ธฐํ ์์ ์ ๋งค๊ฐ๋ณ์ ๊ฐ์ ์ ๋ถ ์ ๋ฌํ ์ ์๋ค๋ฉด?
๐ก์์ฑ์ ์ค๋ฒ๋ก๋ฉ์ผ๋ก ๋ค์ํ ๊ฐ์์ ์ธ์์ ๋ฌ ๊ฐ๋ฅ! ๋งค๊ฐ๋ณ์ ์๋ ์์ฑ์๋ ๊ฐ๋ฅ!
๐ด๐ก๐ข
public class Car {
String brand;
int year;
String model;
int price;
public Car(String brand, int year, String model) { // ์์ฑ์ 1
this.brand = brand;
this.year = year;
this.model = model;
}
public Car(String brand, int year, String model, int price) { // ์์ฑ์ 2
this.brand = brand;
this.year = year;
this.model = model;
this.price = price;
}
public void displayInfo() {
System.out.println("์ด ์ฐจ์ ๋ธ๋๋๋ " + brand + "์
๋๋ค. ์ฐ์์ " + year + "๋
์ ๋ ๋์๊ณ ๋ชจ๋ธ์ด๋ฆ์ "
+ model + "์
๋๋ค. " + โ
((this.price == 0)? "" : "๊ฐ๊ฒฉ์" + this.price + "์
๋๋ค."));
}
}
public class Main {
public static void main(String[] args) {
Car car = new Car("ํ๋", 3, "abc");
Car car2 = new Car("๊ธฐ์", 5, "abcde", 123456789);
car.displayInfo();
car2.displayInfo();
}
}
โถ๏ธ
์ด ์ฐจ์ ๋ธ๋๋๋ ํ๋์
๋๋ค. ์ฐ์์ 3๋
์ ๋ ๋์๊ณ ๋ชจ๋ธ์ด๋ฆ์ abc์
๋๋ค.
์ด ์ฐจ์ ๋ธ๋๋๋ ๊ธฐ์์
๋๋ค. ์ฐ์์ 5๋
์ ๋ ๋์๊ณ ๋ชจ๋ธ์ด๋ฆ์ abcde์
๋๋ค. ๊ฐ๊ฒฉ์ 123456789์
๋๋ค.
System.out.println(String string)
System.out.println(int int)
System.out.println()
- ๋จ์ถํค
ํจ์ ๋จ์ถํค println sout + Tab printf souf + Tab
| ํจ์ | ์ค๋ช |
|---|---|
| print() | ์ถ๋ ฅ ํ ์ค๋ฐ๊ฟ ์์ด ์ด์ด์ง |
| println() | ์ถ๋ ฅ ํ ์๋์ผ๋ก ์ค๋ฐ๊ฟ |
Java์์๋ ๋ฌธ์์ด๊ณผ ๋ค๋ฅธ ํ์ ์ + ์ฐ์ฐํ๋ฉด ์๋์ผ๋ก
๋ฌธ์์ด ๊ฒฐํฉ(String concatenation)์ด ์ผ์ด๋๋ค.int + String = String
int + Integer = int
์์
๐ด๐ก๐ข
public class Main {
public static void main(String[] args) {
String name = "Son";
int backNumber = 7;
Integer frontNumber = 10; //int -> Integer (๋ฐ์ฑ)
Integer number = 12;
int sum = frontNumber + backNumber; //Integer -> int (auto ์ธ๋ฐ์ฑ)
System.out.println((name + backNumber).getClass().getName());
System.out.println((backNumber+frontNumber).โgetClass().getName()); โgetClass()๋ฅผ ์ธ์ํ์ง ๋ชปํ๋ค,(int์ด๊ธฐ ๋๋ฌธ์)
}
}
๐ด๐ก๐ข
public class Main {
public static void main(String[] args) {
System.out.println("์๋
ํ์ธ์\n๊ฐ์ฌํด์\t์์์ด์\"๋ค์๋ง๋์\"\\" );
}
}
โถ๏ธ
์๋
ํ์ธ์
๊ฐ์ฌํด์ ์์์ด์"๋ค์๋ง๋์"\
printlnํจ์์ printf ํจ์์ ์ฐจ์ด์
- ์ค๋ฐ๊ฟ์ด ์๋์ด ์๋
- ์์์ง์ ์ %s %d %f ์จ์ผํจ (๋ฌธ์์ด ์ ์ ์ค์)
- ์์์ ๋ฐ๋ ์ง์ ๊ฐ๋ฅ .2f
๐ด๐ก๐ข
public class Main {
public static void main(String[] args) {
int intNumber = 10;
String str = "string";
double doubleNumber = 3.1415926535;
System.out.printf("intNumber : %d, str : %s, doubleNumber : %.3f\n", intNumber, str, doubleNumber);
}
}
โถ๏ธ
intNumber : 10, str : string, doubleNumber : 3.142
์ค์ ์ ๋ฐ๋๋ฅผ ์ํด์๋ ์์์ ์์น ๊ธฐ์ค์ ๋ค๋ฅด๊ฒ ์ก์ผ๋ฉด ๋๋ค. (๋จ์ ์๋ตํ๊ธฐ)
- ์ฝ์๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- import java.util.Scanner; ๐ฆJava Scanner ํด๋์ค๋ฅผ import ํด์ฃผ์ด์ผ ํ๋ค.
- Scanner scanner = new Scanner(System.in); ๐ฆscanner ๋ฅผ ์ฐ๊ธฐ ์ํ ์ค๋น.
๐ด๐ก๐ข
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Scanner ์
๋ ฅ๋ฐ๊ธฐ
System.out.printf("์ด๋ฆ์ ์
๋ ฅํ์ธ์ : ");
String name = scanner.next(); //Enter๋ฅผ ๋๋ฅด๋ฉด ์
๋ ฅ์ด ์ข
๋ฃ๋๋ค.
System.out.printf("๋์ด๋ฅผ ์
๋ ฅํ์ธ์ : ");
int age = scanner.nextInt();
System.out.printf("ํ์ด๊ฐ์ ์์2์๋ฆฌ๊น์ง ์
๋ ฅํ์ธ์ : ");
double pi = scanner.nextDouble();
System.out.printf("์๊ธฐ์๊ฐ ํ ๋ง๋ ๋ถํ๋๋ฆฝ๋๋ค. : ");
String msg = scanner.nextLine();
String msg2 = scanner.nextLine();
// ์
๋ ฅ๋ฐ์ ๊ฐ ์ถ๋ ฅ
System.out.println("์ด๋ฆ : " + name);
System.out.println("๋์ด : " + age);
System.out.println("ํ์ด๊ฐ : " + pi);
System.out.println("์๊ธฐ์๊ฐ : " + msg2);
}
}
โถ๏ธ์คํ
์ด๋ฆ์ ์
๋ ฅํ์ธ์ : ์ฃผ์
๋์ด๋ฅผ ์
๋ ฅํ์ธ์ : 14
ํ์ด๊ฐ์ ์์2์๋ฆฌ๊น์ง ์
๋ ฅํ์ธ์ : 3.33
์๊ธฐ์๊ฐ ํ ๋ง๋ ๋ถํ๋๋ฆฝ๋๋ค. : hieveryone~
์ด๋ฆ : ์ฃผ์
๋์ด : 14
ํ์ด๊ฐ : 3.33
์๊ธฐ์๊ฐ : hieveryone~
๐ด๐ก๐ข
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//์
๋ ฅํ ๊ฐ์ ๋ฐ๋ฅธ ์กฐ๊ฑด๋ฌธ
//if (์ซ์๋ฅผ ๋น๊ต) , switch (๋จ์ํ ๊ฐ๋ง ์ฒดํฌ)
int choice;
String item = "";
int price = 0;
ArrayList<Integer> list;
list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6));
System.out.println("+++ ์ฐ๋ฆฌ์ค ์ธํ ๊ฐ๊ฒ +++");
System.out.printf("=1.ํฌ๋กํคํฐ:488์|2.์ฟ ๋ก๋ฏธ:423์|3.๋ง์ด๋ฉ๋ก๋:556์|4.์ผ๋ก์ผ๋กํผ:578์|5.ํฌ์ฐจ์ฝ:978์|6.ํผํผํธ๋ฆฐ:235์=\n์ซ์๋ฅผ ์
๋ ฅํ์ธ์. (1~6) : ");
do {
choice = sc.nextInt();
switch (choice) {
case 1:
item = "ํฌ๋กํคํฐ";
price = 488;
break;
case 2:
item = "์ฟ ๋ก๋ฏธ";
price = 423;
break;
case 3:
item = "๋ง์ด๋ฉ๋ก๋";
price = 556;
break;
case 4:
item = "์ผ๋ก์ผ๋กํผ";
price = 578;
break;
case 5:
item = "ํฌ์ฐจ์ฝ";
price = 978;
break;
case 6:
item = "ํผํผํธ๋ฆฐ";
price = 235;
break;
default:
System.out.printf("!!! 1~6 ์ซ์๋ฅผ ์
๋ ฅํ์ธ์ : ");
break;
}
} while (!list.contains(choice));
System.out.printf("%s ๊ฐ๊ฒฉ์ %d์ ์
๋๋ค! ใ
ใ
ใ
\n๊ธ์ก์ ์ถ๊ฐํด์ฃผ์ธ์ : ", item, price);
int money = sc.nextInt();
while (money < price) {
System.out.printf("๊ธ์ก์ด ๋ถ์กฑํฉ๋๋ค. ๊ธ์ก์ ์ถ๊ฐํด์ฃผ์ธ์. : ");
money += sc.nextInt();
}
int change = money - price;
System.out.printf("%s ๋๋ฆฝ๋๋ค. ์๋์ %d์ ์
๋๋ค.", item, change);
}
}
โถ๏ธ์คํ
+++ ์ฐ๋ฆฌ์ค ์ธํ ๊ฐ๊ฒ +++
=1.ํฌ๋กํคํฐ:488์|2.์ฟ ๋ก๋ฏธ:423์|3.๋ง์ด๋ฉ๋ก๋:556์|4.์ผ๋ก์ผ๋กํผ:578์|5.ํฌ์ฐจ์ฝ:978์|6.ํผํผํธ๋ฆฐ:235์=
์ซ์๋ฅผ ์
๋ ฅํ์ธ์. (1~6) : 7
!!! 1~6 ์ซ์๋ฅผ ์
๋ ฅํ์ธ์ : 5
ํฌ์ฐจ์ฝ ๊ฐ๊ฒฉ์ 978์ ์
๋๋ค! ใ
ใ
ใ
๊ธ์ก์ ์ถ๊ฐํด์ฃผ์ธ์ : 456
๊ธ์ก์ด ๋ถ์กฑํฉ๋๋ค. ๊ธ์ก์ ์ถ๊ฐํด์ฃผ์ธ์. : 456
๊ธ์ก์ด ๋ถ์กฑํฉ๋๋ค. ๊ธ์ก์ ์ถ๊ฐํด์ฃผ์ธ์. : 456
ํฌ์ฐจ์ฝ ๋๋ฆฝ๋๋ค. ์๋์ 390์ ์
๋๋ค.
rest api๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ์ค์ ์ฌ์ฉ์ด ๋ง์ง๋ ์์๋ ์ค์ตํ๊ธฐ ์ข๋ค.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static boolean isFinished = false;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char operator;
double num;
double num2;
ArrayList<Character> list;
list = new ArrayList<>(Arrays.asList('+', '-', '*', '/', '%', '^'));
System.out.println("+++ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ +++");
while (!isFinished) {
System.out.print("์ซ์๋ฅผ ์
๋ ฅํ์ธ์ : ");
num = sc.nextDouble();
while (true) {
System.out.print("+, -, *, /, %, ^ ์ฐ์ฐ์๋ฅผ ์
๋ ฅํ์ธ์ : ");
operator = sc.next().charAt(0);
if (list.contains(operator)) {
break;
} else {
System.out.println("์๋ชป๋ ์ฐ์ฐ์์
๋๋ค. ๋ค์ ์
๋ ฅํด์ฃผ์ธ์.");
}
}
System.out.print("๋ค์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: ");
num2 = sc.nextDouble();
switch (operator) {
case '+':
num += num2;
break;
case '-':
num -= num2;
break;
case '*':
num *= num2;
break;
case '/':
num /= num2;
break;
case '%':
num %= num2;
break;
case '^':
num = Math.pow(num, num2);
break;
}
System.out.println("๊ฒฐ๊ณผ์
๋๋ค: " + num);
isValid(sc);
}
System.out.println("๊ณ์ฐ๊ธฐ๋ฅผ ์ข
๋ฃํฉ๋๋ค.");
sc.close();
}
public static void isValid(Scanner sc){
System.out.println("์ข
๋ฃํ์๋ ค๋ฉด q๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.");
sc.nextLine();
String input = sc.nextLine();
isFinished = input.equals("q");
}
}
โถ๏ธ
+++ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ +++
์ซ์๋ฅผ ์
๋ ฅํ์ธ์ : 3
+, -, *, /, %, ^ ์ฐ์ฐ์๋ฅผ ์
๋ ฅํ์ธ์ : @\
์๋ชป๋ ์ฐ์ฐ์์
๋๋ค. ๋ค์ ์
๋ ฅํด์ฃผ์ธ์.
+, -, *, /, %, ^ ์ฐ์ฐ์๋ฅผ ์
๋ ฅํ์ธ์ : ^
๋ค์ ์ซ์๋ฅผ ์
๋ ฅํ์ธ์: 2
๊ฒฐ๊ณผ์
๋๋ค: 9.0
์ข
๋ฃํ์๋ ค๋ฉด q๋ฅผ ์
๋ ฅํด์ฃผ์ธ์.
q
๊ณ์ฐ๊ธฐ๋ฅผ ์ข
๋ฃํฉ๋๋ค.
๋ค์ ์๊ฐ๊น์ง ์๊ฐํด ๋ณผ ๊ฒ : ์ฃ์์ ๋๋ ๋ง
๋ ๋ช ์ด ๋ฒ์ฃ๋ฅผ ์ ์ง๋ฅด๊ณ ๊ฐ๊ฐ ๊ฐ์ฅ์ ๊ฐํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๊ฒฝ์ฐฐ์ ์ฆ๊ฑฐ๊ฐ ๋ถ์กฑํ์ฌ ์๋ฐฑ์ ๋ฐ์๋ด๋ ค๊ณ ํฉ๋๋ค. ์๋ก๋ฅผ ๋ฐฐ์ ํ๋ฉด (์๋ฐฑํ๋ฉด) ํ๋์ ๊ฐํด์ฃผ๋ ๋์ , ์๋ก ๋ฌต๋นํ๋ฉด ๋ ๋ฎ์ ํ๋์ผ๋ก ์ฒ๋ฒ๋ฐ์ ์ ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์ ์์ ์ ์ด์ต์ ์ํด ์๋๋ฐฉ์ ๋ฐฐ์ ํ๋ ๊ฒ์ด ๋ ์ ํน์ ์ด๊ธฐ ๋๋ฌธ์, ๊ฒฐ๊ตญ ๋ ์ฌ๋ ๋ชจ๋ ๋ ๋์ ํ๋์ผ๋ก ์ฒ๋ฒ๋ฐ๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค.
์์:
๋ ํ์ฌ ๊ฐ ๊ฒฝ์: ์๋ก ํ๋ ฅํด์ ์์ฅ์ ๋ํ๋ ๊ฒ์ด ์ด๋์ด๊ฒ ์ง๋ง, ๊ฐ์ ์์ ์ ์์ฅ ์ ์ ์จ์ ๋์ด๊ธฐ ์ํด ๊ฒฝ์ํ๋ ๊ฒ์ด ๋ ์ด์ต์ด๋ผ๊ณ ์๊ฐํ์ฌ ์๋ก ํ๋ ฅํ์ง ์๋ ๊ฒฝ์ฐ.
๋ ์ฌ๋ ๊ฐ ๊ฐ๋ฑ: ์๋ก๋ฅผ ์ดํดํ๊ณ ํํดํ๋ฉด ์ข๊ฒ ์ง๋ง, ๊ฐ์ ์์ ์ ์ฃผ์ฅ๋ง ๊ณ ์งํ๋ฉฐ ๊ฐ๋ฑ์ ํด๊ฒฐํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ.
์ฃ์์ ๋๋ ๋ง๋ ์ฐ๋ฆฌ ์ฌํ์์ ๋ค์ํ ์ํฉ์์ ๋ํ๋๋ ํ์์ ์ค๋ช ํ๋ฉฐ, ํ๋ ฅ๊ณผ ๊ฒฝ์์ ๊ด๊ณ, ๊ฐ์ธ์ ์ธ ์ด์ต๊ณผ ๊ณต๋์ฒด์ ์ธ ์ด์ต์ ๊ฐ๋ฑ ๋ฑ์ ๋ณด์ฌ์ค๋๋ค.์ฃ์์ ๋๋ ๋ง๊ฐ ์ฐ๋ฆฌ์๊ฒ ์ฃผ๋ ์์ฌ์ :
๊ฐ์ธ์ ์ธ ์ด์ต ์ถ๊ตฌ๋ง์ผ๋ก๋ ๊ณต๋์ฒด์ ์ธ ์ด์ต์ ์ป์ ์ ์๋ค.
์๋ก ์ ๋ขฐํ๊ณ ํ๋ ฅํ๋ ๊ฒ์ด ์ค์ํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
๊ฐ๋ฑ ์ํฉ์์ ์๋ก๋ฅผ ์ดํดํ๊ณ ๋ํํ๋ ๊ฒ์ด ์ค์ํ๋ค.