더 간결한 코드 작성을 하도록 고민해보고 논리적 사고를 할 수 있도록 노력하기
배열에 저장할 수 있는 전체 항목의 개수
배열 변수.length
로 배열 길이 읽을 수 있음.
읽기 전용 필드라 값 변경은 안 됨.
길이 0인 String 배열이 매개값이라 if문은 true로 반환
[Run] - [Run Configurations]
String 변수와 String[]을 동일하게 취급
== 연산자는 객체 번지 비교
equals() 메소드는 문자열 비교
배열 생성 후엔 크기 변경 x
-> 더 큰 배열 생성 후 이전 배열에서 항목 값을 복사 해야함.
for문
| System.arraycopy()
사용
배열 복수 후 빈 공간은 int 기본값 0으로 초기화
System.arraycopy(원본 배열, 원본 배열 복사 시작 인덱스, 새 배열, 새 배열 붙여넣을 시작 인덱스, 복사할 개수)
향상된 for문에서는 루프 카운터 변수, 증감식 사용 X
for(타입 저장할변수 : 배열)
배열에서 최대값 찾기
for문으로 최대값 구하는 방법 (답안지 ver.)
for(int i=0; i<array.length; i++) {
if(max < array[i] {
max = array[i];
}
}
for문으로 전체 합과 평균값 구하기
(double)
강제 타입 변환 잊으면 안 됨.어려웠던 부분
scores[0]
까지만 출력되고 else if문이 종료됨. -> scores[]이 null로 초기화 되어 있었기 때문에 새로운 배열 생성은 필수!if(selectNo == 1) {
System.out.print("학생수> ");
studentNum = Integer.parseInt(scanner.nextLine());
scores = new int[studentNum];
}
} else if(selectNo == 4) {
int max = 0;
int sum = 0;
double avg = 0;
for(int i=0; i<scores.length; i++) {
max = (max < scores[i]) ? scores[i] : max;
sum += scores[i];
}
avg = (double) sum/studentNum;
System.out.println("최고 점수: " + max);
System.out.println("평균 점수: " + avg);
}
`public enum 열거타입이름 {열거상수}
열거타입도 타입이라서 변수 선언 후 사용
-> 열거타입 변수;
열거타입변수 선언 후 열거상수 저장
-> 열거타입 변수 = 열거타입.열거상수;
* 열거상수는 열거객체로 생성됨
Calendar 변수 선언
Calendar.getInstance()로 Calendar 객체 얻기
Calendar now = Calendar.getInstance();
switch문에서 today에 열거 상수 대입