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

JAVA 제어문(Flow Control) - 3. 비교연산자(Comparison Operator)

 

1+1=2

+ 산술 연산자로써 2 만들고

 

"1"+"1"="11"

여기서 + 문자열을 만들어내는 연산자

 

이번 시간 알아볼 것은

불리언 데이터 타입들 간의 연산을 하는 친구

 

비교연산자(Comparison Operator)

왼쪽에 있는 값과 오른 쪽에 있는 값을 비교해서 결과가 무엇이냐에 따라서 True 또는 False 하나의 값을 만들어 내는 연산자(operator)

 

종류

1)대소 비교연산자

<

>

<=

>=

2)등가 비교연산자

== : 같다 (call by reference & value 참조)

!= : 같지않다

728x90
반응형
728x90

 

JAVA 제어문(Flow Control) - 1. 수업소개

 

시간의 흐름에 따라서

사용자의 동작에 따라서

조건에 따라서 실행되는 순서를 제어한다 : 조건문(Conditional Statements)

 

처리할 데이터 1억개

이런 데이터를 '반복적'으로 처리할 사용

 

간의 순서 따라서 실행되는 프로그램 물이 흐르도록하는 '중력'이라고 한다면,

조건문 반복문 물의 흐름 바꾸는 , 수문 같은

 

이를 통해서 마음대로 로직의 흐름을 조작할 있다

(조건문과 반복문) 조작하기 위해서 먼저 알아야 것은

boolean data type, 비교연산자(comparison operator)

 

< 기능들의 비유>

불리언 데이터타입을 만드는 유일한 연산자 비교연산자(comparison operator) 거쳐서

교차로 같은 조건문(conditional statement) 찍고

순환도로라고 있는 반복문(looping statement)까지 이어지는 여행을 시작할

 

 


 

 

JAVA 제어문 - 2. 불리안(Boolean) Data type

boolean data type 두가지 : true, false

 

"" 감싸지지 않은 true, false boolean이라는 약속이 되어있기 때문에, 변수명으로 사용불가

reserved word : 컴퓨터언어에서 이미 쓰임이 있는 단어들 또는 앞으로 채택될 가능성이 있는 키워드들은 컴퓨터언어가 사용하기로 예약되어 있다고 해서 리저브드 워드라 부름

 

 

이클립스에서 코딩하다가 JAVA API 연결해서 보는

foo까지 쓰고 .찍으면 있는 명령어 목록들이 우측하단에 박스처럼 뜬다

쓸려는 명령어를 클릭하고 오른쪽에 노란바탕에 사용법과 설명들이 뜨는데,

노란 바탕에 우클릭 한번 하면 스샷 아래 동그라미 메뉴가 새로 생기고 자바API 가서 있게끔 링크를 연결해준다

 

 

String foo = "Hello world";
System.out.println(foo.contains("world"));

변수명.contains() : 지정 변수에 해당 글자가 들어가있는지 여부에 따라 true or false 반환

   - 위의 코드에서는 foo라는 변수에 world 문자열(str)있는지 체크하고 있기에 true 반환

String foo = "Hello world";
System.out.println(foo.contains("egoing")); // 반환값 false

 

 

728x90
반응형

+ Recent posts