2023. 11. 23. 20:15ㆍ프로그래밍 언어/Java
1. 소수형 반올림 구현
class Operator1 {
public static void main(String args []) {
double pi = 3.141592
double shortPi = (int)(pi * 1000 + 0.5) / 1000.0
System.out.println(shortPi) //실행 결과 3.142
}
}
위의 예시처럼 반올림을 구현할 수 있다. Math.round()를 사용해서도 간단히 반올림을 할 수 있다. round() 함수는 매개변수로 받은 값을 소수점 첫째 자리에서 반올림하므로 위 예제처럼 소수점 네 자리에서 반올림하려면 Math.round(pi * 1000) / 1000.0;과 같이 사용하면 된다.
2. 쉬프트 연산의 쓰임새
a << b 연산은 a의 2진수를 왼쪽으로 b번 이동시키고, >> 연산자는 오른쪽으로 이동시킨다. 이 연산은 매우 빠른 시간으로 2^n을 곱하거나 나눌 때 많이 사용한다. 아래의 내용만 기억해 두자.
x << n은 x * 2^n이고 x >> n은 x / 2^n이다.
3. 조건 연산자? :
삼항 연산자라고도 불리는? : 연산자는 result = (x > y)? x : y ; 이런 식으로 사용한다. 괄호 안의 조건식이 참이면 x를 반환하고 거짓이면 y를 반환하는 연산자이다.
4. 난수 구하기
1과 3 사이의 정수 난수를 구해보자. 기본적으로 Math.random() 메서드를 사용하는데, 이 메서드의 반환값은 0.0과 1.0 사이 범위의 무작위 double값을 반환한다. 0.0은 범위에 포함되고, 1.0은 포함되지 않는다.
- 각 변에 3을 곱한다.
0.0 <= Math.radom() * 3 < 3.0 - 각 변을 int형으로 변환한다.
0 <= (int)(Math.radom() * 3) < 3 - 각 변에 1을 더한다.
1 <= (int)(Math.radom() * 3) + 1 < 4
5. 이름 붙은 반복문
break문은 근접한 단 하나의 반복문만 벗어날 수 있다. 여러 개의 반복문이 중첩된 경우 상당히 귀찮은 과정을 거쳐 break 해야 하는 경우가 많은데 반복문과 break, continue에 이름을 붙여줌으로써 원하는 반복문을 중단시킬 수 있다. 바로 예제로 보자.
public class Flow1 {
public static void main(String args[]) {
Loop1 : for(int i=2; i<8;i++){
for(int j=0; j<8; j++){
if(j==5)
break Loop1;
// break;
// continue Loop1;
// continue;
System.out.println(i + "*" + j + "=" + i*j);
}
}
}
}
위 예제처럼 j가 5일 때 Loop1이라는 이름이 붙은 반복문을 벗어남으로써 i의 값이 2지만 모든 for문이 종료되게 할 수 있다. continue Loop1;도 가능하므로 직접 해보자.
'프로그래밍 언어 > Java' 카테고리의 다른 글
[JAVA] 객체지향언어 - 오버로딩과 생성자, this, this()를 구별하자. (1) | 2023.11.27 |
---|---|
[JAVA] 객체지향언어 - 클래스와 객체, 클래스와 인스턴스를 잘 구분하자. (2) | 2023.11.24 |
[JAVA] 배열의 생성부터 다차원 가변 배열까지 (1) | 2023.11.23 |
[JAVA] 정수형과 실수형 - 정밀도를 주의하자! (1) | 2023.11.11 |
[JAVA] 변수의 타입과 입출력 (1) | 2023.11.02 |