빅데이터 서비스 교육/Java

Java 연산자, 조건문

Manly 2022. 5. 2. 13:50
반응형

산술연산자(사측연산), 대입연산자, 비교연산자, 논리연산자  -> 이항연산자(항이 2개)
증감연산자 -> 단항연산자
삼항연산자                 8개의 연산자가 있다

-산술연산자
+,-,*, /(몫), %(나머지)

String a = 10 + 7 + ""; -> 17 숫자열과 + ""(비어있는 문자열)로 -> 문자형태의 17이 나온다
String b = 8 + "" + 2; -> 82
String c = "" + 5 + 2; -> 52 (먼저 비어있는 문자열과 5가 만나고 문자열5와 숫자형2가 만나 문자형 52가 나온다)

 

		// 1. 노동시간 입력받기
		Scanner sc = new Scanner(System.in);
		System.out.print("노동시간입력 : ");
		int worktime = sc.nextInt();
		
		//변수는 보통 여러번 쓰려고 지정한다. 
		//근데 여기서 5000원이 자주쓰이고, 시급이 변동되고 시급계산기를 쓰려면 코드를 너무 많이 고쳐야해서
		//시급을 변수로 지정한다.
		int ntime = 5000;
		
		//2. 8시간 초과했으면 시급 1.5배 계산 아니면 그냥시급
		int pay = (int) (worktime<=8 ? worktime*ntime : 8*ntime + (worktime-8)*ntime*1.5);
		// 정수형(int 4바이트)과 실수형(double 8바이트)을 계산하면 자동(묵시적) 형변환이 일어나
		// 더큰 실수형 double로 형변환이 일어나기때문에  다시 int형으로 강제(명시적) 형변환을 해줘야한다.
		
		
		
		//3. 출력
		System.out.println("총 임금은 "+ pay +"입니다.");

 

-대입연산자
=(대입, 할당연산자)    a=b  (b값을 a에 넣는다)  a=b+1  (b+1을 a에 넣는다)

-복합대입연산자 (코드를 더 적게쓰려고 사용)
+=, -=, *=, /=, %=    산술연산자 왼쪽에 쓰고 =을 오른쪽에
ex)   a+=b  -> a=a+b  a-=b -> a=a-b

int num = 29;
num -= 2+3*4;    -> 14로 오른쪽 먼저 계산하고  29-14로 num=15

-증감연산자: 변수에 저장된 값을 1증가 혹은 감소
++ (증가연산자)   ++변수: 증가후 바로 출력  변수++: 다음줄에서 증가
-- (감소연산자)   --변수: 감소후 바로 출력  변수--: 다음줄에서 감소

int a=1;   syso(++a); -> 2출력   syso(a++); -> 일단 그대로 2가 출력되고 밑에줄에서 3이 된다.

 


-비교연산자: 부등호 연산, 같다/다르다 연산자   -> 결과값 Boolean (참/거짓)
<, <=, >, >=
== (같다) ,!= (다르다)


-논리연산자: NOT, AND, OR  ->  항들이 true,false(boolean 형태여야 한다)
!(NOT): 부정의 의미   ex) !true -> false  !false -> true  !(4<3) -> true
&&(AND): 두 항 모두 true일때만 true 하나의 항이라도 false면 false
||(OR): 둘 중 하나라도 true이면 true


-삼항연산자: 간단한 제어 처리 (boolean형태로만)
      ?:                     (조건문)?(실행문1):(실행문2)  -> 조건문이 true면 실행문1 false면 실행문2
(삼항연산자,조건연산자)             String S = 조건문?"크다":"크다" -> 수행하고 난 결과문이 문자열 형태로 나온다 
삼항연산자의 결과값은 실행문의 문자열을 따라간다.

 

연산자의 우선순위:  증감 -> 산술 -> 비교 -> 논리 -> 삼항 -> 대입

 

 

   

 

 --조건문
 -삼항연산자: 간단한 제어 처리 (boolean형태로만)
      ?:                     (조건문)?(실행문1):(실행문2)  -> 조건문이 true면 실행문1 false면 실행문2
(삼항연산자,조건연산자)


--조건문
 -삼항연산자: 간단한 제어 처리 (boolean형태로만)
      ?:                     (조건문)?(실행문1):(실행문2)  -> 조건문이 true면 실행문1 false면 실행문2
(삼항연산자,조건연산자)


조건문: 특정상황을 가정하고, 그 가정에 따라 
4가지 종류
단순if문 / if-else문:참일때 거짓일때에 따라 실행(두가지조건일때?)  / 다중 if문 (if-else if) / switch문

--단순if문

if(조건식){                            
    실행문장;                             
실행문장;
실행문장;
    }      조건식은 논리형 참/거짓으로 결과가 나오게 짜야한다. / 참일때 실행문을 실행하고 거짓이면 바로 끝
                                                 실행문장이 1개일때 중괄호 생략도 가능은하다
 
-- if-else문: 참일때 거짓일때 각각 실행문이 있다.

if(조건식){
    실행문장;     ->> 참일때 실행
    실행문장;
  }else{
    실행문장;     ->> 거짓일때 실행
    실행문장;
  }
 

-- 다중 if-else문: 여러가지 조건이 있을때 사용한다

if(조건식1){            조건식이 참인경우 다른것은 안보고 조건식이 참인 곳의 실행문장을 실행한다
  실행문장1;
  실행문장1;
 }else if(조건식2){
  실행문장2;
  실행문장2;
 }else if(조건식3){
  실행문장3;
  실행문장3;
 }else{        -> else문은 안써도 가능하고 조건식3까지 거짓일때 실행문장4를 실행한다.
  실행문장4;
  }


-- switch문

switch(식){     ->식에 숫자나 문자가 들어간다 (값), 산술연산도 가능하고
  case 값1:   -> case의 값1이 (식)의 값이 같다면 실행문장1을 실행한다   즉 (식)==값1 이면 실행문장1실행
    실행문장1;                                                아니면 그다음 (식)==값2 인지   
  break;        ->break가 없다면 값1==(식)으로 true여서 실행문장1이 실행되어도 내려와서 실행문장2를 실행해버린다.
  case 값2:                                한번 true면 break가 없으면 다음 값2가 거짓이여도 실행문장2를 실행함
    실행문장2;
  break;
  default:    ->(식)의 값이 값1,값2등과 다르다면 default로 와서 실행문장3을 실행한다.
    실행문장3;
  break;
}

 

		Scanner sc = new Scanner(System.in);
		System.out.print("사려는 상품 갯수를 입력하세요 : ");
		int num = sc.nextInt();
		int money=0;
		
		if(num>=11) {
			money=(int)(num*10000*0.9); //여기서 (int)로 형 변환할땐 그냥 num앞에 붙이지말고
		}else {                         //식전체에 ()치고 해줘야 전부 형변한된다.
			money=num*10000;
		}
		System.out.println("가격은 "+money+"원 입니다");
반응형

'빅데이터 서비스 교육 > Java' 카테고리의 다른 글

Java OOP  (0) 2022.05.06
Java 메소드  (0) 2022.05.03
Java 배열  (0) 2022.05.03
Java 반복문  (0) 2022.05.02
Java 개요 및 변수  (0) 2022.05.02