java 기초 지식 포인트 정리
7952 단어 java 정리
1)==기본 데이터 형식을 비교하는 데 사용되며 인용 데이터 형식에서 사용할 때 주소 값의 예를 비교한다. 다음 프로그램의 실행 결과는 ()Stringstr1="hello"이다.String str2 = “he” + new String(“llo”); System.err.println(str1 == str2);
A hello B he C true D false
답:false 해석:str2의 llo는 새로 신청한 메모리 블록이고 ==는 대상의 주소가 값이 아니라 대상의 주소로 판단되기 때문에 다르다.String str2 = str1이면 true입니다.
메서드
1) 일반 클래스의 방법 이름은 클래스 이름과 일치할 수 있다. 구조 함수와 유일한 차이점은 구조 함수에 되돌아오는 값 형식이 없다는 것이다. 일반 방법에는 되돌아오는 값 형식이 있다. 다음은 () A.class의 constructor가 있는 것이 정확하다. B.constructor는 반드시 클래스와 이름이 같아야 한다.그러나 방법은class와 같은 이름이 될 수 없습니다. C.constructor는 대상이 new에 있을 때 실행됩니다. D. 하나의class는constructor만 정의할 수 있습니다.
답: C해석: 여기에 오류가 있을 수 있습니다. 사실 일반적인 클래스 방법은 클래스 이름과 동명일 수 있습니다. 구조 방법과 유일한 구분은 구조 방법이 되돌아오는 값이 없다는 것입니다.
2) 매개 변수 전달과 수정은 대상, 기본 유형이든 대상 수조든 기본 유형 수조든 함수에서 실제 주소를 바꿀 수 없지만 그 내용을 바꿀 수 있다
예: 다음 프로그램의 실행 결과는 다음과 같습니다.
public class Example {
String str = new String("good");
char[] ch = { 'a', 'b', 'c' };
public static void main(String args[]) {
Example ex = new Example();
ex.change(ex.str, ex.ch);
System.out.print(ex.str + " and ");
System.out.print(ex.ch);
}
public void change(String str, char ch[]) {
str = "test ok";
ch[0] = 'g';
}
}
A、 good and abc B、 good and gbc C、 test ok and abc D、 test ok and gbc
switch 문
1) switch 문장: 케이스 문장 뒤에 브레이크가 없으면 계속 아래로 실행됩니다.예: 다음 방법은 입력이 2일 때public static igetValue(int i) {int result = 0; switch(i) {case 1: result = result + i;case 2: result = result + i * 2;case 3: result = result + i * 3;case 3: result = result + i * 3;}return result; } A 0 B 2 C 4 D 10
답: D 해석: 여기 케이스 뒤에 브레이크가 없어서 케이스 2부터 계속 내려갑니다.
라인
Thread 클래스에서 start () 방법과run () 방법의 사용 차이: start () 는 하나의 라인을 시작하는 데 사용되며, start 방법을 호출한 후에야 시스템이 새로운 라인을 열고 런 () 방법을 호출하여 임무를 수행하지만, 단독으로run () 방법을 호출하는 것은 사실 일반적인 방법과 마찬가지로 순서대로 실행되며 단독으로 라인을 개척하지 않아 라인의 특성을 잃게 된다.따라서 한 라인을 시작할 때 run () 대신 start () 를 사용해야 합니다.예: 다음 프로그램의 실행 결과: ()
public static void main(String args[]) {
Thread t = new Thread() {
public void run() {
pong();
}
};
t.run();
System.out.print("ping");
}
static void pong() {
System.out.print("pong");
}
A pingpong B pongping C pingpong 과 pongping 모두 D 가 출력되지 않을 수 있습니다.
답: B해석: Thread 클래스에서 start()와run() 방법의 차이를 시험해 봤습니다.start () 는 하나의 라인을 시작하는 데 사용되며, start 방법을 호출한 후에야 시스템이 새로운 라인을 열고, 더 나아가run () 방법을 호출하여 작업을 수행할 수 있으며, 단독으로run () 방법을 호출하는 것은 일반적인 방법을 호출하는 것과 같아서, 라인의 특성을 잃었습니다.
이음매
1) 인터페이스 및 인터페이스에 대한 수정자
4
4
4
4
4
예: Java 인터페이스의 수정자는 ()
A private B protected C final D abstract
정답
컬렉션
1) ArrayList 확장 문제 ArrayList의 기본 길이는 10개이지만 선언할 때 길이를 지정하면 확장이 필요 없이 한 번에 지정된 길이를 생성합니다.예: ArrayList list = new ArrayList(20);중의list 몇 번 확장()
A 0 B 1 C 2 D 3
답: A 해석: 여기는 좀 헷갈려요. 기본 Array List의 길이가 10개인 걸 다들 아시기 때문에 리스트에 20개의 요소를 추가하려면 한 번(원래의 1.5배로 확대해야 한다) 확충해야 해요. 그런데 여기에 얼마나 많은 공간이 필요한지 알려주니까 한 번에 이렇게 많은 공간을 분배해 드릴게요. 즉, 확충할 필요가 없어요.
유난히
1) 이상try......catch 문장 블록의 실행 순서가 여러 개의catch 문장이 있을 때 맨 앞의catch 문장 블록에서 이상 유형의 매칭을 순서대로 진행한다. 하나만 매칭하고 위에서 아래로 순서대로 매칭한 후에 후속 매칭은 다시 실행되지 않는다.만약에 부류 이상이 부류 이상 앞에 있을 때 가장 먼저 일치하는 것이 부류 이상이고 부류 이상은 일치하지 않고 실행되지 않는다.그래서 코드를 쓸 때 부류 이상 Exception은 보통catch 문장 블록의 마지막 부분에 놓여 있다.예: getCustomerInfo () 방법은 다음과 같다.try에서 세 가지 종류의 이상을 포착할 수 있는데, 이 방법이 실행 중 IOException이 발생하면 어떤 결과를 출력할 것인가 ()
public void getCustomerInfo() {
try {
// do something that may cause an Exception
} catch (java.io.FileNotFoundException ex) {
System.out.print("FileNotFoundException!");
} catch (java.io.IOException ex) {
System.out.print("IOException!");
} catch (java.lang.Exception ex) {
System.out.print("Exception!");
}
}
A IOException! B IOException!Exception! C FileNotFoundException!IOException! D FileNotFoundException!IOException!Exception!
답: A 해석: 여러 개의catch 문장 블록의 집행 순서를 고찰한다.여러 개의catch문장을 사용할 때catch문장 블록은 순서에 있어서 선후의 구분이 있다.맨 앞의catch 문장 블록에서 순서대로 이상 유형 매칭을 진행한다. 그러면 아버지 이상이 하위 이상 클래스 앞에 있으면 우선 아버지 이상 클래스가 매칭되고 하위 이상 클래스는 매칭할 기회를 얻지 못한다. 즉, 하위 이상 유형이 있는catch 문장 블록은 도달할 수 없는 문장이다.그래서 보통 부류 이상 클래스인 Exception 맏형을catch 문장 블록의 마지막 하나에 놓는다.
2) 컴파일 시 예외: 변수가 초기화되지 않았을 때 출력할 수 없습니다.Java에 정의된 모든 기본 유형이나 객체는 값을 출력하기 위해 초기화되어야 합니다. 그렇지 않으면 컴파일 시 예외가 발생합니다.예: 다음 코드의 실행 결과는 다음과 같습니다. ()
import java.io.*;
import java.util.*;
public class foo{
public static void main (String[] args){
String s;
System.out.println("s=" + s);
}
}
A 코드는 컴파일되고 's='B 코드는 컴파일되며' s=null 'C는 Strings가 초기화되지 않았기 때문에 코드는 컴파일할 수 없습니다. D 코드를 통해 컴파일할 수 없지만, NullPointException 이상이 포착되었습니다.
정답: C