Assignment Help logo
Trò Chuyện Trực Tuyến

Loading...

Score %0 (0 correct0 incorrect20 unanswered)

Câu 1. Cho chuỗi "strawberries" được lưu trong biến gọi là fruit, fruit.substring(2, 5) sẽ trả về gì?

  • rawb
  • raw
  • awb
  • traw

Lý do: Phương thức substring chấp nhận hai đối số.

  • Đối số đầu tiên là chỉ mục bắt đầu (bao gồm ký tự tại vị trí 2)
  • và đối số thứ hai là chỉ mục của chuỗi để kết thúc chuỗi con (không bao gồm ký tự tại vị trí 5).
  • Chuỗi trong Java giống như mảng các ký tự.
  • Do đó, phương thức sẽ trả về "raw" vì đó là các ký tự ở chỉ mục 2, 3 và 4.
  • Bạn cũng có thể lấy chỉ mục kết thúc và trừ đi chỉ mục bắt đầu từ nó, để xác định có bao nhiêu ký tự sẽ được bao gồm trong chuỗi con (5-2 = 3).

Câu 2. Làm thế nào để đạt được đa hình tại thời gian chạy trong Java?

  • quá tải phương thức
  • quá tải phương thức
  • ghi đè phương thức
  • gọi phương thức

Câu 3. Cho các định nghĩa sau đây, biểu thức nào DƯỚI ĐÂY KHÔNG đánh giá là đúng?

boolean b1 = true, b2 = false; int i1 = 1, i2 = 2;

  • (i1 | i2) == 3
  • i2 && b1
  • b1 || !b2
  • (i1 ^ i2) < 4

Lý do: i2 && b1 không được phép giữa int và boolean.

Câu 4. Đầu ra của đoạn mã này là gì?

class Main {
  public static void main (String[] args) {
    int array[] = {1, 2, 3, 4};
    for (int i = 0; i < array.size(); i++) {
       System.out.print(array[i]);
    }
  }
}
  • Nó sẽ không biên dịch được vì dòng 4.
  • Nó sẽ không biên dịch được vì dòng 3.
  • 123
  • 1234

Lý do: array.size() không hợp lệ, để có được kích thước hoặc độ dài của mảng, array.length có thể được sử dụng.

Câu 5. Đoạn mã sau có thể thay thế CODE SNIPPET để làm cho đoạn mã in ra "Hello World"?

interface Interface1 {
    static void print() {
        System.out.print("Hello");
    }
}

interface Interface2 {
    static void print() {
        System.out.print("World!");
    }
}
  • super1.print(); super2.print();
  • this.print();
  • super.print();
  • Interface1.print(); Interface2.print();

Tham khảo

Câu 6. Đoạn mã sau in ra gì?

String str = "abcde";
str.trim();
str.toUpperCase();
str.substring(3, 4);
System.out.println(str);
  • CD
  • CDE
  • D
  • "abcde"

Lý do: Bạn nên gán kết quả của trim lại cho biến String. Nếu không, nó sẽ không hoạt động, vì chuỗi trong Java là không thay đổi.

Câu 7. Kết quả của đoạn mã này là gì?

class Main {
    public static void main (String[] args){
        System.out.println(print(1));
    }
    static Exception print(int i){
        if (i>0) {
            return new Exception();
        } else {
            throw new RuntimeException();
        }
    }
}
  • Nó sẽ hiển thị một stack trace với một ngoại lệ thời gian chạy.
  • "java.lang.Exception"
  • Nó sẽ chạy và ném một ngoại lệ.
  • Nó sẽ không biên dịch.

Câu 8. Lớp nào có thể biên dịch với các khai báo sau?

interface One {
    default void method() {
        System.out.println("One");
    }
}

interface Two {
    default void method () {
        System.out.println("One");
    }
}
  • A
class Three implements One, Two {
    public void method() {
        super.One.method();
    }
}
  • B
class Three implements One, Two {
    public void method() {
        One.method();
    }
}
  • C
class Three implements One, Two {
}
  • D
class Three implements One, Two {
    public void method() {
        One.super.method();
    }
}

Câu 9. Đầu ra của đoạn mã này là gì?

class Main {
    public static void main (String[] args) {
        List list = new ArrayList();
        list.add("hello");
        list.add(2);
        System.out.print(list.get(0) instanceof Object);
        System.out.print(list.get(1) instanceof Integer);
    }
}
  • Đoạn mã không biên dịch.
  • truefalse
  • truetrue
  • falsetrue

Câu 10. Cho hai lớp sau, đầu ra của lớp Main sẽ là gì?

package mypackage;
public class Math {
    public static int

 abs(int num){
        return num < 0 ? -num : num;
    }
}
package mypackage.elementary;
public class Math {
    public static int abs (int num) {
        return -num;
    }
}
import mypackage.Math;
import mypackage.elementary.*;

class Main {
    public static void main (String args[]){
        System.out.println(Math.abs(123));
    }
}
  • Các dòng 1 và 2 tạo ra lỗi biên dịch do xung đột tên lớp.
  • "-123"
  • Nó sẽ ném một ngoại lệ ở dòng 5.
  • "123"

Giải thích: Câu trả lời là "123". Phương thức abs() được đánh giá là phương thức trong lớp mypackage.Math, vì các câu lệnh import có dạng:

import packageName.subPackage.*

Khai Báo Import-theo-Loại Trên Yêu Cầu, mà không bao giờ gây ra bất kỳ khai báo nào khác bị ẩn.

Câu 11. Kết quả của đoạn mã này là gì?

class MainClass {
    final String message() {
        return "Hello!";
    }
}

class Main extends MainClass {
    public static void main(String[] args) {
        System.out.println(message());
    }

     String message() {
         return "World!";
     }
 }
  • Nó sẽ không biên dịch được vì dòng 10.
  • "Hello!"
  • Nó sẽ không biên dịch được vì dòng 2.
  • "World!"

Giải thích: Lỗi biên dịch ở dòng 10 do phương thức final không thể được ghi đè, và ở đây message() là một phương thức final, và cũng lưu ý rằng Phương thức không tĩnh message() không thể được tham chiếu từ một ngữ cảnh tĩnh.

Câu 12. Chọn lệnh nào sẽ in ra "2" cho đoạn mã sau?

class Main {
    public static void main(String[] args) {
        System.out.println(args[2]);
    }
}
  • java Main 1 2 "3 4" 5
  • java Main 1 "2" "2" 5
  • java Main.class 1 "2" 2 5
  • java Main 1 "2" "3 4" 5

Câu 13. Đoạn mã này in ra gì?

class Main {
    public static void main(String[] args){
        int a = 123451234512345;
        System.out.println(a);
    }
}
  • "123451234512345"
  • Không gì cả - nó sẽ không biên dịch.
  • một giá trị số nguyên âm
  • "12345100000"

Lý do: Kiểu int trong Java có thể được sử dụng để biểu diễn bất kỳ số nguyên nào từ -2147483648 đến 2147483647. Do đó, đoạn mã này sẽ không biên dịch vì số được gán cho 'a' lớn hơn kiểu int có thể lưu trữ.

Câu 14. Đoạn mã này in ra gì?

class Main {
    public static void main (String[] args) {
        String message = "Hello world!";
        String newMessage = message.substring(6, 12)
            + message.substring(12, 6);
        System.out.println(newMessage);
    }
}
  • Đoạn mã không biên dịch.
  • Một ngoại lệ thời gian chạy được ném.
  • "world!!world"
  • "world!world!"

Câu 15. Làm thế nào để viết vòng lặp for-each để lặp qua ArrayList<Pencil>pencilCase?

  • for (Pencil pencil : pencilCase) {}
  • for (pencilCase.next()) {}
  • for (Pencil pencil : pencilCase.iterator()) {}
  • for (pencil in pencilCase) {}

Câu 16. Đoạn mã này in ra gì?

System.out.print("apple".compareTo("banana"));
  • 0
  • số dương
  • số âm
  • lỗi biên dịch

Câu 17. Bạn có một ArrayList chứa tên mà bạn muốn sắp xếp theo thứ tự bảng chữ cái. Phương pháp nào KHÔNG hoạt động?

  • names.sort(Comparator.comparing(String::toString))
  • Collections.sort(names)
  • names.sort(List.DESCENDING)
  • names.stream().sorted((s1, s2) -> s1.compareTo(s2)).collect(Collectors.toList())

Tham khảo

Câu 18. Bằng cách thực hiện đóng gói, bạn không thể truy cập trực tiếp các thuộc tính _ của lớp trừ khi bạn viết mã trong lớp đó.

  • private
  • protected
  • không có từ khóa
  • public

Câu 19. Cách nào là cách mới nhất để khởi tạo ngày hiện tại?

  • new SimpleDateFormat("yyyy-MM-dd").format(new Date())
  • new Date(System.currentTimeMillis())
  • LocalDate.now()
  • Calendar.getInstance().getTime()

Giải thích: LocalDate là lớp mới

nhất được thêm vào trong Java 8

Câu 20. Điền vào chỗ trống để tạo ra một đoạn mã sẽ cho biết liệu int0 có chia hết cho 5 không:

boolean isDivisibleBy5 = _____

  • int0 / 5 ? true: false
  • int0 % 5 == 0
  • int0 % 5 != 5
  • Math.isDivisible(int0, 5)