반응형
[필수 기초 용어]
- 연산자(operator) : 어떤 기능을 수행(operate)하는 기호 (예: +, -, *, / 등)
- 피연산자(operand) : 연산의 대상이 되는 데이터 (ex 변수, 상수, 수식 등)
🚩[예제 1] 대입 연산자 & 산술 연산자
int x = 10;
- 대입 연산자(=)는 왼쪽의 변수에 오른쪽의 수식 값(또는 계산 결과)을 저장하는 연산자이다.
- x = 10; 은 변수 x에 상수 10을 대입(저장)한다는 뜻이다.
- 산술연산자
연산자 | 기호 | 예시 | 의미 |
덧셈(add) | + | a + b | a와 b를 더한다. |
뺄셈(subtract) | - | a - b | a 에서 b를 뺀다. |
곱셈 | * | a * b | a와 b를 곱한다. |
나눗셈(몫) | / | a / b | a를 b로 나눈 몫 |
나눗셈(나머지) | % | a % b | a를 b로 나눈 나머지 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
public class Main {
public static void main(String[] args) {
int n1 = 100;
int n2 = 3;
int r1,r2,r3,r4,r5;
r1 = n1 + n2;
r2 = n1 - n2;
r3 = n1 * n2;
r4 = n1 / n2;
r5 = n1 % n2;
System.out.println("n1 + n2 = " + r1); // 103
System.out.println("n1 - n2 = " + r2); // 97
System.out.println("n1 x n2 = " + r3); // 300
System.out.println("n1 / n2 = " + r4); // 33
System.out.println("n1 % n2 = " + r5); // 1
}
}
|
cs |
🏴 [유제 1] 정수형 변수 x1 = 100, x2 = 8 일때 산술 연산자를 이용해 아래와 같이 출력하는 프로그램을 만드세요.
더보기
public class Main {
public static void main(String[] args) {
int x1 = 100;
int x2 = 8;
int r1,r2,r3,r4,r5;
r1 = x1 + x2;
r2 = x1 - x2;
r3 = x1 * x2;
r4 = x1 / x2;
r5 = x1 % x2;
System.out.println("x1 + x2 = " + r1); // 108
System.out.println("x1 - x2 = " + r2); // 92
System.out.println("x1 x x2 = " + r3); // 800
System.out.println("x1 / x2 = " + r4); // 12
System.out.println("x1 % x2 = " + r5); // 1
}
}
🚩[예제 2] 복합 연산자
- 복합 연산자란, 산술 연산자와 대입 연산자를 함께 붙여서 사용하는 연산자이다.
- 복합 연산자를 사용하면 메모리 처리 속도가 더 빠르다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class Main {
public static void main(String[] args) {
int a = 6;
a += 3; // a = a + 3
System.out.println(a);
a -= 3; // a = a - 3
System.out.println(a);
a *= 3; // a = a * 3
System.out.println(a);
a /= 3; // a = a / 3
System.out.println(a);
a %= 3; // a = a % 3
System.out.println(a);
}
}
|
cs |
🏴 [유제 2] 복합 연산자를 이용해서 다음의 지시사항을 수행하는 프로그램을 코딩하세요.
[지시사항]
-정수형 변수 b의 초기값은 5 이다.
-위 값에 이어서 변수 b 값이 5만큼 증가한 값을 출력한다.
-위 값에 이어서 변수 b 값이 3만큼 감소한 값을 출력한다.
-위 값에 이어서 이어서 변수 b 값이 7배가 된 값을 출력한다.
-위 값에 이어서 변수 b 값을 3으로 나눈 몫을 출력한다.
-이 값에 이어서 변수 b 값을 3으로 나눈 나머지를 출력한다.
더보기
public class Main {
public static void main(String[] args) {
int b = 5;
b += 5; // b = b + 5 // 10
System.out.println(b);
b -= 3; // b = b - 3 // 7
System.out.println(b);
b *= 7; // b = b * 7 // 49
System.out.println(b);
b /= 3; // b = b / 3 // 16
System.out.println(b);
b %= 3; // b = b % 3 // 1
System.out.println(b);
}
}
🚩[예제 3] 증감 연산자
- 증감 연산자란, 피연산자를 1씩 증가 시키거나 감소시킬 때 사용하는 연산자이다.
- 증감 연산자는 피연산자가 단 하나뿐인 단항 연산자이다.
증감 연산자 | 의미 |
++a | a값을 먼저 1 증가시킨 후 다른 명령을 실행한다. |
a++ | a값을 먼저 사용한 후에 값을 1 증가 시킨다. |
--a | a값을 먼저 1 감소시킨 후에 다른 명령을 실행한다. |
a-- | a값을 먼저 사용한 후에 값을 1 감소 시킨다. |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class Main {
public static void main(String[] args) {
int a = 0;
int b = 1;
System.out.println(a++); // 0
System.out.println(++a); // 2
System.out.println(--b); // 0
System.out.println(b--); // 0
int r1, r2; // a = 2, b = -1
r1 = --a + 3; // 1+3=4 (전위)
r2 = b-- + 3; // r2=-1+3, b=-2 (후위)
System.out.println("r1=" + r1 + " ,a=" + a); // 4, 1
System.out.println("r2=" + r2 + " ,b=" + b); // 2, -2
}
}
|
cs |
🏴 [유제 3] 아래의 표에 나와있는 줄 번호에서 출력되는 값을 말해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public class Main {
public static void main(String[] args) {
int x = 5;
int y = -3;
System.out.println(++x);
System.out.println(y--);
System.out.println(x++);
System.out.println(--y);
int r1, r2;
r1 = x++ - 3;
r2 = ++y - 3;
System.out.println("r1=" + r1 + " ,x=" + x);
System.out.println("r2=" + r2 + " ,y=" + y);
}
}
|
cs |
줄 번호 | 출력 값 |
6 | |
7 | |
8 | |
9 | |
14 | |
15 |
더보기
public class Main {
public static void main(String[] args) {
int x = 5;
int y = -3;
System.out.println(++x); // 6
System.out.println(y--); // -3
System.out.println(x++); // 6
System.out.println(--y); // -5
int r1, r2; // x = 7, y = -5
r1 = x++ - 3; // 7-3=4, x=8 (후위)
r2 = ++y - 3; // r2=-4-3=-7 (전위)
System.out.println("r1=" + r1 + " ,x=" + x); // 4, 8
System.out.println("r2=" + r2 + " ,y=" + y); // -7, -4
}
}
🚩[예제 4] 관계 연산자
- 관계 연산자란, 피연산자들의 상대적인 크기를 판단하는 연산자이다.
관계 연산자 | 사용 예시 | 의미 |
== | a == b | a와 b가 같은가? (같으면 true, 다르면 false 반환) |
!= | a != b | a와 b가 다른가? (다르면 true, 같으면 false 반환) |
> | a > b | a가 b보다 큰가? (크면 true, 크지 않으면 false 반환) |
< | a < b | a가 b보다 작은가? (작으면 true, 작지 않으면 false 반환) |
>= | a >= b | a가 b보다 크거나 같은가? (크거나 같으면 true, 작으면 false 반환) |
<= | a <= b | a가 b보다 작거나 같은가? (작거나 같으면 true, 크면 false 반환) |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Main {
public static void main(String[] args) {
int a = 2;
int b = -1;
System.out.println(a == b); // false
System.out.println(a != b); // true
System.out.println(a > b); // true
System.out.println(a < b); // false
System.out.println(a >= b); // true
System.out.println(a <= b); // false
}
}
|
cs |
🏴 [유제 4] 아래의 표에 나와있는 줄 번호에서 출력되는 값을 말해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Main {
public static void main(String[] args) {
int a = 2;
int b = -1;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a > b);
System.out.println(a < b);
System.out.println(a >= b);
System.out.println(a <= b);
}
}
|
cs |
줄 번호 | 출력 값 |
6 | |
7 | |
8 | |
9 | |
14 | |
15 |
더보기
public class Main {
public static void main(String[] args) {
int a = 5;
int b = 10;
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
System.out.println(a <= b); // true
}
}
🚩[예제 5] 논리 연산자
- 형변환 이란, 논리식을 판단하여 참(true)과 거짓(false)을 결정하는 연산자입니다.
- 아래의 논리 연산자 표에서, 1은 참(true), 0은 거짓(false)를 의미합니다.
논리 연산자 | 의미 |
&& | 논리식이 모두 참이면 true, 둘 중 하나라도 거짓이면 false를 반환함.(AND 연산) |
|| | 논리식 중에서 하나라도 참이면 true, 둘 다 거짓이면 false를 반환함.(OR 연산) |
! | 논리식의 결과가 참이면 false, 거짓이면 true로, 반대값으로 반환함(NOT 연산) |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Main {
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println(a > 0 && b == 2); // true
System.out.println(a < 3 && b != 2); // false
System.out.println(a == 1 || b < 0); // true
System.out.println(a > 100 || b < -1); // false
System.out.println(!(a == 1)); // false
System.out.println(!(a > 0 && b < -2)); // true
}
}
|
cs |
🏴 [유제 5] 아래의 표에 나와있는 줄 번호에서 출력되는 값을 말해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Main {
public static void main(String[] args) {
int a = 9;
int b = -5;
System.out.println(a == 9 && b == -5);
System.out.println(a > 3 && b != 2);
System.out.println(a < 1 || b > 0);
System.out.println(a > 100 || b < -1);
System.out.println(!(b == 1));
System.out.println(!(a < 0 || b < -2));
}
}
|
cs |
줄 번호 | 출력 값 |
6 | |
7 | |
8 | |
9 | |
10 | |
11 |
더보기
public class Main {
public static void main(String[] args) {
int a = 9;
int b = -5;
System.out.println(a == 9 && b == -5); // true
System.out.println(a > 3 && b != 2); // true
System.out.println(a < 1 || b > 0); // false
System.out.println(a > 100 || b < -1); // true
System.out.println(!(b == 1)); // true
System.out.println(!(a < 0 || b < -2)); // false
}
}
🚩[예제 6] 연산자 우선순위
- 연산자의 실행 순서에도 우선순위 규칙이 있습니다.
- 가장 1등 우선순위로 만들려면 (괄호), [대괄호]를 해주면 됩니다.
- 괄호외의 연산자 끼리의 우선순위는 아래 표와 같습니다.
🏴 [유제 6]
🚩[예제 7] 삼항 연산자
- 삼항 연산자란, 3개의 항(피연산자)를 필요로 하면서 "(조건문) ? 참: 거짓"의 형태를 가지는 조건 연산자이다.
- if~else를 한 줄로 줄여서 사용할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public class Main {
public static void main(String[] args) {
int a = 10;
int b = 5;
int n = -1;
if(a > b) n = 1;
else n = 0;
System.out.println(n); // 1
int k = (a > b) ? 1 : 0;
System.out.println(k); // 1
}
}
|
cs |
🏴 [유제 7] 아래 지시사항을 삼항 연산자를 이용하여 코딩해 보세요.
[지시사항]
-두 개의 정수형 변수 x, y에는 각각 1, 2이 저장되어 있다.
-x가 y보다 크면 정수형 변수 z가 -1이고, 그렇지 않으면 z 가 -2가 된다.
-제일 마지막에 "z is -2" 이런 식으로 z 값을 출력하세요.
더보기
public class Main {
public static void main(String[] args) {
int x = 1;
int y = 2;
int z = (x > y) ? -1 : -2;
System.out.println(z); // -2
}
}
🚩[예제 8] 형변환
- 형변환 이란, 하나의 형(type)을 다른 형으로 바꾸는 것을 말한다.
- 예를 들면, 실수형 3.14 => 정수형 3으로 바꾸는 것이다.
- 자바에서는 boolean형을 제외한 나머지 기본 타입 간의 변환을 자유롭게 수행할 수 있다.
- 형변환에는 자동적인 형변환과 강제적인 형변환이 있다.
[자동적인 형변환]
-피연산자 중 하나가 double이면 다른 피연산자도 double로 변환된다.
-float, long도 위 내용과 마찬가지로 각각 float이면 float으로, long이면 long으로 변환된다.
-double, float, long이 아닌 모든 피연산자는 int형으로 변환된다.
-데이터 손실이 없는 한에서 자동으로 형변환 된다.
[강제적인 형변환]
public class Main { public static void main(String[] args) { // 문자 => 정수 String strNum1 = "123"; int intNum1 = Integer.parseInt(strNum1); System.out.println(intNum1 + 1); // 124 // 숫자 => 문자 int intNum2 = 123; String strNum2 = Integer.toString(intNum2); System.out.println(strNum2 + "4"); // 1234 // 정수 <=> 실수 double dNum1 = 1.1234567; double dNum2; int iNum1 = 12; int iNum2; iNum2 = (int)dNum1; dNum2 = iNum1; // 정수를 실수로 바꿀때는 캐스팅 필요x System.out.println(iNum2); // 1 System.out.println(dNum2); // 12.0 } }
728x90
반응형
'자바(Java) > 자바기초' 카테고리의 다른 글
[자바기초] 2차원 배열(2D Array) (0) | 2024.03.03 |
---|---|
[자바기초]1차원 배열(array) (0) | 2024.03.01 |
[자바기초.006]코드업100제_기초출력풀이_1001~1007 (0) | 2022.09.12 |
[자바기초.003]문자열,입력 (0) | 2022.07.19 |
[자바기초.001] 자바 기초(출력,변수) (0) | 2022.07.11 |
댓글