JAVA

[JAVA] 연산자

로돌씨 2024. 2. 4. 21:07

연산자 (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