30 câu hỏi
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Object other);
3: }
4: class Employee implement Comparable {
5: int compareTo(Object other) {
6: Employee other = (Employee) otherObject;
7: return 0;
8: }
9: }
Chương trình trên sai ở dòng nào?
1
2, 4
2, 4, 5
4, 5
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Object other);
3: }
4: class Employee implements Comparable {
5: public int compareTo(Object other) {
6: other = otherObject;
7: return 0;
8: }
9: }
Chương trình trên sai ở dòng nào?
2, 6
2, 4
5
6
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Employee other);
3: }
4: class Employee implements Comparable { // Giả định sửa lỗi cú pháp ở đây
5: public int compareTo(Employee other) {
6: return 0;
7: }
8: }
Chương trình trên sai ở dòng nào?
1
2, 4
5
Không sai ở dòng nào cả
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Employee other);
3: }
4: class Employee implements Comparable {
5: public int compareTo(Object other) {
6: return 0;
7: }
8: }
Chương trình trên sai ở dòng nào?
1
2, 4
5
8
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Employee other);
3: }
4: class Main {
5: x = new Comparable(Employee e);
6: System.out.print(x);
7: }
Chương trình trên sai ở dòng nào?
1
2, 4
5
8
Cho class như sau:
1: public interface Comparable {
2: int compareTo(Employee other);
3: }
4: class Main {
5: Comparable x;
6: x = new Employee();
7: System.out.print(x);
8: }
Chương trình trên sai ở dòng nào?
1
2, 4
5
Không sai ở dòng nào cả
Cho khối lệnh như sau:
class Employee {
private double luong = 0;
public Employee (double d) {
luong = d;
}
public void tangLuong(int s) {
luong += luong * s / 100;
}
public static void main(String[] args) {
Employee original = new Employee(50000);
Employee copy = original;
copy.tangLuong(10);
}
}
Khi chạy khối lệnh trên, luong của đối tượng original là bao nhiêu?
50000
55000
60000
57000
Cho khối lệnh như sau:
class Employee {
private double luong = 0;
public Employee (double d) {
luong = d;
}
public void tangLuong(int s) {
luong += luong * s / 100;
}
public static void main(String[] args) {
Employee original = new Employee(50000);
Employee copy = original;
copy.tangLuong(10);
}
}
Khi chạy khối lệnh trên, luong của đối tượng copy là bao nhiêu?
50000
55000
60000
57000
Cho khối lệnh như sau:
class Employee {
private double luong = 0;
// Constructor và các phương thức khác bị thiếu hoặc sai
public void tangLuong(int s) { // Giả sử phương thức đúng
luong += luong * s / 100;
}
public static void main(String[] args) {
// Lỗi khởi tạo new Employee(“John Public”,50000);
Employee original = new Employee(50000); // Giả sử khởi tạo đúng
Employee copy = original;
original.tangLuong(10);
}
}
Khi chạy khối lệnh trên, luong của đối tượng copy là bao nhiêu?
50000
55000
60000
Lệnh sai
Khi thực hiện khối lệnh sẽ cho kết quả là bao nhiêu?
int i=0; do { i += 1; } while (i == 0); System.out.println(“i = “ + i);
i = 0
i = 1
i = 2
Tất cả đều sai.
Khi a=3 thực hiện khối lệnh sẽ cho kết quả của i là bao nhiêu?
int i=1; int s=1; for(i=1;i<=a;i++) s=s*i;
</=a;i++)>
i = 2
i = 3
i = 4
Tất cả đều sai.
Cho khối lệnh sau:
int s = 0; for (int i = 0; i <= 10; i++) s += i;
Sau khi chạy khối lệnh s = ?
</=>
0
55
45
50
Cho đoạn mã sau kết quả hiển thị sẽ là:
int n=12,k=2;
while(k<=n){ // Giả sử điều kiện là k<=n để tránh lặp vô hạn
for(k=2;k<=n;k++)
if(n%k==0){
break;
}
System.out.print(k + " ");
n=n/k;
}
</=n;k++)</=n){>
2 2 3
3 2 2
6
2 3 6
Cho biết kết quả khi thi hành đoạn chương trình sau:
1: public class Short {
2: public static void main(String[] args ){
3: String s="Hello";
4: if(s.length ()>5)
5: ;//do nothing
6: else // Thêm else để code có logic
7: System.out.print("value is " + s);
8: }
9: }
value is Hello
Lỗi biên dịch tại dòng 4 và 5
Lỗi biên dịch tại dòng 1
Thông báo NullPointerException
Cho biết kết quả khi thi hành đoạn chương trình sau:
1: public class Short {
2: public static void main(String[] args ){ 3: String s=“Hello”;
4: if(s.length ()>5)
5: ;//do nothing
6: System.out.print(“value is”+ s); 7: }
8:}
value is Hello
Lỗi biên dịch tại dòng 4 và 5
Lỗi biên dịch tại dòng 1
Thông báo NullPointerException
Cho khối lệnh như sau, kết quả in ra màn hình sẽ là:
int k,n; for(k=1;k<10;k++) if((k%3==0)||(k%7==0)) System.out.print(k + "\t");
</10;k++)>
21
3 và 7
3 6 7 9
Không in ra gì cả
Cho khối lệnh như sau, kết quả in ra màn hình sẽ là:
int k,n; for(k=1;k<10;k++) if((k%3==0)&&(k%7==0)) System.out.print(k + " ");
</10;k++)>
21
3 7
3 6 7 9 12 14 15 18 21 24 27 28
Không in ra gì cả
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
int s,i;
for(i=1;i<=3;i++) {
s=s+i;
s=0;
}
System.out.print("s="+s);
</=3;i++)>
s=0
s=1
s=3
Lỗi biên dịch
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
int s=0,i;
for(i=1;i<=3;i++) {
s=s+i;
s=0; // s bị reset về 0 trong mỗi vòng lặp
}
System.out.print("s="+s);
</=3;i++)>
s=0
s=1
s=3
s=6
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
int i;
float p;
p=1;
for(i=1;i<3;i++) {
p=p*i;
p=p*p;
}
System.out.print("p="+p);
</3;i++)>
p=6
p=4
p=124
p=144
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
int [] a;
int s=0,i;
a=new int[3];
a[0]=1;
a[1]=2;
a[2]=5;
for(i=0;i<3;i++)
s=s+a[i];
System.out.print("s="+s);
</3;i++)>
Lỗi biên dịch
s=8
s=7
s=5
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
int [] a; int s,i;
a=new int[3];
a[0]=1;
a[1]=2;
a[2]=5;
for(i=0;i<3;i++) // Lỗi cú pháp i++
s=s+a[i];
System.out.print("s="+s);
</3;i++)>
Lỗi biên dịch
s=8
s=7
s=5
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class JavaAppClass {
public static int sum() {
int sum = 0, pt = 5;
for (int i = 0; i < pt; i++)
sum+=pt;
// sum; // Lệnh này sai cú pháp, phải là return sum;
}
public static void main(String[] args) {
System.out.print(JavaAppClass.sum());
}
}
</>
Lỗi biên dịch
25
5
15
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class StatInit {
static int x = 6,y;
static {
for (int i = 0; i < 6; i++)
y += x;
}
public static void main(String[] args) {
System.out.print(x);
}
}
</>
Lỗi biên dịch
6
36
18
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
public class StatInit {
static int x = 6,y;
static {
for (int i = 0; i < 6; i++)
y += x;
}
public static void main(String[] args) {
System.out.print(y);
}
}
</>
Lỗi biên dịch
6
36
18
Ưu điểm của nested class là gì?
Cho phép nhóm logic các class
Tăng tính đóng kín
Dễ sửa, thay đổi code
Tất cả các tính chất trên
Xác định câu đúng?
Một package không thể có package con
package có thể có 2 thành viên trùng tên
Tên của package phải viết chữ thường
Nếu một class hoặc interface được nhóm trong package, khi tham chiếu chúng, không cần phải sử dụng tên đầy đủ hợp lệ của chúng.
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
class Employee{
public int id;
public Employee() {
id = 1;
}
}
public class Accountant {
public static void main(String[] args) {
System.out.print(new Employee().id);
}
}
0
1
20
Lỗi biên dịch
Khi chạy đoạn chương trình sau cho kết quả bằng bao nhiêu?
class Employee{
private int id;
public Employee() {
id = 1;
}
}
public class Accountant {
public static void main(String[] args) {
System.out.print(new Employee().id);
}
}
0
1
20
Lỗi biên dịch
Xác định câu SAI?
Khi khai báo thành viên, quyền private không thể sử dụng với abstract, nhưng có thể sử dụng với static và final
Không thể khai báo lặp từ khoá truy cập trong cùng 1 khai báo
Constructor khi khai báo private không thể truy cập được trong class tạo ra nó
Constructor khi khai báo protected có thể được truy cập trong lớp tạo ra nó và trong các lớp thừa kế
