티스토리 뷰
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가 출력되지않고
넘어간다 반복문에서 스킵하고 싶은 부분이 있다면 저렇게 써주는것이 좋을 것이다.
'Back-end > Java' 카테고리의 다른 글
(JAVA) 문자열 나누는 Split(), subString (0) | 2018.09.12 |
---|---|
(JAVA) 자바의 배열(얕은, 깊은복사)과 for-in문 (0) | 2018.09.11 |
이클립스-외부 프로젝트를 내 프로젝트에 추가하기 & 글씨가 깨질 때!! (0) | 2018.09.10 |
(Java) 자바의 난수 생성(Math.random()) 과 여러 단축키들 (0) | 2018.09.10 |
조건문 If 와 switch (0) | 2018.09.06 |