-
JAVA 연산자back-end&DB/Java 2023. 5. 3. 16:55728x90
1. 산술연산자(숫자연산)
- 더하기 +
- 빼기 -
- 곱하기 *
- 몫 /
- 나머지 %
1.1. INT(정수형) 연산
int num1 = 10; int num2 = 7; System.out.println(num1 + num2); // 17 System.out.println(num1 - num2); // 3 System.out.println(num1 * num2); // 70 System.out.println(num1 / num2); // 1 정수/정수 = 정수
1.2. double(실수형) 연산
- 컴퓨터는 정수와 실수를 구분을 한다.
int num1 = 10; int num2 = 7; System.out.println(num1 + num2); // 17 System.out.println(num1 - num2); // 3 System.out.println(num1 * num2); // 70 System.out.println(num1 / num2); // 1 정수/정수 = 정수 double num3= 7.0; System.out.println(num1 / num3); // 정수/실수 = 실수 System.out.println(num1 / (double)num2); // 계산할때만 실수로 변경
- 형변환(type casting) 변수에 저장된 값을 바꿔버리는 게 아니라 연산/출력할 때 잠깐 자료형으로 바꾸는 것!
- 저장된 값은 정수(int)이지만 실수(double)로 연산
1.3 실습
- 두 개의 정수를 입력받아 두 수의 더하기, 빼기, 곱하기, 나누기, 나누기(소수점포함)를 결괏값을 출력하세요.
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("첫번쨰 정수입력 : "); // 10 int a = sc.nextInt(); System.out.print("두번쨰 정수입력 : "); // 3 int b = sc.nextInt(); System.out.println("두 수의 더하기 : " + (a + b)); // 13 System.out.println("두 수의 빼기 : " + (a - b)); // 7 System.out.println("두 수의 곱하기 : " + (a * b)); // 30 System.out.println("두 수의 나누기(몫) : " + (a / b)); // 3 System.out.println("두 수의 나누기(몫) : " + (a / (double)b)); // 3.33333~ sc.close();
- (double)를 사용하면 소수점까지 출력 가능
- 입력받은 숫자에 백의 자리 이하 버리기
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력 하세요 "); //456 int a = sc.nextInt(); a = a - (a % 100); System.out.println("결과확인 : " + a); // 400 sc.close();
- 변수 값을 받아 일의 자릿수 1로 바꾸기
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("숫자를 입력 하세요 "); int a = sc.nextInt(); a = a - (a % 10) + 1; System.out.println("결과확인 : " + a); sc.close();
- 각각 점수를 받아서 합계, 평균 구하기
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Java 점수 입력 : "); int javaScore = sc.nextInt(); System.out.print("Web 점수 입력 : "); int webScore = sc.nextInt(); System.out.print("Android 점수 입력 : "); int androidScore = sc.nextInt(); int sum = javaScore + webScore + androidScore; System.out.println("합계 : " + sum); System.out.println("평균 : " + sum/3); sc.close();
2. 대입연산자
- 연산의 결과를 담을 때
- a=b , a=b+1, a+=b
2.1. 복합대입연산자
- a+=b 는 a = a+b 같다.
2.2. 실습
int num = 29; num-= 2; System.out.println(num); //27
3. 증감연산자 (단항연산자)
- 변수에 저장된 값을 1 증가 혹은 감소
- a++, ++a, a--, --a
int i = 3; System.out.println(++i); // 4 System.out.println(i++); // 4 System.out.println(i); // 5
- ++i의 경우 +1 된 상태로 출력
- i++의 경우 출력된 이후 +1 다음 출력은 +1 상태로 출력
3.1 실습
int hap = 0, j=0, k=0, l=0; hap = ++j + k++ + ++l; System.out.println(hap + ","+j+","+k+","+l);
- 출력값 : 2,1,1,1
4. 비교연산자
- : 부등호 연산, 같다/다르다 연산
- == 기본 8가지 타입만 비교가 가능(중요)
int a = 5; int b = 7; System.out.println(a==b); //false
- != 은 not =와 같다
int a = 5; int b = 7; System.out.println(a!=b); //true
5. 논리연산자
- ! (NOT), &&(AND), ||(OR)
System.out.println((1<2) && (1<2)); //true System.out.println((1>2) && (1<2)); //false System.out.println((1<2) || (1<2)); //true System.out.println((1>2) || (1<2)); //true
6. 삼항연산자
- 간단한 제어 처리
- 삼항연산자의 공식
- (조건문) -- True/False --> 비교 연산자(< , <= ..)
- 논리 연산자(&&, !, ||)
- ==(비교연산자), =(대입연산자) 실행이 안된다.
- (조건문) ? (Ture일 때 실행 될 문장) : (false 일 때 실행 될 문장)
int a = 3; int b = 5; System.out.println(a<b ? "B가 더 큽니다." : "A가 더 큽니다.");
- ((조건문) ? (Ture일 때 실행 될 문장) : (false 일 때 실행 될 문장)) Ture이기 때문에
- 'B가 더 큽니다' 출력이 됩니다.
6.1 실습
- 두 개의 정수를 입력받아 큰 수에서 작은 수를 뺸 결과을 출력하세요.
Scanner sc = new Scanner(System.in); System.out.print("첫번쨰 정수입력 : "); int a = sc.nextInt(); System.out.print("두번쨰 정수입력 : "); int b = sc.nextInt(); System.out.println(a<b ? "두수의 차 : " + (b - a) : "두수의 차 : " + (a - b)); sc.close();
- 농구공을 담기 위해 필요한 상자의 개수를 구하세요.
- 상자 하나에는 농구공 5개가 들어갈 수 있습니다. 만일 농구공이 23개면 필요한 상자 수는 5개입니다.
Scanner sc = new Scanner(System.in); System.out.print("농구공의 개수를 입력하세요 : "); int ball = sc.nextInt(); int box = 5; System.out.println( ball % box == 0 ? "필요한 상자의 수 : " + (ball/box) : "필요한 상자의 수 : " + ((ball/box)+1)); sc.close();
- 삼항연산자를 이용하여, 나머지가 생기는 경우 +1 상자를 더하는 방식으로 구하면 됩니다.
728x90'back-end&DB > Java' 카테고리의 다른 글
JAVA 다중 FOR문 (0) 2023.05.10 JAVA 반복문 (0) 2023.05.09 JAVA 조건문 (0) 2023.05.03 JAVA 변수 (0) 2023.05.02 JAVA 입출력 (0) 2023.05.02