연산자 (Operator) ?:
- 1. 데이터를 처리하여 결과를 산출해냄 -> 연산(operation)
- 2. 연산에 사용되는 표시나 기호를 연산자(operator)라고 함
- 3. 연산되는 데이터는 피연산자
package com.test01;
public class operator01 {
public static void main(String[] args) {
//!논리값 : 논리값을 반대로 바꾸는 연산자
System.out.println("true의 부정:" + !true);
System.out.println("false의 부정:" + !false);
//키보드로 정수 하나 입력받아 짝수 홀수 확인
java.util.Scanner sc = new java.util.Scanner(System.in);
System.out.print("정수 하나 입력: ");
int num = sc.nextInt();
System.out.println("입력한 정수가 짝수인가?" + (num%2==0));
System.out.println("입력한 정수가 짝수인가?" + !(num%2!=0)); // => !를이용해 부정을 부정하여 긍정문으로 작성
// 굳이? -> 다~ 쓸데가 있다
}
}
-> (%)연산자를 이용하여 정수가 짝수인지 홀수인지 확인
package com.test01;
public class operator02 {
public static void main(String[] args) {
//++ : 1 증가 ,++값 값++
//-- : 1 감소 ,--값 값 --
//1.준비
operator02 o = new operator02();
//실행
o.test2();
}
public void test1() {
int age = 19;
System.out.println("현재 나이는? " + age);
++age; //=>1을 증가시키는 연산
System.out.println("++age의 결과는?" + age);
age++;
System.out.println("age++의 결과는?" + age);
--age;
System.out.println("--age의 결과는?" + age);
age--;
System.out.println("age--의 결과는?" + age);
// n증가 -> age+=n;
}
public void test2() {
int num1 = 20;
//후위 연산자
//다른연산 처리 후에 증감처리
int res1 = num1++ *3;
System.out.println(res1);
System.out.println(num1);
//전위연산
//증감처리 후에 다른연산 처리
int num2 = 20;
int res2 = ++num2 *3;
System.out.println(res2);
System.out.println(num2);
}
}
-> 전위연산자와 후위연산자
public class operator03 {
/*
*비교 연산자
*비교 후 조건을 만족하면 true , 만족하지 못하면 false
*
*<
*>
*==
*!=
*<=
*>=
*/
public static void main(String[] args) {
int no1 = 10 , no2 = 20; // 쉼표를 이용하여 중복하지않고도 가능
boolean res1 , res2 , res3;
res1 = (no1 == no2);
res2 = (no1 <= no2);
res3 = (no1 > no2);
System.out.println("res1: " + res1 + ", res2: " + res2 + ", res3: " + res3);
}
}
public class operator04 {
public static void main(String[] args) {
//준비 클래스명 변수명 = new 클래스명();
operator04 t = new operator04();
//실행 변수명.기능명();
t.test2();
// &&(그리고 , ~~면서)and
// ||(또는 , ~~거나) or
}
public void test1() {
int num = 77;
//num의 값이 1~100사이인지 확인
System.out.println("1~100 확인: " + (1<=num && num<=100) );
}
public void test2() {
int num = 111;
//num의 값이 1~100사이인지 확인
System.out.println("1~100 확인: " + (1<=num && num<=100) );
char ch = 'y';
//ch의 값이 y 또는 Y인지 확인
System.out.println("y인지 확인: " + (ch == 'y' || ch == 'Y'));
//키보드 입력을 받을 문자가 영어 대문자인지 확인
//'A' <= 문자 && 문자 <= 'Z'
//1. 스캐너 준비
Scanner sc = new Scanner(System.in);
//상단에 import java.util.Scanner; 입력
System.out.print("문자 하나 입력: ");
char ch2 = sc.next().charAt(0);
//=> 넥스트 구문은 콘솔에 입력하여 직접값을 받아올 때에 사용
//"abcd".charAt(3) =>0 1 2 3 즉 d의 값을 가져옴
System.out.println("대문자? " + ('A'<=ch2 && ch2 <= 'Z'));
}
}
-> 값을 비교하는 비교연산자
public class operator05 {
public static void main(String[] args) {
new operator05().test3();
}
public void test1() {
//삼항 연산자:항목이 3개 -> (조건식)?참일때:거짓일때;
//조건식은 무조건 true or false
int num = 10;
//양수인지 양수가 아닌지 확인
String res = (num>0)?"양수다.":"양수가 아니다.";
System.out.print(res);
}
public void test2() {
//중첩하여 사용
int num = -10;
String res2 = (num>0)?"양수다.":(num==0) ? "0이다." : "음수다.";
//= 0 대입시 "0이다." 출력 -10 대입시 "음수다." 출력
System.out.print(res2);
}
public void test3() {
//복합대입연산자(산술대입연산자)
int num = 12;
System.out.println(num);
num = num + 3;
System.out.println(num);
num += 3;
System.out.println(num);
num -= 5;
System.out.println(num);
num *= 2;
System.out.println(num);
num /= 2;
System.out.println(num);
num %= 5; //->5로 나누고 나머지 값을 출력
System.out.println(num);
}
}
-> 조건을 걸고 , 조건이 참일때와 거짓일때의 값을 리턴하는 삼항연산자
'JAVA' 카테고리의 다른 글
[JAVA]조건문 (1) | 2024.02.13 |
---|---|
[JAVA]제어문 (0) | 2024.02.08 |
[JAVA]강제 형변환 , 접근 제한자 (0) | 2024.02.02 |
[JAVA] 변수 (1) | 2024.02.01 |
[JAVA] 프로그래밍 기초 (0) | 2024.02.01 |