상수와 형변환 (Casting)
상수의 표기법
•
앞에 키워드 final이 붙음
•
상수명은 반드시 모두 대문자로 이루어지며, 스네이크 표기법을 사용
표기법
final 자료형 변수명 = 값;
Java
복사
리터럴의 개념
int num = 10;
Java
복사
•
위의 코드에서 num은 변수명, 10은 리터럴
•
글자 그대로 의미가 있고 변하지 않는 데이터
•
상수라는 표현으로 대신 해도 좋음
형변환 (Casting)
형변환이란?
•
컴퓨터가 이해할 수 있도록 연산시 데이터 타입을 맞추어야 함
•
두 피연산자의 자료형이 동일해야 연산이 가능
•
두 피연산자의 자료형이 다른 경우 두 개의 자료형 중 하나의 자료형으로 자동으로 맞추어 연산을 진행
형변환
형변환의 유형
반복문
while과 do while의 차이
•
while문은 조건식을 만족하지 못하면 한 번도 실행되지 않을 수 있음
•
do while문은 무조건 한 번은 실행됨 (한 번 실행 후 조건문 체크)
20220921 과제
(1~100사이의 숫자를 랜덤으로 정한 후, 10번 시도 내에 숫자를 맞추면 “축하합니다.” 아니면
“실패했습니다.” 출력)
배열
로또 프로그램
•
내가 작성한 코드
import java.util.Arrays;
public class Lotto {
public static void main(String[] args) {
int[] lotto = new int[6];
boolean[] check = new boolean[46]; // 1~45까지 체크 (0인덱스는 이용X)
for (int i = 0; i < lotto.length; i++) {
int num = (int) (Math.random() * 45) + 1;
if (!check[num]) { // 이전에 나오지 않은 수라면
lotto[i] = num; // 로또 번호 배열에 담기
check[num] = true; // 이미 나온 숫자임을 체크
}
}
// 로또 번호 배열 출력
System.out.println(Arrays.toString(lotto));
}
}
Java
복사
•
강사님이 작성해주신 코드 (권장)
import java.util.Arrays;
public class Lotto {
public static void main(String[] args) {
int[] arrLotto = new int[6];
for (int i = 0; i < arrLotto.length; i++) {
arrLotto[i] = (int)(Math.random() * 45) + 1;
for (int j = 0; j < i; j++) {
if(arrLotto[i] == arrLotto[j]) {
i--;
}
}
}
System.out.println(Arrays.toString(arrLotto));
}
}
Java
복사