본문 바로가기

Programming/국비학원

220420 - 변수, 데이터타입, 형변환, 연산자 2

  • 문제

콘솔을 통해 사과 총 개수를 입력받아 유치원생 한명당 나눠줄 수 있는 사과 개수를 구하고 나머지도 구해서 출력하시오. (유치원생은 23명으로 고정)
ex. 
사과 총 개수는? 100
한명당 가지는 사과 개수=4
남은 사과 개수 =8

 

 

public static void main(String[] args) {

Scanner a = new Scanner(System.in);

System.out.println("사과 총 개수는?");

int people = 23;
int apple = a.nextInt();
int amount = apple / people;

int amount2 = apple % people;
System.out.println("한명당 가지는 사과개수 = "+amount);
System.out.println("남은 사과 개수 = "+amount2);
}}

//
사과 총 개수는?100
한명당 가지는 사과개수 = 4
남은 사과 개수 = 8

 

 

  •  

public static void main(String[] args) {
int num = 2+6+4;
num = 20;
System.out.println(num);
}}
//
20    =>가장 나중에 선언된 값 하나로 확정

 

 

  •  

public static void main(String[] args) {
int num = 10;
num = num + 20;    //우항을 좌항에 대입     //10+20 => 30
System.out.println(num);
}}
//30

 

 

  • 문자열 연산 실수

public static void main(String[] args) {
int score = 75;
System.out.println("최종점수 = " + score + 10);
}}
//
최종점수 = 7510    => 문자열+ 숫자 -> 문자화 되어 이어붙여짐

 

 

  • 해결

public static void main(String[] args) {
int score = 75;
System.out.println("최종점수 = " + (score + 10));    => 괄호 먼저 계산
}}
//
최종점수 = 85    

 

 

  • 증감연산자 (단독으로만 가능)

1. 증가연산자(++): 1씩 증가
  ++변수 : 전위증가 연산자 / 변수++ : 후위증가연산자


2. 감소연산자(--): 1씩 감소

 

 

  •  

int num = 3;
num++;    //num = num + 1;
System.out.println(num);
num--;    => --num; 도 가능
System.out.println(num);
}}
//
4
3

 

 

  • 오류

int num = 3;
System.out.println(++num);
System.out.println(num--);    //num 먼저 출력 -> 마이너스 계산 (다음 출력시 마이너스 계산 결과 나옴)  => 단독으로만 사용하기
//
4
4

 

 

  • 복합연산자 : +=, -=, *=, /=, %=

 

 

  •  

public static void main(String[] args) {
int num =10;
num+=20;    //num = num + 20
System.out.println(num);
}}
//
30

 

 

  • 문제

수량을 10개 구입시 개당 가격을 800원으로 계산해 처리하는 프로그램을 완성하시오.
참고:
if(조건) {
명령문;}

public static void main(String[] args) {
int amount = 10;
int price = 1000;
int salesPrice = amount * price;
System.out.println("판매가격 = "+salesPrice);
}}

 

 

=>
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("구입수량은?");
int amount = sc.nextInt();
int price = 1000;
if (amount >= 10) {
price=800;
}
int salesPrice = amount * price;
System.out.println("판매가격 = "+salesPrice);
}}

 

 

  • 강제형변환시 절삭되는 예시

public static void main(String[] args) {
double dnum = 236.5241;
int num = (int) dnum;    => 강제형변환
System.out.println(num);
}}
//
236

 

 

 

  • 강제형변환시 절삭되는 예시2 (소수 2자리만 남기기)

public static void main(String[] args) {
double dnum = 236.5241;
dnum = (int)(dnum*100)/100.0;
System.out.println(dnum);
}}
//236.52

 

 

 

  • 과제

금액을 콘솔로 입력받아 화폐분류 프로그램을 완성하시오.
예시:
금액입력>> 32620
만원=>3장
오천원=>0장
천원=>2장
오백원=>1개
백원=>1개
십원=>2개