Example

[E-Java] 연산자 예시

송기동 2024. 2. 23. 19:19
728x90

산술 연산자 (사칙 연산자)

package ch03;

public class MainTest3 {

	// 메인 함수 - 코드의 시작점 : [메인 쓰레드]
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 산술 연산자 연습
		int number1 = 5 + 3;
		int number2 = 5 - 3;
		int number3 = 5 * 3;
		int number4 = 5 / 4;
		int number5 = 5 % 3;
		
		System.out.println(number1);
		System.out.println(number2);
		System.out.println(number3);
		System.out.println(number4);
		System.out.println(number5);
		
		System.out.println("==============");
		System.out.println("==============");
		
		//문제 
		// 1. (12 + 3) / 3 값을 화면에 출력 하시오
		int number6 = 12 + 3;
		System.out.println(number6 / 3);
		// 2. (25%2) 값을 화면에 출력 하시오
		int number7 = 25 % 2;
		System.out.println(number7);
		
		double number8 = 5.0 / 4.0;
		System.out.println(number8);
		
	} // end of main

} // end of class
8
2
15
1
2
==============
==============
5
1
1.25

복합 대입 연산자

package ch03;

public class MainTest4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 복합 대입 연산자.
		// 대입 연산자와 다른 연산자랑 함께 쓰인다.

		int num1 = 1;
		// num1 = num1 + 10;
		num1 += 10;
		System.out.println(num1);

		int num2 = 1;
		// num2 = num2 + 100;
		num2 += 100; // 위에 내용을 간소화 한 것

		int num3 = 1;
		// num3 -= 10; <-- 문제
		// 반대로 풀어서 코드를 작성해 주세요
		// num3 = num3 -10;

		// num1 = num1 * 2; <-- 문제
		// 위 내용을 복합 대입 연산자로 변경해 주세요
		// num1 *= 2;

		// num2 = num2 / 2; <--문제
		// 위 내용을 복합 대입 연산자로 변경해 주세요
		// num2 /= 2;

		// num2 = num2 %; <--문제
		// 위 내용을 복합 대입 연산자로 변경해 주세요
		// num2 %= 2;

	} // end of main

} // end of class
11

증감 연산자

package ch03;

public class MainTest5_2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 증감, 감소 - 모양 : 변수 기준으로 앞에 사용, 뒤에 사용 (오직 1을 더하거나 오직 1을 빼거나)

		// 1. 증감 연산자가 뒤에 올 경우
		int num1 = 10;
		num1++;

		// 응용
		int num2 = 10;
		int num3;

		num3 = num2++;
		System.out.println(num1);
		System.out.println(num2);
		System.out.println(num3);
		System.out.println("=============");

		// 2. 증감 연산자가 앞에 올 경우
		int num20 = 100;
		int num21;

		num21 = ++num20;
		System.out.println(num21);

	} // end of main

} // end of class
11
11
10
=============
101

감소 연산자

 

package ch03;

public class MainTest5_3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 증감, 감소 - 모양 : 변수 기준으로 앞에 사용, 뒤에 사용 (오직 1을 더하거나 오직 1을 빼거나)

		// 1. 감소 연산자가 뒤에 올 경우
		int num1 = 100;
		num1--;
		int num2 = 1;
		int num3;

		num3 = num2--;
		System.out.println(num1);
		System.out.println(num2);
		System.out.println(num3);
		System.out.println("=============");

		// 2. 감소 연산자가 앞에 올 경우
		int num20 = 100;
		int num21;

		num21 = --num20;
		System.out.println(num21);

	} // end of main

} // end of class
99
0
1
=============
99

관계 연산자

package ch03;

public class MainTest6 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		// 관계 연산자 ( 비교 연산자 )
		// 관찰에 결과가 참, 거짓을 판별할 때 사용한다.
		// 결과는 오직 true, false 로 반환이 된다.

		boolean value1 = 5 > 3;
		boolean value2 = 5 < 3;
		boolean value3 = 5 == 1;
		System.out.println(value1);
		System.out.println(value2);
		System.out.println(value3);

		boolean value4;
		int num1 = 10;
		int num2 = 50;

		value4 = num1 < num2;
		System.out.println(value4);
		value4 = num1 > num2;
		System.out.println(value4);

		// 문제 직접 만들어 보기 2문제 작성 결과 출력
		// 1. 철수는 500원이 있고 미나는 1000원이 있습니다. 철수가 더 돈을 많이 가지고 있나요?
		int chulsoo = 500;
		int mina = 1000;
		boolean value5 = chulsoo > mina;
		System.out.println(value5);
		// 2. 월드컵에서 a가 5골을 넣고 c도 5골을 넣었습니다. 둘은 공동 득점왕인가요?
		int a = 5;
		int b = 5;
		boolean value6 = a == b;
		System.out.println(value6);

	} // end of main

} // end of class
false
true
false
false
true

논리 연산자

package ch03;

public class MainTest7 {

	public static void main(String[] args) {
		// 핵심정리
		// 논리 연산자 (&&,||) 엠퍼센트, 버티컬 바
		// 관계 연산자와 혼합하여 많이 사용한다.
		// 연산에 결과는 true, false로 반환 된다.
		// 논리 곱(&&)은 모든 결과값이 참이여야 참이 나온다. treu
		// 하나라도 거짓이 나오면 무조건 거짓이 나온다. false
		int num1 = 10;
		int num2 = 20;
		
		boolean flag1 = (num1 > 0) && (num2 > 0);
		System.out.println(flag1);
		
		boolean flag2 = (num1 > 0) && (num2 < 0);
		System.out.println(flag2);
		
		boolean flag3 = (num1 < 0) && (num2 < 0);
		System.out.println(flag3);
		
		// 결론
		// 논리 곱에서 하나라도 거짓이 있으면 연산에 결과는 false 이다.
		
		System.out.println("============================");
		
		// 논리 합(||)
		// 논리 합에서는 하나라도 참이 있으면 연산에 결과는 true 이다.
		flag1 = (num1 < 0) || (num2 > 0);
		System.out.println(flag1);
		// flag2 = T || T = true
		// flag3 = T || F = true
		// flag4 = F || F = false
	} // end of main

} // end of class
true
false
false
============================
true
package ch03;

public class MainTest7_1 {

	// 메인 쓰레드(작업자1)
	public static void main(String[] args) {

		// 논리 연산자(논리 곱, 논리 합)

		int num1 = 5;
		int i = 0;

		boolean value = ((num1 = 1 + 10) < 10) && ((i = i + 2) < 10);
		System.out.println(value);
		System.out.println(num1); // 11
		System.out.println(i); // 앞에서 F가 나왔기 때문에 뒤에는 계산을 안함.

		boolean value2 = ((num1 = num1 + 1) > 0) || ((i = 100) < 2000);
		System.out.println(value2);
		
		// 부정 연산자 ---> !
		// value2 = true
		System.out.println(!value2);
		System.out.println(value2);
	} // end of main

} // end of class
11
0
true
false
true

조건 연산자

package ch03;

import java.util.Scanner;

public class MainTest8 {
	// 코드의 시작점
	public static void main(String[] args) {
		// 삼항 연산자
		// 조건식 ? 결과1 : 결과2;

		int num1 = (5 > 3) ? 10 : 20;
		System.out.println(num1);

		int num2 = (5 < 3) ? 10 : 20;
		System.out.println(num2);
		System.out.println("================");
		System.out.println((5 < 3) ? 10 : 20);

		// JDK가 만들어 놓은 도구
		int max = 0;
		System.out.println("입력 받은 두 수중 큰 수를 출력 하세요");

		// 데이터타입 이름 ---> 단 대문자로 시작 했다.
		// 변수에 종류에는 가장 크게 딱 2가지만 존재한다.
		// 1. 기본 데이터 타입
		// 2. 참조 데이터 타입
		// Scanner sc;
		Scanner sc = new Scanner(System.in);
		System.out.println("입력 1 :");
		int x = sc.nextInt();
		System.out.println("입력 2 :");
		int y = sc.nextInt();
		int z = (x > y) ? x : y;

		// 두 수를 비교해서 사용자가 입력한 값 중에 큰 수를 화면에 출력하시오
		System.out.println("큰 숫자는" + z + "입니다");

		// 삼항 연산자 - 조건 연산자
		// 메모리공간 호출 = 식을 만들어서 담을 예정
		// max = (x > y) ? 결과1 : 결과2; -> x 나 y중에 큰 값이 max 변수에 담기게 한다.
		// 문자열 + 정수 + 문자열 --> 문자열

	} // end of main

} // end of class
10
20
================
20
입력 받은 두 수중 큰 수를 출력 하세요
입력 1 :
55
입력 2 :
54
큰 숫자는55입니다

 


연산자 연습문제

package ch03;

public class OperatorEx1 {

	public static void main(String[] args) {
		// 1
		// 두 수를 덧셈 연산 하여 result1 변수에 담고
		// 결과값 30.5를 출력 하세요.
		int i = 10;
		double d = 20.5;
		double result1 = i + d;
		System.out.println(result1);
		// 2
		// result1 변수를 정수형으로 강제 형 변환 해서 출력하세요
		System.out.println((int) result1);
		// 3
		// i 변수의 값을 -1을 뺀 후 출력하세요
		// 단, 단항 연산자 사용
		System.out.println(--i);
		// 4
		// d 변수에 값을 -20.5로 출력 하세요
		// 단, d 변수에 값을 변경하지 마세요
		System.out.println(-d);
		// 5
		// 변수 i와 d, 관계 연산자를 사용해서 result2 변수를
		// 선언하고 변수에 true 값이 담기도록 식을 만들고
		// 출력하세요
		boolean result2 = i < d;
		System.out.println(result2);

		int num1 = 10;
		int num2 = 30;

		// 6
		// 변수 result3을 선언하고
		// num1과 num2 변수가 숫자 50보다 큰지 논리 연산자를 사용해서 결과를 담고 출력하세요
		boolean result3 = (num1 > 50) || (num2 > 50);
		System.out.println(result3);
		// 7
		// num1과 num2 값 중 큰 수를 삼항 연산자를 사용해서
		// max 변수에 값을 담고 출력해주세요
		// 단, 선언과 초기화를 동시에 해주세요
		boolean max = (num1 > num2) ? true : false;
		System.out.println(max);

	} // end of main

} // end of class
30.5
30
9
-20.5
true
false
false
 
728x90