JAVA

자바 변수,연산자, 조건문 예제

순두부 호랑이 2022. 8. 21. 23:27
728x90
SMALL

[1. 입력 출력 예제]

 

입력과 출력 클래스를 생성한 후 이름(문자열)과 나이(정수)를 입력받고 아래와 같이 출력하시오.

* prinfln 과 printf를 모두 활용해보시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("이름: ");
		String name = sc.next();
		System.out.print("나이: ");
		int age = sc.nextInt();
		
		System.out.println("이름은 "+ name +"이고 나이는 "+ age + "입니다");
		System.out.printf("이름은 %s이고 나이는 %d입니다",name, age);

	}

}

**헷갈리는 개념  %s -> 문자열, %d정수값, %f 실수

 

산술연산자: 숫자를 연산하는 연산자

+:더하기

-: 빼기

*: 곱하기

/: 몫

%: 나머지

 

[2. 산술 연산자 예제]

 

ex1)

int num1 = 10;
int num2 =7;

System.out.println(num1/num2); -> 1
System.out.println(num1%num2); -> 3

 

ex2)

int num1 = 10;
int num2 = 7;

float num3 = 10f; //10.0
float num4 =7f; //7.0

System.out.println(num1/num2); -> 1   //정수 나누기 정수는 정수
System.out.println(num3/num4); -> 1.4285715 // 실수 나누기 실수는 실수
System.out.println(num1/num4); -> 1.4285715 // 정수 나누기 실수는 실수

//둘중 하나만 실수여도 결과값을 실수로 나온다

ex3)

int num1 = 10;
int num2 = 7;
System.out.println(num1+num2);    -> 17

String num1 = "10";
String num2 = "7";
System.out.println(num1+num2);    ->107

int num1 = 10;
String num2 = "7";
System.out.println(num1+num2);    ->107

ex4)

String a = 10 + 7 + "";
String b = 8+""+2;
String c = ""+5+2;

System.out.println(a); 17
System.out.println(b); 82
System.out.println(c); 52

ex5)

num1, num2의 더하기,빼기,곱하기, 나누기 결과 값을 출력하세요.

(단, 나누기 결과 값은 아래와 같이 실수로 표현하세요.)

(num1 =7, num2 =3)

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int num1 =7;
		int num2 =3;
		
		int sum = num1+num2;
		int minus = num1-num2;
		int mul = num1*num2;
		double div = (double)num1/num2;
		
		System.out.println("더하기 결과: " + sum);
		System.out.println("빼기 결과: " + minus);
		System.out.println("곱하기 결과: " + mul);
		System.out.println("나누기 결과: " + div);
		
		System.out.printf("나누기 결과: %.2f", div);
		
	}

}

ex6)

백의 자리 아래를 버리는 코드를 작성하세요

ex) int num = 456 -> 400   / int num  = 111->100

package Aug_seventeenth_reviw;

public class ex10 {

	public static void main(String[] args) {
		
		int num1 = 456; //400   
		int result = num1/100*100;
		
		System.out.println("결과 확인 : "+ result);
		
	}

}

예제7)  

일의 자리를 1로 바꾸는 코드를 작성하세요.

ex)

int num = 456 ->451

int num = 777 ->771

package Aug_seventeenth_reviw;

public class ex10 {

	public static void main(String[] args) {
		
		int num1 = 456; //451  
		int result = num1/10*10+1;
		
		System.out.println("결과 확인 : "+ result);
		
	}

}

예제8)

두 개의 정수를 입력받아 두 수의 더하기, 빼기, 곱하기, 나누기(몫) 결과 값을 출력하세요.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("첫번째 정수 입력 : ");
		int num1 = sc.nextInt();
		System.out.print("두번째 정수 입력 : ");
		int num2 = sc.nextInt();
		
		int sum = num1+ num2;
		int sub = num1- num2;
		int mul = num1* num2;
		int div = num1/num2;
		
		System.out.println("두수의 더하기: "+ sum);
		System.out.println("두수의 빼기: "+ sub);
		System.out.println("두수의 곱하기: "+ mul);
		System.out.println("두수의 나누기(몫): "+ div);
		
		
		

	}

}

예제9)

JAVA, Web, Android 점수를 키보드로 입력 받아 합계와 평균을 출력하세요.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("JAVA 점수 입력: ");
		int javascore = sc.nextInt();
		System.out.print("Web 점수 입력: ");
		int webscore = sc.nextInt();
		System.out.print("Android 점수 입력: ");
		int androidscore = sc.nextInt();
		
		int sum = javascore+webscore+androidscore;
		double avg = sum/3.0;
		//3으로 나누고 뒤에 .0 을 붙이면 실수로 변경된다 
		System.out.println("합계 : "+ sum);
		System.out.printf("평균 : %.2f", avg);
		//%2.f를 하면 실수를 소수점 둘째자리까지 나타나게 함
	
		
		
		

	}

}

예제10)

초를 입력 받아 [시,분,초] 형태로 출력하세요.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("초 입력: ");
		int num = sc.nextInt();
		
		//1분->60초, 5분-> 300초, 10분-> 600초, 1시간 ->3600초
		
		int hour = num/3600;
		System.out.print(hour+"시 ");
		
		int minute = num%3600/60;
		System.out.print(minute+"분 ");
		
		int second = num%3600%60;
		System.out.print(second+"초");

		
		
		

	}

}

[3.대입연산자 예제]

예제1)

int num = 29;
num-=2   ----->    num=num(29)-2;
System.out.println(num);-----> 27

예제2)

int num =29;
num -=2+3*4;  -----> num = num(29)-(2+3*4);

System.out.println(num) -> 15

[2. 증감 연산자 예제]

예제1)

int i =3;

System.out.println(++i);  ----> 4(1증가 후 출력)
System.out.println(i++);  ----> 4(출력 후 1증가) 
System.out.println(i);  ----> 5

예제2)

int i =5;
System.out.println(--i);  ----> 4(1감소 후 출력)

int j=5;
System.out.println(j--) ----> 5(출력 후 1감소)

예제3)

int opr = 0;
opr +=3;                   ----> 3
System.out.println(opr++); ----> 3(출력 후 1증가)
System.out.println(opr);   ----> 4
System.out.println(++opr); ----> 5(1증가 후 출력)
System.out.println(opr);   ----> 5
System.out.println(opr--); ----> 5(출력 후 1감소)
System.out.println(opr);   ----> 4
System.out.println(--opr); ----> 3(1감소 후 출력)
System.out.println(opr);   ----> 3

[4.비교연산자 예제]

예제1)

int a =3;
int b =10;
System.out.println(a==b); ---> false
System.out.println(a!=b); ---> true
System.out.println(a>b);  ---> false
System.out.println(a<b);  ---> true

[5.논리연산자 예제]

예제1)

int a =3;
int b =10;
System.out.println(!(a>b)); ----> true

예제2)

System.out.println((1<3)&&(4<5));  ---->true
System.out.println((2<1)&&(4<5));  ---->false
System.out.println((1<3)||(4<2));  ---->true
System.out.println((2<1)&&(4<2));  ---->false

[6.논리연산자 예제]

예제1)

int i =3;
int j =10;
System.out.println(i==j? "같다": "다르다")  ----> 다르다

예제2)

정수를 입력받아 홀수인지 짝수인지 판별하세요.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("정수를 입력하세요 : ");
		int num = sc.nextInt();
        
        String result = (num%2==0)? "짝수" : "홀수";
		
		System.out.printf("%d는(은) %s입니다", num, result);

	}

}

예제3)

두개의 정수를 입력 받아 큰 수에서 작은 수를 뺀 결과값을 출력하세요.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("첫번째 정수 입력 : ");
		int num1 = sc.nextInt();
		System.out.print("두번째 정수 입력 : ");
		int num2 = sc.nextInt();
		
		int sub = num1>num2? num1-num2: num2-num1; 
		
		System.out.println("두 수의 차 : "+ sub);

	}

}

예제4)

농구공을 담기 위해 필요한 상자의 개수를 구하세요. 상자 하나에는 농구공이 5개 들어갈 수 있습니다. 만일 농구공이 '23'개 라면 필요한 상자의 개수는 '5'개 입니다.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("농구공의 개수를 입력하세요 : ");
		int num = sc.nextInt();

		int box = num%5==0? num/5 : num/5+1;
		
		System.out.println("필요한 상자의 수 : "+ box);

	}

}

예제5)

시급계산기 입니다. 기본 시급은 9,000원이고 8시간이 넘을 경우 초과 시간은 시급의 1.5배를 책정해줍니다.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("노동시간을 입력하세요 : ");
		int wh = sc.nextInt();
		int pay = 0;
		
		if(wh>=8) {
			pay= 9000 +(int)(9000*1.5*(wh-8));
		}else {
			pay=wh*9000;
		}
		
		
		System.out.println("총 임금은 "+ pay+"원 입니다");

	}

}

[7.단순 if문예제]

예제1)

int 타입의 변수 age를 선언하고 키보드로 값을 입력받으시오. 만약 입력받은 값이 20보다 크거나 같으면 "성인입니다"를 출력하는 프로그램을 작성하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("나이 입력 : ");
		int age = sc.nextInt();
		if(age>=20) {
			System.out.println("성인입니다");
		}
			
		

	}

}

예제2)

int 타입의 변수 num을 선언하고 키보드로 값을 입력받이시오. 만약 입력받은 값이 3의 배수이거나 5의 배수이면 "3 또는 5의 배수입니다"를 출력하는 프로그램을 작성하시오

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("숫자 입력 : ");
		int num = sc.nextInt();
		if(num%3==0 || num%5==0) {
			System.out.println("3 또는 5의 배수 입니다");
		}

	}

}

[8. if~else 문예제]

예제1)

 

JAVA,Python,Android 점수를 각각 입력받은 후 평균이 80점 보다 높으면 "합격",낮으면 "불합격"을 출력하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("JAVA 점수 입력 : ");
		int javascore = sc.nextInt();
		System.out.print("Python 점수 입력 : ");
		int pythonscore = sc.nextInt();
		System.out.print("Android 점수 입력 : ");
		int androidscore = sc.nextInt();

		int avg = (javascore+pythonscore+androidscore/3);
				
		if(avg>80) {
			System.out.println("합격");
		}else {
			System.out.println("불합격");
		}
		
		}

	}

예제2)

친구들과 점심을 먹은 후 총 금액의 1/n을 각자 지불 하려고 합니다. 점심 총 금액과 사람 명 수를 입력받은 후 인 당 지불해야 하는 금액이 10000원 이상이면 "10000원 이상 지불"금액이 10000원 미만이면 "10000원 미만 지불"을 출력하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("총 금액 : ");
		int pay = sc.nextInt();
		System.out.print("사람 명 수 : ");
		int human = sc.nextInt();
		if(pay/human<10000) {
			System.out.println("10000원 미만 지불");
		}else{
			System.out.println("10000원 이상 지불");
		}

	}
}

 

예제3)

정수형 변수 5개를 선언한 후 정보처리기사의 각 과목의 정답 개수를 입력받아 변수에 할당하시오. 한 과목이라도 8개 미만인 경우 "불합격입니다"를 출력하고 총 개수가 60개 이상이면 "합격입니다"를 출력하는 프로그램을 작성하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("소프트웨어 설계: ");
		int sw1 = sc.nextInt();
		System.out.print("소프트웨어 개발: ");
		int sw2 = sc.nextInt();
		System.out.print("데이터베이스 구축 입력: ");
		int db = sc.nextInt();
		System.out.print("프로그래밍 언어 활용: ");
		int pro = sc.nextInt();
		System.out.print("정보시스템 구축 관리: ");
		int sys = sc.nextInt();
		
		int sum =sw1+sw2+db+pro+sys;
		
		if((sw1>=8 && sw2>=8 && db>=8 && pro>=8 && sys>=8) && sum>=60) {
			System.out.println("합격");
		}else{
			System.out.println("불합격");
		}
		
	}
}

[9. 다중if~else 문예제]

예제1)

정수형 변수 score를 선언하고 키보드로 값을 입력받은 후 값을 할당하시오. 입력받은 값이 90점 이상이면 "A학점 입니다", 80점 이상 90점 미만인 경우는 "B학점입니다",70점 이상 80점 미만인 경우는 "C학점입니다"를 출력하고 70점 미만인 경우는 "F학점입니다"를 출력하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("점수 입력: ");
		int score = sc.nextInt();
		if(score>=90) {
			System.out.println("A학점입니다");
		}else if(score>=80){
			System.out.println("B학점입니다");
		}else if(score>=70){
			System.out.println("C학점입니다");
		}else {
			System.out.println("F학점입니다");
		}
	}
}

예제2) 

알파벳 하나를 입력 받은 후 A를 입력한 경우는 "A입력",B를 입력한 경우는 "B입력",C를 입력한 경우는 "C입력"을 출력하고 그 외의 알파벳을 입력한 경우는 "A,B,C외 입력"을 출력하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("알파벳 입력: ");
		String alp = sc.next();
		if(alp.equals("A")) {
			System.out.println("A입력");
		}else if(alp.equals("B")) {
			System.out.println("B입력");
		}else if(alp.equals("C")) {
			System.out.println("C입력");
		}else {
			System.out.println("A,B,C 외 입력");
		}
	
		
	}
}

예제3)

버스 단말기에 버스카드를 태그하려고 합니다. 현재 카드 잔액과 탐승자가 성인/청소년/어린이 인지 입력한 후 잔액이 충분한 경우에는 인사말을 출력하고 부족한 경우에는 "잔액이 부족합니다"를 출력하시오.

(성인-감사합니다(1800원)/ 청년-반갑습니다(1500원)/ 어린이-안녕하세요(1000원)) 

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
				
		System.out.print("잔액: ");
		int money = sc.nextInt();
		System.out.print("성인/청소년/어린이: ");
		String human = sc.next();
		
		if(money>=1800 && human.equals("성인")) {
			System.out.println("감사합니다");
		}else if(money>=1500 && human.equals("청소년")) {
			System.out.println("반갑합니다");
		}else if(money>=1000 && human.equals("어린이")) {
			System.out.println("안녕하세요");
		}else {
			System.out.println("잔액이 부족합니다");
		}
	
		
	}
}

[9. switch 문예제]

예제1)

String 형 변수 data를 선언하고 키보드로 값을 입력받으시오. switch~case 문을 사용하여 입력받은 값이 "한국어" 이면 "안녕하세요","영어"이면"헬로","중국어"이면 "니하오","일본어"이면 "곤니찌와"를 출력하고 그 외 다른 단어를 입력할 경우에는 "디른 값 입력"을 출력하시오.

 

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.print("입력: ");
		String input = sc.next();

		switch (input) {
		case ("한국어"):
			System.out.println("안녕하세요");
			break;
		case ("영어"):
			System.out.println("헬로");
			break;
		case ("중국어"):
			System.out.println("니하오");
			break;
		case ("일본어"):
			System.out.println("곤니찌와");
			break;
		default:
			System.out.println("다른 값 입력");
		}


	}
}

예제2)

월(1~12)을 입력받아 해당 월이 봄,여름,가을,겨울 중 어느 계절인지 출력하시오.

(1,2,12월 -> 겨울 / 3,4,5월 ->봄 / 6,7,8월 ->여름 /9,10,11월 ->가을)

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.print("월(1~12) 입력: ");
		int input = sc.nextInt();

		switch (input) {
		case 3, 4, 5:
			System.out.println(input + "월은 봄입니다");
			break;
		case 6, 7, 8:
			System.out.println(input + "월은 여름입니다");
			break;
		case 9, 10, 11:
			System.out.println(input + "월은 가을입니다");
			break;
		case 1, 2, 12:
			System.out.println(input + "월은 겨울입니다");
			break;
		default:
		}

	}
}

[10. 조건문 예제]

예제1-1

자판기 프로그램을 만들어 봅시다. 넣은 금액을 입력하고 메뉴를 고른 뒤 잔돈을 출력하시오.

예제1-2

입력한 금액이 선택한 메뉴의 가격보다 적으면 "돈이 부족해요"를 출력하시오.

예제1-3

잔돈을 출력할 때 천원/오백원/백원을 몇 개 줘야 하는지 계산하여 출력하시오.

package Aug_seventeenth_reviw;

import java.util.Scanner;

public class ex10 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		System.out.print("넣을 금액: ");
		int pay = sc.nextInt();
		System.out.println("--메뉴--");
		System.out.print("1. 콜라(1800원) 2.파워에이드(2000원) 3.탄산수(1200원) >> ");
		int menu = sc.nextInt();

		int change = 0;
		// 1. 잔돈계산
		if (menu == 1) {
			change = pay - 1800;
		} else if (menu == 2) {
			change = pay - 2000;
		} else if (menu == 3) {
			change = pay - 1200;
		} else {
			System.out.println("잔돈 : " + change);
		}

		if (change >= 0) {
			System.out.println("잔돈 : "+change+"원");
			System.out.println("천원 : " + change / 1000);
			System.out.println("오백원 : " + change % 1000 / 500);
			System.out.println("백원 : " + change % 1000 % 500 / 100);
		} else {
			System.out.println("돈이 부족해요");
		}

	}
}
728x90
LIST