본문 바로가기

Java

[Java] 07

자료형

1. int : 10, 0, -4, ...

2. double : 0.0, 1.1, -5.0, ...

3. char : 'a', ...

4. String : "", " ", "a", "10", ...

5. boolean : true, false

연산자

1. 산술연산자

2. 관계연산자

★★★관계연산자의 결과는 boolean 타입이다.★★★

(1) a > b : a가 b보다 크니? → 맞으면 true, 아니면 false

(2) a < b : a가 b보다 작니? → 맞으면 true, 아니면 false

(3) a >= b : a가 b보다 크거나 같니? → 맞으면 true, 아니면 false

(4) a <= b : a가 b보다 작거나 같니? → 맞으면 true, 아니면 false

(5) a == b : a랑 b가 같니? → 맞으면 true, 아니면 false

★ 문자열은 equals()로 같은지 비교한다.

(6) a != b : a랑 b가 다르니? → 맞으면 true, 아니면 false

3. 논리연산자

(1) a && b : and연산(a와 b 모두 true이면 결과는 true, 아니면 false)

(2) a || b : or연산(a 또는 b 둘 중 하나라도 true이면 결과는 true, 아니면 false)

(3) !a : not연산(a가 true면 false, a가 false면 true)

※ 연산자의 우선순위

최우선 연산자 : ()

단항 연산자 : !

산술 연산자 : */%+-

쉬프트 연산자

관계 연산자 : >< >= <= == !=

논리 연산자 : && ||

삼항 연산자 : 조건식 ? 참일때값 : 거짓일때값;

대입 연산자 : =

(ex) !(20 > 10 && 1 != 1)

- 20 > 10 : true

- 1 != 1 : false

- 결과 : false

4. 삼항연산자

- 조건식이 참이면 : 앞의 값이 연산의 결과가 된다.

- 조건식이 거짓이면 : 뒤의 값이 연산의 결과가 된다.

- 조건식 ? 참일때값 : 거짓일때값;

(ex) true ? 10 : 80;


실습(산술연산자 총정리)

1. 노래 한 곡당 300원인 코인노래방에서 사용자에게 금액을 입력받아 부를 수 있는 노래와 잔돈 출력하라

import java.util.Scanner;

public class InputTask {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
	    System.out.print("노래 금액을 입력하세요 >> ");
		int coin = sc.nextInt();
		int songCnt = coin / 300; //노래 곡 수가 담기는 변수
		int rest = coin % 300; // 잔돈이 담기는 변수

		System.out.printf("부를 수 있는 노래 : %d\n", songCnt);
		System.out.printf("잔돈 : %d\n", rest);
	}
}

 

결과

 

2. 10 ~ 99 사이의 숫자를 입력받아 십의자리와 일의자리를 각각 출력하라

import java.util.Scanner;

public class InputTask {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.print("10~99 사이의 숫자를 입력해주세요 >> ");
		
		//메소드가 여러 개 사용되면 가장 안쪽의 메소드부터 해석한다.
		int num = Integer.parseInt(sc.nextLine());
		
		// 연산자가 여러 개 사용될 경우에는 우선순위에 따라 해석한다.
		// */%의 우선순위가 +-보다 높다.
		System.out.println("십의 자리 : " + num / 10);
		System.out.println("일의 자리 : " + num % 10);
	}
}

 

결과

 

3. 사용자에게 국어, 영어 점수를 입력받아서 평균을 출력하라

import java.util.Scanner;

public class InputTask {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.print("국어 점수를 입력하세요 >> ");
		int kor = sc.nextInt();
		System.out.print("영어 점수를 입력하세요 >> ");
		int eng = sc.nextInt();
		double avg = (double)(kor + eng) / 2;
		
		System.out.println("당신의 평균 점수는 " + avg + " 입니다.");
	}
}

 

결과

 

4. target에 담긴 a를 대문자 A로 바꾸어 출력하라(아스키코드 참고)

import java.util.Scanner;

public class InputTask {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		char target = 'a';
		System.out.println((char)(target - 32));
	}
}

 

결과

 

실습(논리연산자)

1. &&

System.out.println(true && true);
System.out.println(true && false);
System.out.println(false && true);
System.out.println(false && false);

 

결과

 

2. ||

System.out.println(true || true);
System.out.println(true || false);
System.out.println(false || true);
System.out.println(false || false);

 

결과

 

3. !

System.out.println(!true);
System.out.println(!false);

 

결과

 

실습(관계연산자)

1. >

boolean sample = 10 > 5;
System.out.println(10 > 5);
System.out.println(10 > 20);

 

결과

 

2. <

System.out.println(10 < 12);
System.out.println(10 < 10);

 

결과

 

3. >=

System.out.println(10 >= 10);
System.out.println(10 >= 80);

 

결과

 

4. <=

System.out.println(10 <= 10);
System.out.println(10 <= 0);

 

결과

 

5. ==

System.out.println(10 == 10);

 

결과

 

6. !=

System.out.println(10 != 10);

 

결과

 

7. 서로 다른 자료형 비교

System.out.println(10 > 10.5); // false(int와 double 비교 가능)
System.out.println('a' > 10.5); // true(char와 double 비교 가능)
System.out.println('a' > 'b'); // false(char와 char 비교 가능)
// System.out.println("apple" > 10); // String과 int 비교 불가능)
		
// 비교하고싶은문자열.equals(비교하고싶은문자열) → 결과는 boolean 타입이다.
System.out.println("안녕".equals("안녕")); // true(String은 equals() 메소드를 이용하여 비교 가능)

 

결과

 

8. 사용자에게 아이디를 입력 받은 후 해당 아이디가 abc123이라면 true, 그렇지 않다면 false를 출력하기

import java.util.Scanner;

public class RelationalOperator {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("아이디를 입력하세요 >> ");
		String id = sc.nextLine();

		System.out.println(id.equals("abc123"));
		System.out.println("abc123".equals(id));
	}
}

 

결과(아이디가 'abc123'일 때)

 

결과(아이디가 'abc123'이 아닐 때)

 

실습(삼항연산자(1))

1. 기본

System.out.println(true? 10 : 20);
System.out.println(false? 10 : 20);

 

결과

 

2. 사용자에게 나이를 입력받아서 19살 이상이면 "성인입니다." 아니면 "미성년자입니다." 출력하기

import java.util.Scanner;

public class ConditionalOperator {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.print("나이를 입력하세요 >> ");
		int age = sc.nextInt();
		System.out.println(age >= 19 ? "성인입니다." : "미성년자입니다.");
	}
}

 

결과(미성년자)

 

결과(성인)

 

'Java' 카테고리의 다른 글

[Java] 09  (0) 2021.12.24
[Java] 08  (0) 2021.12.22
[Java] 06  (0) 2021.12.19
[Java] 05  (0) 2021.12.18
[Java] 04  (0) 2021.12.17