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