final int SIZE = 100;
SIZE = 200;
예제) 반지름이 5인 원의 넓이를 구하시오
public class Ex {
static final double SIZE = 3.14;
public static void main(String[] args) {
double area = Math.pow(5, 2) * SIZE;
System.out.println(area);
}
}
int num = 10;
상수
상수
의 정의가 값을 한 번 저장하면 변경할 수 없는 저장공간
이기에 리터럴이란 용어를 도입타입)피연산자
캐스트 연산자
or 형변환 연산자
라고 하며, 형변환을 캐스팅(Casting)
이라고도 한다.double d = 86.4;
int score = (int) d;
System.out.println("score=" + score);
System.out.println("d=" + d);
//결과
//score=85
//d=85.4
double pi = 3.1415;
int wholeNumber = (int)pi;
두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치) 값 손실 최소화가 목표
long
+ int
👉 long
+ long
👉 long
float
+ int
👉 float
+ float
👉 float
double
+ float
👉 double
+ double
👉 double
피연산자의 타입이 int보다 작은 타입이면 int로 변환된다. 오버플로우 방지 (JVM이 32bit이기 때문에)
byte
+ short
👉 int
+ int
👉 int
char
+ short
👉 int
+ int
👉 int
- 정수형 👉 실수형으로 형변환을 할 때는 정밀도가 더 높은 double 로 변환해주자.
3.14*radius*radius
에서 연산자는 *
String str = "JDK" + 3 + 3.0;
// 출력 결과 : JDK33.0
ex) 세수 중에서 가장 큰 값은?
int a = 10, b = 20, c = 30;
int result = ((a>b) ? a : b) > c) ? ((a>b) ? a : b) : c
while(조건식) {
// 조건식의 연산결과가 참(true)인 동안 반복될 문장들을 작성.
}
do {
// 조건식의 연산결과가 참일 때 수행될 문장들을 적는다. (처음 한 번은 무조건 실행)
} while(조건식);
for(초기화 ; 조건식 ; 증감식) {
System.out.println(num + " * " + i + " = " + num * i);
}
특정 조건을 만족하면 반복문을 벗어나도록 한다.
문제 1) 5와 7의 배수중에 첫번째 숫자는 ?
int num = 1;
boolean flag = false;
while(true) {
if(num % 5 == 0 && num % 7 == 0) {
flag = true;
break;
}else num++;
}
if(flag) System.out.println(num);
else System.out.println("5의 배수이자 7인 배수를 찾지 못했습니다.");
반복문 내에서만 사용될 수 있으며 반복이 진행되는 도중에 continue문을 만나면 반복문의 끝으로 이동하여 다음 반복으로 넘어간다.
StringBuilder sb = new StringBuilder();
int count = 0;
for(int i = 1; i <= 100; i++) {
if(i % 5 != 0 || i % 7 != 0) continue;
count++;
sb.append(i).append('\n');
}
sb.append("count : ").append(count);
System.out.println(sb);
i % 5 != 0 || i % 7 != 0 vs. num % 5 == 0 && num % 7 == 0
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
int[] score; // 배열을 선언
score = new int[5]; // 배열을 생성
배열이름.lenght
는 상수이다.public static void main(String[] args) {
int[] arr = new int[1000];
for (int i = 0; i < 1000; i++) {
arr[i] = i+1;
}
int result = Arrays.stream(arr).sum();
System.out.println("result = " + result);
}
public static void main(String[] args) {
int[] arr = new int[10];
int max = 0;
for (int i = 0; i < 10; i++) {
arr[i] = (int)(Math.random() * 100) + 1;
max = Math.max(max, arr[i]);
}
System.out.println("max = " + max);
}
public static void main(String[] args) {
int[] arr = new int[6];
for (int i = 0; i < 6; i++) {
arr[i] = (int)(Math.random() * 45) + 1;
for (int j = 0; j < i; j++) {
if (arr[i] == arr[j]) {
i--;
break;
}
}
}
for (int n : arr) {
System.out.println(n);
}
}