산술연산자(사측연산), 대입연산자, 비교연산자, 논리연산자 -> 이항연산자(항이 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 |