Java

JAVA IF 기본문법

검은참깨두유vm 2020. 11. 24. 06:58
반응형

학습목표

Q) (콘솔로 입력된 i 값) i 해가 윤년인가?

Q) 키와 몸무게가 주어졌을 때 bmi를 구하고, bmi 표의 어디에 속하는 지 구하시오.

학습할 것

if, 산술연산자, 관계연산자, 논리연산자, 중첩 if, Scanner

 


 

Q1) 콘솔에서 정수를 입력받아 50 이상이 들어왔으면 '50보다 커'를 출력하시오.

 

콘솔에서 키보드로 입력한 값을 입력받는 방법으로 Scanner를 쓴다.

Scanner sc = new Scanner(System.in);

이 때 스캐너에서 받아 온 값을 정수형으로 받아줘야 한다.

int jungsu = sc.nextInt();

nextInt() 는 입력한 값에서 정수만 받아온다는 뜻이다.

 

if 문법의 사용법

if(조건식) { 조건식이 true일때 수행될 문장 }

위 세가지를 활용하면 Q1을 만족하는 소스를 만들 수 있다.

 

더보기
package JavaIF;

import java.util.Scanner;

public class JavaIF {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int jungsu = sc.nextInt();
		
		if(jungsu >= 50) {
			System.out.println("50보다 커");
		}
	}
}

Q2) 입력된 값이 3의 배수, 5의 배수, 3과 5의 배수인지 확인하시오.

 

산술연산자에는 [ + ]     [ - ]     [ * ]     [ / ]     [ % ] 가 있는데 

순서대로 더하기, 빼기, 곱하기, 나누기, 나머지라는 의미를 가지고 있다

if ( 24 % 3 == 0) { System.out.println("참입니다.") }

정수 24를 3으로 나눈 나머지의 값이 0이 맞기 때문에 "참입니다." 라는 메시지가 나온다.

 

만약 if 조건식이 참이 아닐때에는 블럭 { } 안에 있는 문장을 지나쳐가는데

if 문장을 지나쳐가기전에 다시 한번 조건을 묻고 싶을 때 if else와 else를 쓴다

 

if ( 조건식1 ) { 조건식1이 true일 때 수행할 문장 
} else if ( 조건식2 ) { 조건식1에서 false 이고 조건식2가 true일 때 수행할 문장
} else { 조건식1, 조건식2 모두 false일때 수행할 문장 }

else if는 한개 뿐아니라 여러개를 쓸 수 있다.

 

논리연산자 중 and와 or의 의미를 나타내는 연산자가 있다.

AND연산자     &&

OR연산자        ||        << 엔터키 위에 \ 원화표시키를 씨프트와 함께 누르면 나온다

이 연산자를 이용해 if ( 조건식 ) 에 이용할 수 있다.

if ( 24 / 3 == 8 && 24 % 3 == 0 ) { 
System.out.println("24를 3으로 나눈 몫은 8이고 나머지는 0이다."); }

 

논리연산자와 중첩 if문을 이용해 Q2를 구할 수 있다.

더보기
package JavaIF;

import java.util.Scanner;

public class JavaElseIF {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int jungsu = sc.nextInt();
		
		if (jungsu % 3 == 0 && jungsu % 5 == 0) {
			System.out.println("3과 5의 배수이다");
		} else if (jungsu % 3 == 0) {
			System.out.println("3의 배수이다");
		} else if (jungsu % 5 == 0) {
			System.out.println("5의 배수이다");
		} else {
			System.out.println("3과 5의 배수 모두 아니다");
		}
	}
}

 

학습할 것을 다 익혔으니 학습목표 두 문제를 풀 수 있게 되었다.


 

윤년 규칙 

  1. 서력 기원 연수가 4로 나누어 떨어지는 해는 윤년으로 한다. ...
  2. 서력 기원 연수가 4, 100으로 나누어 떨어지는 해는 평년으로 한다. ...
  3. 서력 기원 연수가 4, 100, 400으로 나누어 떨어지는 해는 윤년으로 둔다.
더보기
package JavaIF;

import java.util.Scanner;

public class Q1 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int year = sc.nextInt();
		
		if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { 
			System.out.println("윤년");
		} else {
			System.out.println("평년");
		}
	}
}

더보기
package JavaIF;

import java.util.Scanner;

public class Q2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		System.out.println("몸무게(kg)를 입력하시오");
		Double kg = sc.nextDouble();
		
		System.out.println("키(m)를 입력하시오");
		Double height = sc.nextDouble();
		
		Double bmi = kg / (height*height);
		System.out.println(bmi);
		
		if (bmi > 30) {
			System.out.println("고도비만");
		} else if (bmi > 25) {
			System.out.println("비만");
		} else if (bmi > 23) {
			System.out.println("과체중");
		} else if (bmi > 18.5) {
			System.out.println("정상");
		} else {
			System.out.println("저체중");
		}
	}
}

 

반응형

'Java' 카테고리의 다른 글

JAVA FOR 기본문법  (0) 2020.11.26
JAVA while 기본문법  (0) 2020.11.25