지난 시간에 이어 공부한 연산자를 작성해보겠다.
1. 연산자
1.비교 연산자
ㄴ >, <, >=, <=, ==, != ( = 등호는 항상 오른쪽!)
ㄴ 결과는 항상 논리값이다. (true / false)
ㄴ = (대입연산자) , ==(같다)
ina a = 10;
int b = 20;
System.out.println( a < b ); //true
System.out.println( a > b ); //false
System.out.println( a <= b ); //true
System.out.println( a >= b ); //false
System.out.println( a != b ); //true
System.out.println( a == b ); //false
2. 논리연산자
① && (엠퍼센트/and)
and연산자는 좌항과 우황이 모두 '참' 일 때만 전체가 참이 됩니다.
ㄴ~와, 그리고(이고), ~면서, ~이면서, ~부터,~까지 ~사이
int a = 100;
// a는 100이상이면서 짝수인가 ?
System.out.println(a>=100); //true
System.out.println(a % 2 ==0); //true
// && 를 이용해서 한번에 출력
System.out.println(a>=100 && a%2==0); //true
int b =5;
//b는 1부터 10끼지 숫자 범위에 포함되어 있는가 ?
System.out.println(b>=1 && b <=10); //true
② || (버티칼 / or)
or연산자는 좌항 우황 중 하나라도 참이면 전체가 참이 되어 값이 출력하게 됩니다.
ㄴ~또는, ~거나, ~이거나
( true || true ); // true
( false || true ); // true
( true || false ); // true
( false || false ); // false
//피연산자가 모두 false인 경우를 제외하고 연산 결과는 항상 true입니다.
③ ! (논리부정연산자 )
ㄴ 논리값을 반대로 바꾸는 연산자
boolean boo1 = true;
boolean boo2 = ! boo1;
System.out.println("boo1 :" + boo1); //true
System.out.println("boo2 :" + boo2); //false
3. 복합 대입 연산자
ㄴ복합 대입 연산자 : +=, -= , *= ,/=, %= (등호는 오른쪽!)
ㄴ피연산자가 자신과 연산 후 결과를 다시 자신에게 대입한다.
int a = 10;
// a를 1 증가
a++; // a =a+1
a+=1;
System.out.println("a를 1증가 :"+ a); //11
//a를 4증가
a += 4;
System.out.println("a를 4증가 :"+ a); //15
//a를 10 감소
a-=10;
System.out.println("a를 10감소 :"+ a); //5
//a를 3배 증가
a*=3;
System.out.println("a를 3배증가 :"+ a); //15
//a를 6으로 나눴을때 몫
a/=6;
System.out.println("a를 6으로 나눴을때 몫 :"+ a); //2
//a를 2로 나눴을때 나머지
a%=2;
System.out.println("a를 2으로 나눴을때 나머지 :"+ a); //0
4. 삼항 연산자
[작성방법] : 조건식 ? 식 1 : 식 2
ㄴ 조건식의 결과가 true 이면 식 1
ㄴ 조건식의 결과가 false이면 식 2
ㄴ 연산 결과는 true /false 인식한다.
int num =30 ;
String str1 = "num은 30보다 큰수이다.";
String str2 = "num은 30이하의 수이다.";
String result = num > 30 ? str1 : str2;
거짓 실행
System.out.println(result); // num은 30이하의 수이다.
if 문에 대해서는 스캐너를 이용하여 이클립스에서 공부를 하였다.
스캐너를 현업에서 사용하지 않는다고 듣긴했지만,
내 입장에서는 스캐너를 이용하는데 콘솔창에 바로바로 찍혀 가장 직관적으로 볼 수 있어서 좋았다.
( 학원에서 스캐너를 이용해서 공부를 해서 또 스캐너를 이용해서 공부하는 점 양해 부탁 드려요!)
혹시 스캐너를 모르시거나 처음 보신 분이라면 이클립스에 한번 찍어보세요!
2. if 문
1. if 문
ㄴ 조건식이 true 일때만 내부 코드 수행
"작성방법"
if (조건식){
조건식이 true 일 때 수행할 코드
}
작성방법을 알았으니, 예제를 확인하자.
//입력된 정수가 양수인지 검사를 할거야
Scanner sc = new Scanner(System.in); //스캐너 만들거야!
System.out.println("정수 입력 :"); // 정수 입력할 수 있게 해야지
int input = sc.nextInt(); // 실제 정수 입력해야지
if(input<0) {
System.out.print("음수입니다."); //만약 input이 0보다 작으면 이게 진실이라면
음수입니다를 콘솔창에 찍어줘
}
if(input>0) {
System.out.print("양수입니다."); //만약 input이 0보다 크고 이게 진실이라면
양수입니다를 콘솔창에 찍어줘
}
2. if - else 문
ㄴ 조건식 결과가 true면 if문 수행 false면 else 구문 수행
[작성방법]
if (조건식) {
조건식이 true면 수행할 코드
} else {
조건식이 false면 수행할 코드
}
작성방법을 알았으니, 예제를 확인하자.
// 홀짝 검사
Scanner sc1 = new Scanner(System.in);
System.out.println("정수 입력 :");
int input1 = sc1.nextInt(); // 콘솔창에 입력한 정수
if (input1 % 2 != 0) {
System.out.println("홀수입니다."); // 입력한 정수를 2로 나눠서 0이 아닌 다른 수가
//나온다면 홀수입니라고 콘솔창에 찍어라
}else {
System.out.println("짝수 입니다.");// 위에 조건이 거짓이면 짝수라고 찍어라
}
3. if - else if -else 문
[작성방법]
if(조건식1){
실행문 1 // 조건식 1이 true 일때 실행
} else if(조건식2){
실행문 2 // 조건식 1이 false이고 조건식 2가 true일때 실행
} else {
실행문 3 // 조건식 1과 2가 false일때 실행
}
작성방법을 알았으니, 예제를 확인하자.
// 음수 양수 0 판독기를 만들어라!
Scanner sc = new Scanner(System.in);
System.out.println("정수 입력 :"); // 정수입력하는 칸을 만들거야
int input = sc.nextInt(); // 정수 입력할 수 있도록 만들어
if(input<0) {
System.out.println("음수입니다."); // input이 0보다 작으면 "음수입니다"출력
//만일 0보다 크면 else if 조건문으로 넘어감
}else if(input>0) {
System.out.println("양수입니다"); // input 0보다 크다면 "양수입니다."출력
//만일 거짓말이라면 else 조건문으로 넘어감
}else {
System.out.println("0입니다");//else if랑 else 조건문이 만족하지 않기에 else문이 실행
}
계절을 알려주는 프로그램을 만들어라!
Scanner sc = new Scanner(System.in);
System.out.println("달 입력 : ");
int month = sc.nextInt();
if (month ==3 || month == 4 || month == 5) {
System.out.println("봄입니다.");
}else if(month >= 6 && month <= 8 ) {
System.out.println("여름입니다.");
}else if(month >= 9 && month <=11 ) {
System.out.println("가을입니다.");
}else if(month ==12 && month == 1 && month == 2) {
System.out.println("가을입니다.");
}else{ //if , else if가 모두 false인 경우
System.out.println("해당하는 계절이 없습니다.");
}
왜 계절을 알려주는 프로그램을 만들때 or연사자를 쓴거예요?
만일, and 연산자를 쓴다면 and는 전체가 참이여야지 참이다.
내가 3을 넣었을때, 첫번째 조건 3은 만족하지만 뒤에 4 / 5에 대한 조건은 만족하지 않는다.
그래서 해당 조건은 1개의 조건만 맞기 때문에
if문이 false가 되어 밖으로 빠져나가 "해당하는 계정이 없습니다"라고 표기된다.
4. switch 문
[작성방법]
switch(식){
case 결과값 1 : 수행코드 1 : break;
case 결과값 2 : 수행코드 2 : break;
case 결과값 3 : 수행코드 3 : break;
...
default : case를 모두 만족하지 않을 경우 수행하는 코드
}
작성 방법을 알았으니 예시를 보러 가자!
public void ex4() {
Scanner sc = new Scanner(System.in);
// System.in : 키보드 입력
System.out.println("정수 입력 : ");
int input = sc.nextInt();
String result;
switch (input) {
case 1: result = "빨간색";break; //1에 조건값이 만족하면 빨간색이 출력되고 멈춘다.
case 2: result = "주황색";break;
case 3: result = "노란색";break;
default : result = "흰색";break; // 1~3말고 다른 값을 넣으면 흰색이 출력됨
}
System.out.println(result);
}
'ON > JAVA' 카테고리의 다른 글
1주차_지금까지 이해하지 못한 것 개념이 확실하지 않는 것에 대해서 정리 (0) | 2023.04.21 |
---|---|
5일차_반복문 (1) | 2023.04.20 |
03일차_ 출력메소드/스캐너/연산자를 공부하다. (0) | 2023.04.18 |
v02. 2일차_ 변수/변수명명/ 형변환/자료형을 공부하다. (0) | 2023.04.17 |
01일차. 프로그래밍 기초 (0) | 2023.04.17 |