>Java >java지도 시간 >시험에서는 어떤 유형이나 형식의 질문을 기대할 수 있나요? (OCA Java SE 프로그래머 I 자격증)

시험에서는 어떤 유형이나 형식의 질문을 기대할 수 있나요? (OCA Java SE 프로그래머 I 자격증)

Linda Hamilton
Linda Hamilton원래의
2025-01-10 22:03:46267검색

OCA Java SE8 프로그래머 I 자격증은 OCP 시험을 치르기 전 가장 먼저 갖춰야 할 필수 자격증입니다. OCP를 치르기 전에 먼저 OCA에 응시해야 합니다. 초보자에게는 질문이 까다로울 수 있습니다. 당신은 Javascript의 세계에서 왔으며 Java에 대해 전혀 모릅니다. 이 게시물에서 다루었습니다.

여기에서는 시험에 응시하려는 분들에게 도움이 되고자 OCA 시험에서 출제될 수 있는 몇 가지 까다로운 질문에 대해 논의하고 싶습니다. 까다롭다고 생각되는 질문을 댓글로 공유하는 것을 잊지 마세요. 서로 도와주세요.

이것은 제가 대부분의 과거 브레인 덤프에서 항상 보았던 것입니다.
질문 유형 1 간단한 코드가 포함되어 있지만 까다롭거나 혼란스러운 답변 옵션이 포함되어 있습니다.
What are the types or formats of questions can I expect in the exam?? (OCA Java SE rogrammer I Certification)

코드 예시는 다음과 같습니다.

class JavaCertQType1 {
    public static void main(String... cmd) {
        main("private", cmd);
    }
    private static void main(String type, String[] args) {
        System.out.println(args[0] + args[1]);
    }
}

QSN -> 다음 명령을 사용하여 JavaCertQType1 클래스를 실행할 때 출력은 무엇입니까(1개의 옵션 선택):

java JavaCertQType1 1 11 EJava 전문가

  • 1
  • 1 11
  • 111
  • 12
  • 1 11 EJava 전문가
  • 컴파일 오류
  • 런타임 예외

답변을 확인하기도 전에 정답을 맞히신 분들은 몇 명이나 되나요?
올바르게 확인하면 기본 메소드가 오버로드되어 Java에서는 완전히 문제가 없음을 알 수 있습니다. Java의 기본 메소드는 비공개일 수 있지만 Java ClassName 명령을 사용하여 클래스를 직접 실행하려고 하면 프로그램 실행의 진입점 역할을 하지 않습니다.

네, 이거 익숙하시죠
public static void main(String[] args) 하지만 이것은

private static void main(String[] args)도 허용됩니다.

이제 답을 알아봅시다

111

설명은 이렇습니다
4개의 명령줄 인수가 표시됩니다. 1 11 EJava Guru. 이러한 인수는 {"1", "11", "EJava", "Guru"}를 포함하는 배열 cmd로 main(String... cmd) 메소드에 전달됩니다. 오버로드된 기본 메서드는 인쇄 메서드를 실행합니다. 인덱스 0에서 인수를 읽으므로 args[0]은 "1"이고 args[1]은 "11"입니다.
왜 우리가 111을 답으로 선택하지 않았는지 궁금할 것입니다. 그 이유는 Java에서는 프로그램 실행 중에 전달되는 명령줄 인수가 항상 문자열로 처리되기 때문입니다.
이는 문자열이므로 연산자는 문자열 연결을 수행합니다

"1" "11"

답은

111.
프라이빗 메인 메소드를 제거하고 여전히 메인 메소드라고 불렀다면 무슨 일이 일어났을까요??

class JavaCertQType1 {
    public static void main(String... cmd) {
        main("private", cmd); // Calls the overloaded private main method
    }
}

실행 명령:

java JavaCertQType1 1 11 EJava 전문가

JVM은 프로그램을 시작하기 위해 public static void main(String... cmd) 메소드를 찾습니다. 퍼블릭 메인 메소드 내부의 코드가 main이라는 또 다른 메소드를 호출하는 것을 보면 오버로드된 메인 메소드를 찾으려 했으나 찾지 못했을 것입니다. 일치하는 서명이 없으므로 컴파일에 실패하여

컴파일 오류

주의
기본 메소드는 비공개일 수 있지만 JVM에 의한 프로그램 실행을 위한 진입점 역할을 할 수는 없습니다. 메소드 오버로딩이나 내부 로직에 유용하지만 다른 메소드(예: 공개 메인)에 의해 호출되어야 합니다

제 글을 읽어주셔서 감사합니다. 더 까다로운 질문도 댓글로 공유해 주시는 것을 잊지 마세요. 여기로 가져와서 토론해 보세요.

위 내용은 시험에서는 어떤 유형이나 형식의 질문을 기대할 수 있나요? (OCA Java SE 프로그래머 I 자격증)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.