7일차 java 연산(2023-01-02)

권단비·2023년 1월 2일
0

IT

목록 보기
10/139

[Eclipse 연습]

[계산]
//0.75 가 나오도록 에러를 잡으시오.
public class Test2 {
	public static void main(String[] args) {
		int a = 4;
		int b = 3;
		double c = (double) b / a;
		System.out.println(c);
	}
}
[결과값]
0.75

[계산]
public class Test2 {
	public static void main(String[] args) {
    int a = +'A' + 10
		System.out.println('A' + 'A');
	}
}
[결과값]
130
[설명]
char+char를 하게 되면 int값이 된다.
A=65이기에 65+65=130

[연산기호]

결합방향 : 동등한 우선순위에서 어떤 것을 먼저 계산하는지
우선순위 : 3+1*6
⇒ 1. *
   2. +
[계산]
int num3 = 10, num4 = 20, num5 = 30;
		num3 = num4 = num5;
		System.out.println(num3);
		System.out.println(num4);
		System.out.println(num5);
[결과값]
30
30
30
[설명]
같은 연산자인 경우 결합방향순으로 계산한다.
=은 오른쪽에 있는 값을 왼쪽에 있는 변수에 대입한다.

[계산]
public class Test2 {
	public static void main(String[] args) {
		int num1 = 7;
		int num2 = 3;
		System.out.println("num1 + num2 = " + (num1 + num2));
		System.out.println("num1 - num2 = " + (num1 - num2));
		System.out.println("num1 * num2 = " + (num1 * num2));
		System.out.println("num1 / num2 = " + (num1 / num2));
		System.out.println("num1 % num2 = " + (num1 % num2));
	}
}
[결과값]
num1 + num2 = 10
num1 - num2 = 4
num1 * num2 = 21
num1 / num2 = 2
num1 % num2 = 1
[설명]
num1 / num2 = 2
⇒실수로 표현 시
System.out.println("num1 / num2 = " + ((double)num1 / num2));
%(나머지):홀수/짝수 확인할 때 사용

[★복합 대입 연산자]

★복합 대입 연산자 사용 시 형 변환을 하지 않아도 자동으로 변환된다.★

[계산]
public class Test2 {
	public static void main(String[] args) {
		int num1 = 7;
		int num2 = 3;
		num1 += 3;
		System.out.println(num1);
	}
}
[결과값]
10
[계산]
public class CompAssignOp {
	public static void main(String[] args) {
		short num = 10;
		num = (short) (num + 77L); // 형 변환 안하면 컴파일 오류 발생
		int rate = 3;
		rate = (int) (rate * 3.5); // 형 변환 안하면 컴파일 오류 발생
		System.out.println(num);
		System.out.println(rate);
		num = 10;
		num += 77L; // 형 변환 필요하지 않다.
		rate = 3;
		rate *= 3.5; // 형 변환 필요하지 않다.
		System.out.println(num);
		System.out.println(rate);
	}
}
[결과값]
87
10
87
10

[관계 연산자]

= : 대입
== : 같은가
!= : 다른가
[계산]
public class RelationalOp {
	public static void main(String[] args) {
		// Boolean으로 값을 불러온다.
		System.out.println("3 >= 2 : " + (3 >= 2));
		System.out.println("3 <= 2 : " + (3 <= 2));
		System.out.println("7.0 == 7 : " + (7.0 == 7));
		System.out.println("7.0 != 7 : " + (7.0 != 7));
	}
}
[결과값]
3 >= 2 : true
3 <= 2 : false
7.0 == 7 : true
7.0 != 7 : false

[논리 연산자]

&& : A와 B 모두 true 이면 ture (and)
|| : A와 B 둘 중 하나라도 true면 true (or)
! : A가 true이면 false, A가 false이면 true (not)

[계산]
public class LogicalOp {
	public static void main(String[] args) {
		int num1 = 11;
		int num2 = 22;
		boolean result;
		// 변수 num1에 저장된 값이 1과 100 사이의 수인가?
		result = (1 < num1) && (num1 < 100);
		System.out.println("1 초과 100 미만인가? " + result);
		// 변수 num2에 저장된 값이 2 또는 3의 배수인가?
		result = ((num2 % 2) == 0) || ((num2 % 3) == 0);
		System.out.println("2 또는 3의 배수인가? " + result);
		// 변수 num1이 0인가?
		result = !(num1 != 0);
		System.out.println("0인가? " + result);
		// 55가 5와 3의 배수인지 판별하시오.
		int num3 = 55;
		result = ((num3 % 5) == 0) && ((num3 % 3) == 0);
		System.out.println("55가 5와 3의 배수인지 판별하시오 : " + result);
		//3이 짝수인지 홀수인지 판별하시오.
		int num4 = 3;
		result = ((num4 % 2) == 0);
		System.out.println("짝수인가 : " + result);
		result = ((num4 % 2) == 1);
		System.out.println("홀수인가 : " + result);
	}
}
[결과값]
1 초과 100 미만인가? true
2 또는 3의 배수인가? true
0인가? false
 ⇒!(num1 != 0); num1 = 0이 아니라 true이지만, 괄호 앞에 !가 붙어서 flase
55가 5와 3의 배수인지 판별하시오 : false
짝수인가 : false
홀수인가 : true
[계산]
public class SCE {
	public static void main(String[] args) {
		int num1 = 0;
		int num2 = 0;
		boolean result;
		result = ((num1 += 10) < 0) && ((num2 += 10) > 0);
		System.out.println("result = " + result);
		System.out.println("num1 = " + num1);
		System.out.println("num2 = " + num2 + '\n'); // '\n'은 개행
		result = ((num1 += 10) > 0) || ((num2 += 10) > 0);
		System.out.println("result = " + result);
		System.out.println("num1 = " + num1);
		System.out.println("num2 = " + num2);
	}
}
[결과값]
result = false
num1 = 10
num2 = 0
.
result = true
num1 = 20
num2 = 0

0개의 댓글