코딩 이야기
JAVA 4일 본문
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