728x90

 

2.다항연산자

1)산술연산자 :

2)비교연산자 : >, <, =, >=, <=, ==, !=

3)논리연산자 : and(&&), or(\\) ||

4)복합대입연산자 : +=, -=, *=, /=, %=

5)삼항연산자 : 조건식 ? 식1 : 식2;

 

 

1)산술연산자

기호 : + - * / %

% : 모듈러라고 부름. 몫을 뺀 ‘나머지’ 연산

연산시, 곱하기 나누기 모듈러 먼저 계산사칙연산

	public void method1() {
        int num1 = 10;
        int num2 = 3;
        System.out.println("num1 + num2 = " + (num1 + num2));
        System.out.println("num1 - num2 = " + (num1 - num2));
        System.out.println("num1 * num2 = " + (num1 * num2)); // 나누기(/)는 나눗셈에 대한 몫 계산
        System.out.println("num1 / num2 = " + (num1 / num2));
    //	System.out.println("num1 / num2 = " + (num1 / num0)); error 0을 나눌 수 없으므로 에러
        System.out.println("num1 % num2 = " + (num1 % num2)); // %(모듈러)는 나눗셈에서 발생하는 나머지 계산	
    
    	double add = a + b;	// 45.0
        double sub = a - b;	// 25.0
        double mul = a * b;	// 350.0
        double div = a / b;	// 3.5	// 변수를 int로 바꾸면 3.0나옴
        double mod = a % b;	// 5.0
}

 

2)비교연산자

기호 : >, <, >=, <=, ==, !=

<=, >=에서 =가 뒤에와야함. 에러발생

 

짝수 & 홀수 만들기

2로 나누어서 0이면 짝수 2로 나누어서 1이면 홀수

 

짝수 판별 구분식

  1. b % 2 == 0
  2. b % 2 != 1

 

홀수 판별 구분식

1)b % 2 == 1

2)b % 2 != 0

3) !(b % 2 == 0)

int a = 10;
int b = 25;

boolean result1 = (a == b); // false
boolean result2 = (a <= b);	// true
boolean result3 = (a > b);	// false

System.out.println("b가 짝수인가? " + (b % 2 == 0));
System.out.println("b가 짝수인가? " + (b % 2 != 1));
System.out.println("b가 홀수인가? " + (b % 2 == 1));
System.out.println("b가 홀수인가? " + (b % 2 != 0));
System.out.println("b가 홀수인가? " + !(b % 2 == 0)); // ()안이 true/false 결과이기에 결과 역전 !으로 홀수판별

 

 

3)논리연산자

기호 : && ||

논리값 비교

비교 연산 후의 결과 값은 항상 논리값(boolean, true/false) 값임

조건문 연결하는 중요 역할

  • and연산자( && ) :~고, 이며, ~동시에ex) 이름이 박신이고 키가 160cm이며 성별은 여자고 신발사이즈 230mm인 사람을 찾아라
  • 모든 연산이 true여야 true값 반환
  • or 연산자 ( || ) : ~이거나, 또는
  • 논리 값 중 하나라도 true여야 true값 반환

 

Scanner sc = new Scanner(System.in);
System.out.print("정수 하나 입력 : ");
int num = sc.nextInt();

System.out.println(num + " 숫자가 1~100사이 숫자인가? "
                    + (num >= 1 && num <= 100));
                    
System.out.println("계속 하겠다고 하셨습니까? " + (yn == 'Y' || yn == 'y'));

 

4)복합대입연산자

기호 : +=, -=, *=, /=, %=

성능면에서 일반 대입연산자 사용한 것보다 유리

int a = 1; 

a = a + 3; // 1+3 = 4 // a += 3; 복합대입연산자
a = a - 3; // 4-3 = 1 // a -= 3;
a = a * 3; // 1*3 = 3 // a *= 3;
a = a / 3;            // a /= 3;
a = a % 3;            // a %= 3;

*증감 연산자(++,- -)는 1이 고정이지만 복합대입연산자는 제한x

		int a = 10;
		a = a + 4;
		a += 4;
		System.out.println(a);
		
		int b = 8;
		b = b - 3;
		b -= 3;
		System.out.println(b);
		
		int c =15;
		c = c * 2;
		c *= 2;
		System.out.println(c);
		
		int d = 42;
		d = d / 7;
		d /= 7;
		System.out.println(d);
		
		int e = 24;
		e = e % 4;
		e %= 4;
		System.out.println(e);

 

5)삼항연산자

// 조건식 ? 식1 : 식2;
ex) a > b ? a++ : b--;

조건식 결과값 : boolean true/false

결과값이 true라면 수행되는 식 : 식1

결과값이 false라면 수행되는 식 : 식2

삼항연산자 중첩

조건식1 ? 식1 : (조건식2 ? 식2 : 식3);

조건식1이 true면 조건식1이 수행됨

조건식1이 false면 조건식2가 수행되고 거기서 또 true/false\

int a = 3;
int b = 2;

a > b ? a++ : b--;
// a>b가 true면 a++ 수행 or 변수로 들어감
// a>b가 false면 b-- 수행 or 변수로 들어감

int result1 = a > b ? a++ : b--;
// a>b가 true라면, a++이 result1변수로 대입
int result1 = a++;

int a = 3;
int b = 2;
a < b ? a++ : (b == 0 ? a-- : b++);   // b++ 실행
// 조건식1 false -->조건식2 수행. b != 0이므로 false 실행. b++실행

 

728x90
반응형
728x90

 

 

 

 

 

 

import java.util.Scanner;

public class practice_everyday13 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		// 삼항연산자 (2중) + do while문
		int num1;
		int num2;
		do { 
			System.out.print("수1 입력 : ");
			num = sc.nextInt();
			System.out.print("수2 입력 : ");
			num2 = sc.nextInt();
			System.out.println(num1 == num2 ? "같아 멈춰":(num1>num2 ? "1이 커":"2가 커"));
			
		}while(num1 !=num2);
			
		// for문 초기화 생략
		int num3 = 5;
		int i = 0;
		for(; i < num3; i+=2) { // 초기화 생략 : int i +=0;
			System.out.println(i);
		}	
    }
}
728x90
반응형
728x90

문제

 

 

답 원하시는 분은 맨 아래로!

<풀이과정>

 

 

 

728x90
반응형
728x90

문제

 

 

 

 

<풀이과정>

※조건 연산자(=삼항연산자)

if else문을 한줄로 간결하게 하는 코드
 - 대부분의 언어에서 삼항연산자 지원
 

1.형태

true_value if condition else false_value

 

2. 삼항연산자와 if문의 비교

1)삼항연산자
value = true_value if condition else false_value

2)if-else 조건식
if condition:
    value = treue_value
else:
    value = false_value
 
   

3.예제

삼항연산자
a = 1
value = '수상' if a == 1 else '미수상'
결과값 : 수상

if-else 조건식
a = 1
 if a == 1:
     value = '수상'
 else:
    value = '비수상'
결과값 : 수상


4.이중 삼항연산자

중첩된 삼항연산자 식. 삼항연산자가 if아니면 else 두가지 길이었다면,
이중 삼항연산자는 세가지 네가지 길도 가능하다. 다만, 코드 복잡해지므로 길게는 비추

ex)
aa = 2
value = '양수' if aa==1 else '정수' if aa == 0 else '음수'
결과값 : 음수

 

 

 

 

 

 

728x90
반응형

+ Recent posts