Java

eclipse / 자바 비교,논리,삼항 연산자

bokboks 2023. 3. 17. 17:26

안녕하세요

오늘은 지난 포스팅에서 다룬 대입연산자,증감 연산자 이후

자바에서의 비교 , 논리 , 삼항 연산자에 대해 알아보겠습니다.

 

 

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:그외결과)

 


이상으로 자바에서의 비교,논리,삼항 연산자에 대하여 알아보았습니다.

감사합니다.