티스토리 뷰
class Student{
String name;
public Student(String name) {
this.name=name;
}
}
public class Array86 {
public static void main(String[] args) {
Student[] students = new Student[3];
students[1]=new Student("Richard");
students[2]=new Student("Donald");
for (Student s : students) {
System.out.println(""+s.name);
}
}
}
What is the result?
A. null
Richard
Donald
B. Richard
Donald
C. Compilation fails.
D. An ArrayIndexOutOfBoundsException is thrown at runtime.
E. A NullPointerException is thrown at runtime.
정답: E
결과:
Exception in thread "main" java.lang.NullPointerException
at Array86.main(Array86.java:14)
해설:
Student 배열의 0번째 배열에는 값이 없는데 접근하려고 하니 NullPointerException 에러가 발생한다.
객체 배열도 초기화가 필요하다. 초기화 없이 사용하려고 하면 NullPointerException 이 발생한다.
만약 0번째 요소에도 아래와 같이 값을 넣어주면
students[0]=new Student("Richard");
class Student{
String name;
public Student(String name) {
this.name=name;
}
}
public class Array86 {
public static void main(String[] args) {
Student[] students = new Student[3];
students[0]=new Student("Richard");
students[1]=new Student("Richard");
students[2]=new Student("Donald");
for (Student s : students) {
System.out.println(""+s.name);
}
}
}
결과:
Richard
Richard
Donald
이렇게 에러없이 출력될 것이다.
'ocajp 자격증 (Oracle Certified Associate Ja' 카테고리의 다른 글
자바 switch case (0) | 2020.03.02 |
---|---|
ocjap 문제 해설 - DoWhile 84 (0) | 2020.03.02 |
ocajp 문제 해설 - DoWhile 89 (0) | 2020.03.02 |
[java] ocajp 문제 풀이 - do while 67 (0) | 2020.03.01 |
자바 배열 초기화 (0) | 2020.03.01 |
- Total
- Today
- Yesterday
- 자바
- php
- 자바 smtp
- XE3
- MySQL
- 파싱
- xe애드온
- JDBC
- 프로씨
- XE
- 문자열
- 파이썬
- ocjap
- 스크래핑
- 인포믹스
- KG
- C
- 라이믹스 모듈
- esql
- webix
- EC
- C언어
- 오라클
- 플러터
- 이클립스
- Python
- xe addon
- 포인터
- proc
- ocajp
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |