티스토리 뷰

Back-end/Java

(JAVA) 자바 연산자

이안_ian 2018. 9. 5. 12:53




반응형

1. 단항 연산자


++, --(증감연산자)

전위연산 : 자신의 연산을 우선 실행 후 다음 연산

int a=5;

int b = ++a; 

결과 값: a=6, b=6


후위연산자 : 자신이 속해 있는 연산을 먼저 실행 종료 후 자신의 연산 실행

int a=5;

int b=a++;

결과 값: a=6, b=5


실습 예제!!

정수형 변수 a,b,c,에 각각 10, 20, 30을 넣고 다음 연산을 수행하고 a,b,c,의 값을 출력하시오.

a++, b=(--a)+b, c=(a++)+(--b)

정답은 밑에 공개!


2. 산술 연산자


우선 대표적으로 *,/,% 가 있는데 다른 사칙 연산은 자료형이 변할 일이 크게 없지만

나누기의 몫을 구하는 '/'과 나머지를 구하는 '%'는 자료형이 정수에서 실수로 바뀌기 때문에

유의할 점이 있다. 

int a =10, b=20, c=0;

c=a/b, c=a%b 를 할때는 자료형이 실수 형으로 바뀌어야 하기 때문에 연산 변수중 하나를

캐스팅해주면 c는 자동 캐스팅이 된다.

c=a/(double)b or c=(double)/b


실습 예제 정답

-> a=11, b=29, c=39


3. 산술 복합 대입 연산자


A+=10 -> A=A+10

A-=10 -> A=A-10

A*=10 -> A=A*10


a>>숫자 : 비트를 오른쪽으로 숫자만큼 이동하고 이동 수 만큼 2로 나누는 효과가 있다.


a<<숫자 : 반대로 비트를 왼쪽으로 숫자만큼 이동하고 2로 곱한 효과가 있다.


4. 과제의 문제


정수를 입력 받고 이진수로 바꾼 다음 1의 갯수가 몇개 인지 출력하라.


java.lang.Integer의 Integer.bitCount(변수); 를 사용하면 쉽게 구할 수 있으며 단지 변환만 원할 경우

String binary = Integer.toBinaryString(input); 이런식으로 변경만 가능하다.

또한 자동으로 비교해 주는 System.out.println("더 큰수는: " +Integer.max(3, 5)); 가 존재한다.


자바의 equals 사용법

String gender;

gender = sc.nextLine();

if(gender.charAt(0)=='M')


String a;

if(a.equals("동물")) {

System.out.println("크아앙 사자다!!");

}


5. Continue문

ex)

 for(int i =0; i<10;i++){

if(i%3==0)

continue;

  System.out.println(i);

}


이렇게 쓸 경우 for문이 돌아가는 중간에 if문으로 묶인 조건에서는 포문아래 print가 출력되지않고

넘어간다 반복문에서 스킵하고 싶은 부분이 있다면 저렇게 써주는것이 좋을 것이다.



반응형
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31