본문 바로가기

Java

연산자(관계,논리,삼항) 개념 이해 3.28

관계연산자

package ch04;

public class MainTest1 {

//코드의 시작점

public static void main(String[] args) {

// 관계 연산자

// 연산의 결과가 참, 거짓으로 반환됨 --> true, false

int num1 = 5;

int num2 = 3;

 

boolean result1 = num1 > num2;

System.out.println("result1 : " + result1);

 

boolean result2 = 10 < 100;

System.out.println("result2 : " + result2);

 

// System.out.println(100 != 100);

// 5 3

System.out.println(num1 < num2); // false

System.out.println(num1 >= num2); // true

System.out.println(num1 <= num2); // false

System.out.println(num1 == num2); // false

System.out.println(num1 != num2); // true

 

} // end of main

} // end of class

 

논리연산자

package ch04;

/**

* 논리 연산자 관계 연산자와 혼합하여 많이 사용한다. 연산의 결과는 true, false로 반환된다.

*/

public class MainTest2 {

public static void main(String[] args) {

 

// 논리 연산자의 모양을 살펴보면

// && 논리곱

// || 버티컬바

// ! 부정

 

int num1 = 10;

int num2 = 20;

 

boolean flag1 = (num1 > 0) && (num2 > 0);

boolean flag2 = (num1 > 0) && (num2 < 0);

System.out.println("flag1 : " + flag1);

System.out.println("flag2 : " + flag2);

 

// 논리합 연산을 알아보자.

// 단 하나라도 참이면 결과값도 참이다.

boolean flag3 = (num1 > 0) || (num2 > 0);

boolean flag4 = (num1 < 0) || (num2 > 0);

// 둘중 하나라도 true 이면 연산의 결과도 true로 반환한다.

 

// 부정(!)을 알아보자

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

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

 

} // end of main

} // end of class

 

빠른평가

package ch04;

/*

* 논리 연산자에서 빠른 평가 개념을 이해해 보자.

*/

public class MainTest4 {

public static void main(String[] args) {

 

int number = 5;

int index = 0;

 

// 논리곱 (&&)

// f = f f

// f = 15 < 10 && 2 < 10

boolean result = ((number = number + 10) < 10) && ((index = index + 2) < 10);

System.out.println("result : " + result);

System.out.println("number : " + number);

System.out.println("index : " + index);

// 빠른평가를 했기 때문에 index 연산은 되지 않았다.

 

// 논리합(||)

int a = 5;

int b = 0;

boolean result2 = ((a += 5) < 100) || ((b += 10) < 100);

System.out.println("result2 : " + result2);

System.out.println("a : " + a); // 10

System.out.println("b : " + b); // 0 빠른평가로 연산누락

 

int c = 5;

int d = 0;

boolean result3 = ((c += 5) > 100) || ((d += 10) < 100);

System.out.println("result3 : " + result3);

System.out.println("c : " + c); // 10

System.out.println("d : " + d); // 10

} // end of main

} // end of class

 

조건연산

package ch04;

public class MainTest5 {

public static void main(String[] args) {

 

// 조건 연산

// 조건식 ? "결과1" : "결과2";

 

int result1 = (5 > 3) ? 1 : 2;

System.out.println("result1 : " + result1);

 

char result2 = (5 > 3) ? 'A' : 'B';

System.out.println("result2 : " + result2);

 

double result3 = (5 < 3) ? 0.5 : 1.5;

System.out.println("result3 : " + result3);

 

} // end of main

} // end of class

 

 

삼항연산

스캐너 파일 활용해 입력기능을 활용했다.

package ch04;

// import -> 가져오다.

// java.util.Scanner.java라는 파일을 가져와라.

// 이것은 자바 개발자들이 만들어준 파일이다.

import java.util.Scanner;

 

public class MainTest6 {

public static void main(String[] args) {

System.out.println("입력 받은 두 수 중 큰 수를 출력하세요");

// 키보드에서 사용자가 입력한 값을 받아보자

// int a = 10;

// new는 예약어다.

Scanner sc = new Scanner(System.in);

System.out.print("입력1 : ");

// 사용자가 키보드값(정수)을 입력하기 전까지 대기중이다. ~~~

int x = sc.nextInt();

 

System.out.print("입력2 : ");

int y = sc.nextInt();

 

System.out.println("x : " + x);

System.out.println("y : " + y);

// 조건 연산자 (삼항 연산자)

// 사용자가 입력한 두 수 중에 큰 수를 max라는 변수에 담고 출력하라

// 큰 수는 : 100

int max = (x > y) ? x : y;

System.out.println("큰 수는 : " + max);

System.out.println("프로그램 종료");

} // end of main

} // end of class

 

 

각종 연산자 활용구문 직접 만들어보기

 

package my_test01;

public class test01 {

public static void main(String[] args) {

 

// 1. 관계연산자 식 만들어서 결과출력

int num1 = 3;

int num2 = 4;

 

boolean result1 = num1 > num2;

System.out.println("result1 : " + result1); // false

boolean result1_a = num1 < num2;

System.out.println("result1_a : " + result1_a);

boolean result1_b = num1 == num2;

System.out.println("result1_b : " + result1_b);

boolean result1_c = num1 != num2;

System.out.println("result1_c : " + result1_c);

 

// 2. 논리곱 연산자 만들어서 결과출력

int num3 = 3;

int num4 = 4;

 

boolean result2 = ((num3 += 3) > 10) && ((num4 += 4) < 10);

System.out.println("result2 : " + result2);

System.out.println("num3 : " + num3); // 6

System.out.println("num4 : " + num4); // 4 빠른평가

 

// 3. 논리합 연산자 만들어서 결과출력

int num5 = 3;

int num6 = 4;

 

boolean result3 = ((num5 += 3) > 10) || ((num6 += 4) < 10);

System.out.println("result3 : " + result3);

System.out.println("num5 : " + num5); // 6

System.out.println("num5 : " + num6); // 8

} // end of main

} // end of class

 

스캐너 파일 활용한 삼항연산 직접 써보기

 

package my_test01;

import java.util.Scanner;

public class test02 {

public static void main(String[] args) {

// 코드 따라 쓰기

// Scanner를 이용해 숫자를 입력받고

// 삼항 연산자 식을 만들어 본다.

 

Scanner scanner1 = new Scanner(System.in);

System.out.print("입력1 : ");

int x = scanner1.nextInt();

 

System.out.print("입력2 : ");

int y = scanner1.nextInt();

 

System.out.println("x : " + x);

System.out.println("y : " + y);

 

int min = (x < y) ? x : y;

System.out.println("작은 수는 : " + min);

System.out.println("입력완료");

} // end of main

} // end of class

 

 

 

 

'Java' 카테고리의 다른 글

자바 학습 목표  (0) 2025.04.09
반복문 Do While 구문 4월3일  (0) 2025.04.03
반복문 for 구문 4월1일  (0) 2025.04.01
조건문 if 구문 3.31  (0) 2025.03.31
자바 데이터들의 형 변환 3.27  (0) 2025.03.27