산술 연산
Java 언어에서 제공하는 산술 연산에는 부호, 더하기, 빼기, 곱하기, 나누기, 나머지 연산이 있습니다.
▷ 부호 연산(+, -)
부호 연산은 단항 연산으로 연산자는 플러스와 마이너스가 있으며 피연산자로
정수 형식과 실수 형식이 올 수 있습니다.
플러스 부호 연산은 연산 결과가 피연산자와 같아서 실제 코딩에서
사용하는 것을 보기 힘듭니다.
private static void exPositive () {
int i = 9;
int re = 0;
re = +i;
System.out.println("re:"+re);
}
실행 결과
re:9
마이너스 연산의 결과는 피연산자에 -1을 곱한 값입니다.
private static void exNegative () {
int i = 9;
int re = 0;
re = -i;
System.out.println("re:"+re);
}
실행 결과
re:-9
▷ 더하기 연산(+)
더하기 연산은 두 개의 피연산자가 오며 연산 결과는 피연산자의 합입니다.
그리고 더하기 연산의 피연산자로
String(문자열) 형식이 올 수 있어 효과적으로 사용할 수 있습니다.
private static void exAdd() {
int i = 4;
int j = 5;
int re = 0;
re = i+j;
System.out.println("1. re:"+ re);
String s1 = "Hello";
String s2 = "World";
String s3;
s3 = s1 + s2;
System.out.println("2. s3:"+ s3);
}
실행 결과
1. re: 9
2. s3: HelloWorld
▷ 빼기 연산(-)
빼기 연산도 여러분이 생각하는 상식 수준을 벗어나지 않습니다.
private static void exSub() {
int i = 4;
int j = 5;
int re = 0;
re = i-j;
System.out.println("re:"+ re);
}
실행 결과
re: -1
▷ 곱하기 연산(*)
곱하기 연산도 여러분이 생각하는 상식 수준을 벗어나지 않습니다.
private static void exMul() {
int i = 4;
int j = 5;
int re = 0;
re = i*j;
System.out.println("re:"+ re);
}
실행 결과
re: 20
▷ 나누기 연산(/)
나누기 연산은 피연산자 모두 정수일 때는 연산 결과가 정수 형식입니다.
이 때 내림 법칙의 결과가 나오며 나머지는 버립니다.
대신 피연산자 중에 하나라도 실수일 때는 연산 결과가 실수 형식입니다.
그리고 피연산자 중에 실수가 하나라도 올 때 0/0의 결과는 Float.NaN이니다.
좌측 피연산자 양수이고 우측 피연산자 0일 때 결과는 Float.POSITIVE_INFINITY입니다.
좌측 피연산자가 음수일 때 결과는 Float.NEGATIVE_INFINITY 입니다.
private static void exDiv() {
int i = 4;
int j = 3;
int re = 0;
re = i/j;
System.out.println("1. re:"+ re);
float f = 3.0f;
float re2 = 0.0f;
re2 = i/f;
System.out.println("2. re2:"+ re2);
re2 = i/0.0f;
System.out.println("3. re2:"+ re2);
re2 = -i/0.0f;
System.out.println("4. re2:"+ re2);
re2 = 0.0f/0.0f;
System.out.println("5. re2:"+ re2);
}
실행 결과
1. re:1
2. re2:1.3333334
3. re2:Infinity
4. re2:-Infinity
5. re2:NaN
▷ 나머지 연산(%)
나머지 연산은 피연산자의 나누기 연산에서 나머지가 연산 결과입니다.
나머지 연산은 특정 범위 내의 정수를 회전(0->1->2->3->0->1->...)하여 사용할 때 많이 사용합니다.
private static void exModular() {
int i = 4;
int j = 3;
int re = 0;
re = i%j;
System.out.println("1. re:"+ re);
int cir_cnt = 0;
cir_cnt = (cir_cnt+1)%3;
System.out.println("2. cir_cnt:"+ cir_cnt);
cir_cnt = (cir_cnt+1)%3;
System.out.println("3. cir_cnt:"+ cir_cnt);
cir_cnt = (cir_cnt+1)%3;
System.out.println("4. cir_cnt:"+ cir_cnt);
cir_cnt = (cir_cnt+1)%3;
System.out.println("5. cir_cnt:"+ cir_cnt);
}
실행 결과
1. re:1
2. cir_cnt:1
3. cir_cnt:2
4. cir_cnt:0
5. cir_cnt:1
'프로그래밍 기술 > 안드로이드' 카테고리의 다른 글
[안드로이드] 21. Java - 대입 연산 (0) | 2016.04.16 |
---|---|
[안드로이드] 20. Java - 쉬프트 연산 (0) | 2016.04.16 |
[안드로이드] 19. Java - 비트 연산 (0) | 2016.04.16 |
[안드로이드] 18. Java - 논리 연산 (0) | 2016.04.16 |
[안드로이드] 17. Java - 비교 연산 (0) | 2016.04.16 |
[안드로이드] 15. Java - 연산 개요 (0) | 2016.04.16 |
[안드로이드] 14. Java - 실수형 (0) | 2016.04.16 |
[안드로이드] 13. Java - 정수형 (0) | 2016.04.16 |
[안드로이드] 12. Java - 문자형 (char) (0) | 2016.04.16 |
[안드로이드] 11. Java - 논리형 (boolean) (0) | 2016.04.16 |