Java기반 Back-End 개발자 & 정보처리산업기사 과정 강의 3일차 정리

Scanner

Scanner는 문자열, 정수, 실수 등을 입력받을 수 있는 클래스다.
해당 클래스를 사용하기 위해서는 아래와 같이 클래스를 포함해야 한다.

import java.util.Scanner;

이후, Scanner 객체를 하나 선언해 주어야 한다.

Scanner scan = new Scanner(System.in);

Scanner 사용해보기


Scanner로 정수 입력받기

예시 1. 입력받은 정수를 그대로 출력하기

Scanner scan = new Scanner(System.in);

int num;

System.out.print("정수 입력 : ");	// 줄을 바꾸지 않고 문장 출력
num = scan.nextInt(); 			// 키보드로 입력받는 정수를 num에 대입

System.out.println("입력받은 정수 : " + num);


정수 입력 : 10
입력받은 정수 : 10


예시 2. 정수형 변수를 선언하고, 나이를 입력받은 다음, 나이가 저장된 변수를 출력

Scanner scan = new Scanner(System.in);
int age;

System.out.print("나이 입력 : ");
age = scan.nextInt();

System.out.println("나이 : " + age + "세");


나이 입력 : 27
나이 : 27세


Scanner로 문자열 입력받기

예시 1. 이름을 입력받아 이름이 저장된 변수를 출력

Scanner scan = new Scanner(System.in);
String name;

System.out.print("이름 입력 : ");
name = scan.next();

System.out.println("이름 : " + name);


이름 입력 : M.H Sung
이름 : M.H Sung


Scanner 응용해보기

예시 1. 정수 두 개를 선언 및 Scanner로 입력받고 출력한 뒤,
나머지 연산을 포함한 사칙연산 결과를 출력해보자.

Scanner scan = new Scanner(System.in);
int num1, num2, result;

System.out.print("첫번째 숫자 입력> ");
num1 = scan.nextInt();

System.out.print("두번째 숫자 입력> ");
num2 = scan.nextInt();

System.out.println("num1 : " + num1 + ", num2 : " + num2);

result = num1 + num2;
System.out.println("덧셈 결과는 : " + result);

result = num1 - num2;
System.out.println("뺄셈 결과는 : " + result);

result = num1 * num2;
System.out.println("곱셈 결과는 : " + result);

result = num1 / num2;
System.out.println("나눗셈 결과는 : " + result);

result = num1 % num2;
System.out.println("나머지 결과는 : " + result);


첫번째 숫자 입력> 20
두번째 숫자 입력> 10
num1 : 20, num2 : 10
덧셈 결과는 : 30
뺄셈 결과는 : 10
곱셈 결과는 : 200
나눗셈 결과는 : 2
나머지 결과는 : 0



조건문

if~else문

if (조건) { 
	실행문; 
} else {
	실행문;
}

if 다음에 오는 조건에 따라, 중괄호 안의 실행문이 실행된다.
만약 if의 조건에 해당하지 않는 경우, else 중괄호 내의 실행문이 실행된다.

예시)

int num = 10;

if (num == 10) {
	System.out.println("num은 10입니다.");
} else {
	System.out.println("num은 10이 아닙니다.");
}

→ num은 10입니다.

if문 연습해보기

예시 1. 정수형 변수 2개를 선언 후 각각 10, 20 대입
num1의 값이 num2보다 크면 "num1이 크다" 출력, 그렇지 않을 경우 "num2가 크다" 출력

Scanner scan = new Scanner(System.in);
	
// num1, num2 선언 후 각각 10, 20 대입
int num1 = 10;
int num2 = 20;
	
// 아직 if~else if를 고려하지 않은 조건문이다. 
if (num1 > num2) {
	System.out.println("num1이 num2보다 큽니다.");
} else {
	System.out.println("num2가 num1보다 큽니다.");
}

→ num2가 num1보다 큽니다.


예시 2. 초기 소지금 3천원을 정수형으로 선언한다.
카페에 가서 커피를 마시는 상황이라고 할 때, 이 때 커피의 값은 정수형으로 4천원으로 한다.
내가 가진 돈이 커피의 가격보다 많으면 "커피를 마신다"를 출력,
그렇지 않으면 "커피를 마시지 않는다."를 출력해보자.

int money = 3000;
int coffeePrice = 4000; // camelCase

if (money > coffeePrice) {
	System.out.println("커피를 마신다.");
} else {
	System.out.println("커피를 마시지 않는다.");
}

예시 3. 위의 (예시 2.) 에서 초기 소지금을 입력받도록 해 보자.

Scanner scan = new Scanner(System.in);

int money = 0;
int coffeePrice = 4000; // camelCase

System.out.print("소지금 입력 : ");
money = scan.nextInt();

if (money > coffeePrice) {
	System.out.println("커피를 마신다.");
} else {
	System.out.println("커피를 마시지 않는다.");
}


소지금 입력 : 5000
커피를 마신다.


else if문

if (조건문1) {
	실행문1;
} else if (조건문2) {
	실행문 2;
} else if (조건문 n) {
	실행문 n;
} else {
	어느것도 해당하지 않았을 때 실행문;
}

else if를 이용해 다중 조건을 내건 조건문을 만들 수 있다.

else if문 연습해보기

예제 1. 카페에서 각각 5천, 4천, 3천원을 하는 딸기스무디, 바닐라라떼, 아메리카노를
마시고 싶은 상황이라 치자. 현재 소지금을 정수로 입력받아서
5천원 이상이면 "딸기스무디를 마신다", 4천원 이상이면 "바닐라라떼를 마신다",
3천원 이상이면 "아메리카노를 마신다", 어느것도 해당되지 않을 경우 "마시지 않는다"를 출력해보자.

Scanner scan = new Scanner(System.in);
	
System.out.print("소지금 입력 : ");
int money = scan.nextInt();
		
if (money >= 5000) {
	System.out.println("딸기스무디를 마신다");
} else if (money >= 4000) {
	System.out.println("바닐라라떼를 마신다.");
} else if (money >= 3000) {
	System.out.println("아메리카노를 마신다.");
} else {
	System.out.println("마시지 않는다.");
}

예제 2. 현재 지갑에 7천원이 있고 (정수형), 4천원짜리 아메리카노를 마시려고 한다.
만약 내가 가진 돈이 아메리카노 가격과 같거나 많다면 "아메리카노를 마신다",
적을 경우 "마시지 않는다."를 출력하고, 최종적으로 잔돈을 출력한다. (두 조건 모두 해당)

int money = 7000;
int coffeePrice = 4000;

if (money >= coffeePrice) {
	System.out.println("커피를 마신다.");
	money -= coffeePrice;
} else {
	System.out.println("마시지 않는다.");
}

System.out.println("남은 돈 : " + money + "원");


커피를 마신다.
남은 돈 : 3000원


예제 3. 다음과 같은 입출력을 갖는 프로그램을 만들어 보자.

============================
[1] 딸기스무디 [2] 아이스티 [3] 바닐라라떼
============================
메뉴 선택 : 1
딸기스무디를 선택했습니다.
선택하신 메뉴의 가격은 5000원 입니다.


============================
[1] 딸기스무디 [2] 아이스티 [3] 바닐라라떼
============================
메뉴 선택 : 4
없는 메뉴입니다.
선택하신 메뉴의 가격은 0원 입니다.


Scanner sc = new Scanner(System.in);
int choice;
int price = 0;

System.out.println("====================");
System.out.println("[1]딸기스무디 [2]아이스티 [3]바닐라라떼");
System.out.println("====================");
 
System.out.print("메뉴 선택 : ");
choice = sc.nextInt();
 
if (choice == 1) {
	System.out.println("딸기스무디를 선택했습니다.");
	price = 5000;
} else if (choice == 2) {
	System.out.println("아이스티를 선택했습니다.");
	price = 4000;
} else if (choice == 3) {
	System.out.println("바닐라라떼를 선택했습니다.");
	price = 3000;
} else {
	System.out.println("없는 메뉴입니다.");
}
 
System.out.println("선택하신 메뉴의 가격은 " + price + "원 입니다.");

좋은 웹페이지 즐겨찾기