코딩 이야기

JAVA 4일 본문

JAVA

JAVA 4일

별메아리 2023. 2. 1. 10:07
728x90

비교 연산자(<,<=,>=<==,!=)

package ch02;

public class CompareOperatorExample1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int num1 = 10;
		int num2 = 10;
		boolean result1 = (num1 == num2);
		boolean result2 = (num1 != num2);
		boolean result3 = (num1 <= num2);
		System.out.println("result1=" + result1);
		System.out.println("result2=" + result2);
		System.out.println("result3=" + result3);
		
		char char1 = 'A';
		char char2 = 'B';
		boolean result4 = (char1 < char2);
		System.out.println("result4=" + result4);
	}

}

비교 연산자에서도 연산을 수행하기 전에 피연산자의 타입을 일치시킵니다.

예)

'A' ==65 → 65 == 65 true

3 == 3.0 3.0 == 3.0 true

그러나 한 가지 예외가 있는데 0.1 == 0.1f 와 같은 경우 float타입이 double타입으로 바뀌어 true가 출력 될 것 같지만 false가 나오게 됩니다. 0.1f는 근사값(0.10000000149011612)로 표현되어 0.1보다 큰 값이 되기때문에 모두 float타입이나 정수타입으로 변환하여 비교 하는것이 맞습니다.

 

비교 연산자 2

package ch02;

public class CopareOperatorExample2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int v2 = 1;
		double v3 = 1.0;
		System.out.println(v2 == v3); //true
		
		double v4 = 0.1;
		float v5 = 0.1f;
		System.out.println(v4 ==v5); //false
		System.out.println((float)v4 == v5); //true
	}

}

기본 타입인 (byte,char,short,int,long,float,double,boolean) 변수의 값을 비교할 때에는 == 연산자를 사용하지만 참조 타입인 String 변수를 비교할 때에는 equals()메소드를 사용합니다. 

String strVAr1 = "신용권";
String strVAr2 = "신용권";
System.out.println(strVar1.equals(strVAr2)); //true
System.out.println(!strVar1.equals(strVAr2)); //false

논리 연산자 ( &&,||,&,|,^,!)

논리연산자의 피연산자는 boolean타입만 사용할 수 있습니다.

논리 연산자

package ch02;

public class LogicalPoeratorExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int charCode = 'A';
		
		if( (charCode>=65) & (charCode<=90)) {
			System.out.println("대문자군요");
		}
		
		if( (charCode>97) & (charCode<=122)) {
			System.out.println("소문자군요");
		}
		
		if( (charCode>=48) & (charCode<=57)) {
			System.out.println("0~9숫자군요");
		}
		
		int value = 6;
		
		if( (value%2==0) | (value%3==0)) {
			System.out.println("2 또는 3의 배수군요");
		}
		
		if( (value%2==0) || (value%3==0)) {
			System.out.println("2 또는 3의 배수군요");
		}
	}

}

대입 연산자(=,+=,-=,*=,/=,%=)

오른쪽의 피연산자 값을 변수에 저장하는 단순 대입 연산자가  있고, 정해진  연산을 수행한 후 결과를 변수에 저장하는 복합 대입 연산자도 있습니다.

모든 연산들 중에서 가장 낮은 순위이기 때문에 가장 나중에 수행하고 진행방향이 오른쪽에서 왼쪽이다.

package ch02;

public class AssignmentOperatorExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int result = 0;
		result += 10;
		System.out.println("result= " + result);
		result -= 5;
		System.out.println("result= " + result);
		result *= 3;
		System.out.println("result= " + result);
		result /= 5;
		System.out.println("result= " + result);
		result %= 3;
		System.out.println("result= " + result);
	}

}

삼항 연산자

삼항 연산자는 3개의 피연산자를 필요로 하는 연산자를 말합니다. 삼항 연산자는 ?앞에 조건식에 따라 콜론(:) 앞뒤의 피연산자가 선택된다고 해서 조건 연산식이라고도 부릅니다.

package ch02;

public class conditionalOperationExample {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int score = 85;
		char grade = (score > 90) ? 'A' : ( (score > 80) ? 'B' : 'C');
		System.out.println(score + "점은" + grade + "등급입니다.");
	}

}
728x90

'JAVA' 카테고리의 다른 글

자바 배열 (4일)  (0) 2023.02.01
JAVA 참조 타입과 참조 변수  (0) 2023.02.01
JAVA 3일차수업  (0) 2023.01.31
자바 2일차  (0) 2023.01.30
JAVA 1일  (0) 2023.01.27
Comments