eclipse / 자바 비교,논리,삼항 연산자
안녕하세요
오늘은 지난 포스팅에서 다룬 대입연산자,증감 연산자 이후
자바에서의 비교 , 논리 , 삼항 연산자에 대해 알아보겠습니다.
eclipse / 자바 대입,증감 연산자
안녕하세요 이번 포스팅에선 저번 글 에서 다룬 연산자의 종류 이후 자바의 대입 연산자 , 증감 연산자 에 대해 알아보겠습니다. eclipse / 자바 연산자의 종류 안녕하세요 오늘은 이전 포스팅에서
stackbok.tistory.com
package javaexp.a03_calcu;
public class A05_Calcu_equal {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
# 비교연산자
1. 두개의 피연산자의 값을 비교하여 동일한지(==),
같지 않은지(!=), 큰지(>), 작은지(<) 를 boolean
값은 true/false 값으로 결과를 처리하는 연산자를 말한다.
2. 종류
==, !=, >, <, >=, <=
3. 활용
boolean에 할당하거나, 조건식 if(비교연산자), while(비교연산자)
를 통하여 활용한다.
*/
int num01 = 25;
int num02 = 5;
System.out.println("#비교 연산 결과");
System.out.println(num01+" == "+num02+" = "+(num01==num02));
System.out.println(num01+" != "+num02+" = "+(num01!=num02));
System.out.println(num01+" > "+num02+" = "+(num01>num02));
System.out.println(num01+" < "+num02+" = "+(num01<num02));
System.out.println(num01+" >= "+num02+" = "+(num01>=num02));
System.out.println(num01+" <= "+num02+" = "+(num01<=num02));
boolean isEqual = num01 == num02;
System.out.println("같은지 여부:"+isEqual);
if( isEqual ) {
System.out.println("동일합니다(조건식1)");
}else {
System.out.println("동일합니다(조건식2");
}while(num01!=num02) {
num02++;
System.out.println(num01+":"+num02);
}
// ex1) 획득 점수를 변수로 선언하고, 합격기준 점수도 변수를 선언하여
// 합격 여부를 boolean값으로 아래 형식으로 출력하세요
// 획득 점수: @@@, 합격 기준 점수 : @@, 합격 여부 : true/false
// ex2) 4지 선다에서 check한 번호 선언, 정답번호 선언
// 정답여부를 출력
int score01=150;
int pass01=200;
boolean ispass = score01>=pass01;
System.out.println("획득 점수: "+score01+", 기준 점수 : "+pass01+", 합격여부 : "+ispass);
int check01=1;
int dob=1;
boolean isCorrect = check01==dob;
System.out.println("체크한 번호: "+check01);
System.out.println("정답번호: "+ dob);
System.out.println("정답여부: "+(isCorrect));
}
}
# 비교연산자
1. 두개의 피연산자의 값을 비교하여 동일한지(==),
같지 않은지(!=), 큰지(>), 작은지(<) 를 boolean
값은 true/false 값으로 결과를 처리하는 연산자를 말한다.
2. 종류
==, !=, >, <, >=, <=
3. 활용
boolean에 할당하거나, 조건식 if(비교연산자), while(비교연산자)
를 통하여 활용한다.
package javaexp.a03_calcu;
public class A06_Calcu_Logical {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
# 논리연산자
1. 비교연산자나 boolean (true false)값이 나오면 그것에
의해서 and(논리합), or (논리곱)에 의해 결과를 혼합해서 처리할 때
필요한 연산자를 말한다.
2. 형식
비교연산자1 && 비교연산자2
두개의 비교연산식이 모두가 true일 때, true로
처리 되는 것을 말한다.
ex) 국어점수와 영어점수가 모두 80점 이상일 때,
합격인 경우를 처리할 때 활용된다.
비교연산자1 || 비교연산자2
두개의 비교연산식 중 하나만 true일 때, true이고,
모두 다 false일 때는 false일 경우에 필요한
논리 연산자이다.
ex) 국어, 영어, 수학 점수가 하나라도 80점 이상이면
합격인 경우를 처리할 때, 활용된다.
kor>=80 || eng>=80 || math>=80
cf) &, &&
|, ||
차이는 두개가 있으면 논리식이 합당치 않으면 두번째 비교연산식에
처리를 방지해준다.
비교연산식1 && 비교연산식2 의 경우, 비교연산식1이 false이면
비교연산식2로 프로세스를 처리하는 것을 방지한다..
비교연산식1 || 비교연산식2 의 경우, 비교연산식1이 true이면
비교연산식2로 프로세스를 처리하는 것을 방지한다.
*/
int kor = 80;
int eng = 70;
int math = 90;
System.out.println("모두가 80이상일 때 합겨:");
System.out.println(kor>=80 && eng>=80 && math>=80);
System.out.println("하나라도 80이상이면 합격:");
System.out.println(kor>=80 || eng>=80 || math>=80);
// ex1) 구매한 물건 (사과, 바나나, 딸기)가 모두가 2000원 이상이면 vip고객 여부를 true
// ex2) 위 구매물건에서 갯수를 각각 처리하여 총비용이 5000이상인 것이 있으면
// 할인대상 고객여부 true
int apple = 1500;
int banana = 3000;
int berry = 4000;
boolean vip = apple>=2000 && banana>=2000 && berry>=2000;
System.out.println("사과 구매가격: "+apple);
System.out.println("바나나 구매가격: "+banana);
System.out.println("딸기 구매가격: "+berry);
System.out.println("vip 고객여부: "+ vip);
int appcnt = 3;
int banacnt = 2;
int berrycnt= 4;
boolean sale = apple*appcnt>=5000 || banana*banacnt>=5000 || berry*berrycnt>=5000;
System.out.println("사과 총가격: "+apple*appcnt);
System.out.println("사과 총가격: "+banana*banacnt);
System.out.println("사과 총가격: "+berry*berrycnt);
System.out.println("할인대상 고객여부:"+sale);
/*
논리 부정 연산자 : !
논리 결과값이 true ==> false, false ==> true로 처리하는 논리 연산자 이다.
*/
System.out.println("할인대상 고객이 아닌지여부:"+!sale);
}
}
# 논리연산자
1. 비교연산자나 boolean (true false)값이 나오면 그것에
의해서 and(논리합), or (논리곱)에 의해 결과를 혼합해서 처리할 때
필요한 연산자를 말한다.
2. 형식
비교연산자1 && 비교연산자2
두개의 비교연산식이 모두가 true일 때, true로
처리 되는 것을 말한다.
ex) 국어점수와 영어점수가 모두 80점 이상일 때,
합격인 경우를 처리할 때 활용된다.
비교연산자1 || 비교연산자2
두개의 비교연산식 중 하나만 true일 때, true이고,
모두 다 false일 때는 false일 경우에 필요한
논리 연산자이다.
ex) 국어, 영어, 수학 점수가 하나라도 80점 이상이면
합격인 경우를 처리할 때, 활용된다.
kor>=80 || eng>=80 || math>=80
cf) &, &&
|, ||
차이는 두개가 있으면 논리식이 합당치 않으면 두번째 비교연산식에
처리를 방지해준다.
비교연산식1 && 비교연산식2 의 경우, 비교연산식1이 false이면
비교연산식2로 프로세스를 처리하는 것을 방지한다..
비교연산식1 || 비교연산식2 의 경우, 비교연산식1이 true이면
비교연산식2로 프로세스를 처리하는 것을 방지한다.
package javaexp.a03_calcu;
public class A07_Calcu_Triple {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
# 삼항 연산자
1. 세 개의 피연산자를 필요로 하는 연산자
2. 앞의 조건식 결과에 따라 콜론 앞 뒤의 피연산자 선택
==> 조건 연산기
3. 형식
(비교연산자, 조건연산자) ? true일때 : false일때
cf) if else if else if...
조건1? 결과1: (조건2?결과2:그외결과)
*/
int point = 80;
String result = (point>=70)?"합격":"불합격";
System.out.println("점수: "+point);
System.out.println("결과: "+result);
// ex1) 쇼핑몰에서 구매한 물건의 가격과 갯수를 변수를 설정하여,
// 총비용이 30000 이상이면 할인대상고객 그렇지 않으면 일반 고객으로 표시하세요.
// ex2) 위 문제에서 나이는 check 하여 나이가 20미만이면 20% 할인하여 금액을 산정하고,
// 그렇지 않으면 전체금액을 처리할 때, 최종 금액을 출력하세요.
// hint) double discount (할인율은 20% ==> 0.2(실수))
// 최종금액 = 기본금액 -(기본금액*할인육)
int clothprice=15000;
int clothcnt=3;
double tot = clothprice*clothcnt;
String result01 = (tot>=30000)?"할인대상고객":"일반고객";
System.out.println("가격: "+clothprice);
System.out.println("갯수: "+clothcnt);
System.out.println(result01);
int age = 19;
double discount = 0.34134123;
double discount01= clothprice*clothcnt-clothprice*clothcnt*discount;
double result02 = (age<20)?clothprice*clothcnt-clothprice*clothcnt*discount:tot;
System.out.println("최종금액"+result02);
}
}
# 삼항 연산자
1. 세 개의 피연산자를 필요로 하는 연산자
2. 앞의 조건식 결과에 따라 콜론 앞 뒤의 피연산자 선택
==> 조건 연산기
3. 형식
(비교연산자, 조건연산자) ? true일때 : false일때
cf) if else if else if...
조건1? 결과1: (조건2?결과2:그외결과)
이상으로 자바에서의 비교,논리,삼항 연산자에 대하여 알아보았습니다.
감사합니다.