본문 바로가기

공부/java

java 연산자 코딩

728x90

 

 

 

※ JAVA 산술연산자
- 수학적 연산에 사용되며, 자바에서는 이들을 이용하여 수치 계산


※ 기본 산술 연산자

+
덧셈 연산자
-
뺄셈 연산자
*
곱셈 연산자
/
나누기 연산자
%
나누기 결과 나머지 계산 연산자



※ 증가/감소 산술연살자

++변수
실행 전 변수에 1을 더함
변수++
실행 후 변수에 1을 더함
--변수
실행 전 변수에 1을 빼기
변수-- 
실행 후 변수에 1을 빼기
ex)

int a=5, b=7;
System.out.printIn("결과1=" + (++a+3));      //a=6
System.out.printIn("결과2=" + (--b));       //b=6
System.out.printIn("결과3=" + (a+b--));    //a=6, b=6, 다음줄부터 b=5
System.out.printIn("결과4=" + b);         //b=5


결과는 아래와 같음)


결과1=9
결과2=6
결과3=12
결과4=5

 

 

※ 할당 산술 연산자

=
현재 값을 좌측 변수에 할당
 
+=
좌측변수와 특정값을 덧셈 수행하여 다시 좌측변수에 할당
ex) a=a+5  과  a+=5  는 같음
-=
좌측변수에서 특정 값 뺄셈 수행한 결과를 좌측변수에 할당
ex) a=a-5  과  a-=5  는 같음
*=
좌측변수와 특정값 곱셈 결과를 다시 좌측변수에 할당
 
/=
특정 값으로 나눈 몫을 좌측변수에 할당
 
%=
특정 값으로 나눈 나머지를 좌측변수에 할당
 



※ 실수의 정확한 연산을 위해 BigDecimal class 이용하기
- 10진수의 숫자는 자바실행 시 2진수로 변경   →   결과 진법변환의 영향으로 계산결과의 차이가 발생
- 이때 BigDecimal 클래스 이용
- BigDecimal 클래스 : java.math 패키지에 포함


※ 주요메소드

add
덧셈
subtract
뺄셈
multiply
곱셈
divide
나눗셈
remainder
나머지
ex)

package pkg;
import java.math.BigDecimal;
public class sample {
public static void main(String[] args)
{
   BigDecimal big_calc1=new BigDecimal("0.7"); 
   BigDecimal big_calc2=new BigDecimal("0.6");
   big_calc1=big_calc1.add(big_calc2);
   System.out.printIn("결과=" + big_calc1); 
}
}


결과는 아래와 같음)


결과=1.3

 

 

※ BigDecimal에서 나누기를 할때 소수점이 딱떨어지지 않으면 오류가 나기 때문에 RoundingMode 클래스도 추가해야함

ex)
big_calc1=big_calc1.divide(big_calc2,2,RoundingMode.DOWN);


//big_calc2로 big_calc1을 나누는데 소수 첫째자리까지 보여주고 나머지는 버려라

 

 

※ 자바의 관계 연산자
- 관계(비교)연산자 : 두 값을 비교 판단하는 연산자


※ 비교연산자 종류

>
~보다 크다
<
~보다 작다
>=
~보다 크거나 같다
<=
~보다 작거나 같다
==
~와 같다
!=
~와 같지않다
ex)

int a=4,b=5;
boolean r;   //boolean은 논리형이란 뜻
r=(++a==b);
System.out.println("결과="+r);


결과는 아래와 같다)


결과=true

 

 

비교연산자보다 산술연산자가 먼저 작동하고 비교연사자에서 참조변수(객체)를 넣으면 변수에 들어간 값이 아닌 참조변수의 주소를 인식해서 판단함 (참조변수를 비교 판단하려면 비교연산자가 아닌 .equals 같은 메서드를 사용해야함)


※ 자바의 논리연산자
- 논리연사자 : 2개 이상의 비교식을 하나의 식으로 결합하여 결과값을 true, false로 반환


※ 논리연산자 종류

!
not을 뜻함. 참 값이면 거짓, 거짓이면 참값으로 변환
&&
and를 뜻함. 여러 조건식이 모두 참이어야만 결과도 참이 됨
||
or을 뜻함. 여러 조건식 중 어느 하나만 참이여도 결과가 참이 됨
ex)

int a=0,b,c;
boolean d;
a+=10; //a값 10됨
b=9
d=!(0==(b%3)) //b값 9를 3으로 나눈 나머지는 0이기때문에 0과 같아서 true, 그것의 반대니까 결국 false
System.out.println("결과="+d);
System.out.println("결과2="+(++b==a);


결과는 아래와 같음)


결과=false
결과2=true

 

 

※ 조건연산자
- 형식 → 조건식? 조건이 참일때 실행할 문장 : 조건이 거짓일때 실행할 문장

ex)

int age=67;
String gn;
gn=age>=65? "할인대상" : "정상운임대상"; //65보다 age값이 같거나 크면 gn에 할인대상을 출력하고 그렇지 않으면 정상운임대상을 출력
System.out.println(gn);


결과는 아래와 같음)


할인대상

 

 

 

반응형

'공부 > java' 카테고리의 다른 글

java 반복문 : while문, do ~ while문  (0) 2023.01.10
java 반복문 : for문, 확장 for문  (0) 2023.01.10
java 조건제어 if문, switch문  (0) 2023.01.10
java 프로그램 기본 구조와 변수  (0) 2023.01.10
java 프로그래밍 개요  (0) 2023.01.10