2020. 8. 18. 22:12ㆍJava/Java
1. 관계연산자(=비교=대소관계)
>,>=,<,<=,!=(같지 않다),==
ex) int x=3;
int y=3;
변수에 들어가 있는 값이 서로 같은지 다른지 확인
if (x==y) or if (x!=y)
2. 논리연산자 =>참과 거짓을 판별하는 연산자(=boolean 자료형과 연관)
&, |, ^, &&, ||, !
&&, &(and), ||, | (or), ^(XOR)=>배타적인 결합, !=>(NOT)
(2>3) && (5<7) =>조건평가
=== 첫항의 결과에 따라서 두번째항을 계산 또는 안할수도
있는 방식의 평가방법
F------------->F
T---->T------>T
F------>F
(2>3) & (5<7) =>모두평가
첫항의 결과와 상관없이 무조건 두번째항도
다 계산하는 방식
그 외 자세한 설명은 아래를 참조하자
https://programmer-seva.tistory.com/9
관계, 논리 연산자 예시
public class Op3 {
public static void main(String[] args) {
System.out.println("관계,논리연산자");
int t1=3,t2=5,t3=7;
int t4;//선언, 초기값X
boolean b1,b2,b3;
boolean b4=true;
System.out.println("(t1>t2)=>"+(t1>t2));//3>5 =>if (t1>t2)
System.out.println("(t2<t3)=>"+(t2<t3));//5<7
//제어문의 조건식=>관계,논리 혼합(3>5) && (5<7) ->if((3>5) && (5<7))
b1=(t1>t2) && (t2<t3); //조건평가
System.out.println("(t1>t2) && (t2<t3)=>"+b1);//false
// ||
b1=(t1>t2) || (t2<t3);
System.out.println("(t1>t2) || (t2<t3)=>"+b1);//true
//!
b3=!b4; //!(true) T->F, F->T
System.out.println("!b4=>"+b3);
//모두 평가(&,|,^)
b1=(t1>t2) & (t2<t3); //조건평가
System.out.println("(t1>t2) & (t2<t3)=>"+b1);//false
// |
b2=(t1>t2) | (t2<t3);
System.out.println("(t1>t2) | (t2<t3)=>"+b2);//true
//T,T, F,F->F
b3=(t1>t2) ^ (t2<t3);
System.out.println("(t1>t2) ^ (t2<t3)=>"+b3);//true (서로 값이 다르면 참)
}
}
3.대입연산자(=배정연산자)
a=a+1 =>a++, b=b-1; b--;
+,-,*,/,%(나머지 구한것 까지 같이 처리)
축약형=>a=a+1 ==>a+=1,a++
a=a-1==>a-=1 ==>a--
a=a*1==>a*=1
a=a/1==>a/=1
a=a%1==>a%=1
축약형으로 사용하는 이유 => 속도가 훨씬 빠르다.
a=a+1 (연산자가 2개 사용) => a+=1; (연산자 1개 사용)
4. 삼항연산자
변수명=(조건식)? 참인값:거짓인값
public class Op4 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("대입,삼항연산자");
int a=5,b=7,x=10,y=-10;
//삼항연산자=>변수명=(조건식)? 참인값:거짓인값
int absX=(x>=0)?x:-x; //10->10, -10->-(-10)=>10
int absY=(y>=0)?y:-y;
System.out.println("x=10일때 ,x의 절대값=>"+absX);
System.out.println("y=-10일때 ,y의 절대값=>"+absY);
System.out.println("===================");
//a=a+b; a=5+7
a+=b;
System.out.println("a=>"+a);//12
//a=a-b
a-=b;//a=12-7
System.out.println("a="+a);//5
//a=a*b
a*=b;//a=a*b=>a=5*7
System.out.println("a="+a);//35
//a=a/b
a/=b; //a=a/b=>a=35/7=>소수점이 나오면 소수점은 버려진다.(기본 연산은 int)
System.out.println("a="+a);//5
}
}
'Java > Java' 카테고리의 다른 글
Java - Java(객체지향 프로그래밍)의 특징 (0) | 2020.08.18 |
---|---|
Java - 형변환 (0) | 2020.08.18 |
Java - 산술, 증감 연산자 (0) | 2020.08.18 |
Java - 자료형 (0) | 2020.08.18 |
Java 설치 및 환경설정 (0) | 2020.08.18 |