Trắc nghiệm J++

Trắc nghiệm J++ Câu: 1 Chương trình in ra kết quả nào? class lop1 { int x,y,s; void tong() { s=x+y; } } class lop2 { public static void main(String[] args) { lop1 m=new lop1(); //CáI này bị sai, phảI là Class1 m.x=1; m.y=2; m.tong(); System.out.println(“s=”+s); } } A) Đúng hoàn toàn B) Sai nằm trong lop1 và lop2 C) Sai ở lop2 D) Sai ở lop1

doc12 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2009 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Trắc nghiệm J++, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Trắc nghiệm J++ C©u: 1 Ch­¬ng tr×nh in ra kÕt qu¶ nµo? class lop1 { int x,y,s; void tong() { s=x+y; } } class lop2 { public static void main(String[] args) { lop1 m=new lop1(); //C¸I nµy bÞ sai, ph¶I lµ Class1 m.x=1; m.y=2; m.tong(); System.out.println(“s=”+s); } } A) §óng hoµn toµn B) Sai n»m trong lop1 vµ lop2 C) Sai ë lop2 D) Sai ë lop1 C©u: 2 Ch­¬ng tr×nh in ra kÕt qu¶ nµo? public class MangXau { public static void main(String[] args) { String[] chr; int i; chr=new String[3]; chr[0]=”Hom nay la thu hai”; chr[1]=”Hom nay la thu ba”; chr[2]=”Hom nay la chu nhat”; for(i=0;i<3;i++) System.out.println(chr[2]); } } A) M¸y b¸o lçi B) Hom nay la chu nhat C) Kh«ng b¸o g× c¶ D) Hom nay la thu ba E) Hom nay la thu hai C©u: 3 Visual J++ lµ mét phÇn cña..................... A) Microsoft Visual Studio B) Java Development Kit C) Windows NT D) Microsoft Office Professional C©u: 4 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhTong { public static void main(string[] args) { int s=0,i=1; while i<=3 { s=s+i; i=i+1; } System.out.println(“s=”+s); } } A) M¸y b¸o lçi B) s=4 C) s=0 D) s=3 E) s=6 C©u: 5 Ch­¬ng tr×nh in ra kÕt qu¶ nµo? public class TinhToan { public static void main(String[] args) { int tong,tich; TinhTong(); TinhTich(); System.out.println(“tong=”+tong); System.out.println(“tich=”+tich); } public static void TinhTong() { int s=0,i; for(i=1;i<=100;i++) s+=i; tong=s; } public static void TinhTich() { int p=1,i; for(i=1;i<=10;i++) p+=i; tich=p; } } A) C©u sai n»m trong hµm TinhTich() B) §óng hoµn toµn C) C©u sai n»m trong hµm TinhTong() D) C©u sai n»m trong hµm main C©u: 6 Giao diÖn ng­êi dïng cña Visual J++ ®­îc chia sÎ víi Visual InterDev gäi lµ Application Programming Interface (API) API (Application Programming Interface) An interface for letting a program communicate with another program. In web terms: An interface for letting web browsers or web servers communicate with other programs. (See also Active-X and Plug-In) B) Project Explorer Intergrated Development Environment (IDE) Many people learn to program using a simple text editor, but eventually most end up using an integrated development environment (IDE) for building applications. An IDE is a set of tools that aids application development D) Microsoft Visual Studio C©u: 7 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhTong { public static void main(string[] args) { int s=0,i=1; While(i<=3) { s=s+i; i=i+1; } System.out.println(“s=”+s); } } A) s=1; B) s=4 C) s=3; D) s=6; E) M¸y b¸o lçi C©u: 8 Ngµy ®­îc cÊu t¹o víi Date day = new Date(103,1,2); lµ To print today's date: System.out.println("today = " + new Date()); To find out the day of the week for some particular date, for example, January 16, 1963: new Date(63, 0, 16).getDay() A) February 2, 2003 B) January 2, 2003 C) January 1, 2003 D) February 1, 2003 C©u: 9 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TongMang { public static void main(String[] args) { int[] a; int s,i; a[0]=1; a[1]=2; a[2]=5; for(i=0;i<3;i++) s=s+a[i]; System.out.println(“s=”+s); } } A) s=0 B) M¸y b¸o lçi (cu.c ky` chuoi’) C) Kh«ng b¸o g× c¶ D) s=8 E) s=4 C©u: 10 Ch­¬ng tr×nh in ra (sai) kÕt qu¶ nµo ( o do`ng nao)? (hieu chet lien) 1:public class HaiMethod { 2: public static void main(String[] args) { 3: Ten; } 4: public static void Ten() { 5: System.out.println(“Ten toi la Nguyen Trung Truc”); } a[2] [0]=5; (dong nay cung sai) WTF??? } A) Dßng 3 B) Dßng 1 C) Dßng 2 D) Dßng 4 E) §óng hoµn toµn C©u: 11 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class MangXau { public static void main(String[] args) { String[] chr; int i; chr[0]=”Hom nay la thu hai”; chr[1]=”Hom nay la thu ba”; chr[2]=”Hom nay la chu nhat”; for(i=0;i<3;i++) System.out.println(chr[2]); } } A) Kh«ng b¸o g× c¶ B) H«m nay lµ thø ba C) H«m nay lµ chñ nhËt D) H«m nay lµ thø hai E) M¸y b¸o lçi C©u: 12 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhTong { public static void main(string[] args) { int s=0,i=1; while (i>=1) { s=s+i; i=i+1; } System.out.println(“s=”+s); } } // Chç nµy lµ vßng lÆp v« h¹n, m¸y sÏ cho ra kÕt qu¶ s=-1073741824. Ko cã ph­¬ng ¸n nµo nªu ë d­íi A) s=6 B) s=4 C) s=3 D) Kh«ng b¸o g× c¶ E) M¸y b¸o lçi C©u: 13 Ch­¬ng tr×nh in ra kÕt qu¶ nµo? public class TongMangHaiChieu { public static void main(String[] args) { int a[][]; int s,i,j; a[0] [0]=1; a[0] [1]=2; a[1] [0]=3; a[1] [1]=4; a[2] [0]=5; a[2] [1]=6; s=0; for(i=0;i<3;i++) for(j=0;j<2;j++) s=s+a[i][j]; System.out.println(“s=”+s); } } A) M¸y b¸o lçi B) s=21 C) s=15 D) Kh«ng b¸o g× c¶ E) s=8 C©u: 14 Visual J++ project ®­îc chøa bªn trong mét A) cöa sæ B) project folder C) Visual J++ session D) solution C©u: 15 T×m dßng sai trong ®o¹n m· sau: 1:public class ChaoBan 2:{ 3: public static void main(String[] args) 4: { 5: System.Out.println(“”Chµo b¹n ®· ®Õn víi Java””); 6: } 7:} A) Dßng 3 B) §óng hoµn toµn C) Dßng 5 (Out viÕt hoa, 2 dÊu “) D) Dßng 1 C©u: 16 Mét constructor (hµm dùng) //Mét vµi l­u ý ®èi víi c¸c hµm dùng (constructors): - Tªn cña (c¸c) constructors cña mét líp ph¶i trïng tªn líp ®ã. - Constructor còng nh­ c¸c hµm kh¸c cã thÓ ®­îc overload - (khai b¸o nhiÒu hµm cïng tªn, kh¸c ®èi sè) - Constructor kh«ng ®­îc cã kiÓu tr¶ vÒ (return type), kÓ c¶ void. Do ®ã kh«ng cã lÖnh return. - Constructor cã thÓ ®­îc ®Þnh nghÜa hoÆc kh«ng (tïy ý) A) ph¶i bÞ overloaded B) kh«ng thÓ bÞ overloaded C) lu«n lu«n tù ®éng overloaded D) cã thÓ bÞ overloaded C©u: 17 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhToan { public static void main(String[] args) { int a,b,c,s (thiÕu dÊu ; ???) a=10; b=20; c=30; s=a*b*c; System.out.Prinln(“S=”+s); (println viÕt sai) } } A) S=6000 B) Ch­¬ng tr×nh kh«ng in ra g× c¶ C) B¸o lçi D) 6000 C©u: 18 NÕu céng 1 float, mét int vµ mét byte th× kÕt qu¶ sÏ lµ mét A) float B) int C) byte D) Th«ng b¸o lçi C©u: 19 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhTong { public static void main(String[] args) { int s,i; for(i=1;i<=3;i++) { s=0; s=s+i; } System.out.println(“S=”+s); } } A) S=6 B) S=0 C) S=3 D) S=2 E) S=1 C©u: 20 PhÇn nµo sau ®©y lµ phÇn khai b¸o method ®óng cho mét method cã tªn lµ displayFact() nÕu nh­ method ®ã nhËn mét ®èi sè int? A) public void displayFact() B) public void displayFact(int data) C) public void displayFact(int) D) public void int displayFact() C©u: 21 NÕu kh«ng t¹o ra mét constructor dµnh cho mét class A) Kh«ng thÓ tr×nh bµy c¸c object B) class sÏ ®¬n gi¶n tho¸t mµ kh«ng cã mét constructor C) class sÏ kh«ng biªn so¹n D) java tù ®éng t¹o C©u: 22 T×m dßng sai trong ®o¹n m· sau: 1:public class ChaoBan 2:{ 3: public static void Main(String[] args) 4: { 5: System.out.println(“”Chµo b¹n ®· ®Õn víi Java””); 6: } 7:} A) Dßng 1 B) §óng hoµn toµn C) Dßng 5 D) Dßng 3 C©u: 23 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class GiaiThua { public static void main(String[] args) { int i; float p; p=1; for(i=1;i<=2;i=i+1) { p=p*i; p=p*p+1; } System.out.println(“p=”+p); } } A) p=6 B) p=14 C) p=10 D) p=4 E) p=17 C©u: 24 Method cã phÇn khai b¸o lµ public int aMethod(double d) lµ method cã kiÓu A) void B) double C) int D) Kh«ng thÓ x¸c ®Þnh kiÓu method C©u: 25 TÈt c¶ c¸c ch­¬ng tr×nh Java ph¶i cã 1 method tªn lµ A) main() B) Hello() C) method() D) java C©u: 26 ViÖc sö dông mét tªn method ®¬n ®Ó thùc thi c¸c t¸c vô kh¸c nhau ®­îc gäi lµ A) overloading B) overexcuting C) overriding D) overcompensanting C©u: 27 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class ViDu { public static void main(String[] args) { int i; i=1; if (i<1) { System.out.println(“I=”+(i+3)); } else { System.out.println(“I=”+(i+5)); } } } A) I=6 B) I=3 C) I=1 D) I=4 C©u: 28 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class LenhChon { public static void main(String[] args) { int i=11; switch (i) { case 1: { System.out.println(“I=”+(i+9)); break; } case 2: { System.out.println(“I=”+(i+5)); break; } default: System.out.println(“I=”+(i+3)); } } } A) I=20 B) I=11 C) I=14 D) I=16 C©u: 29 Ch­¬ng tr×nh sau sÏ lµm g× khi ®­îc thùc hiÖn public class Hello1 extends Applet { Frame MyFrame ; public void init() { MyFrame.setSize(200,200); MyFrame.setVisible(true); } public void paint(Graphics g) { g.drawString(“Xin chao”,20,40); } } A) T¹o ra mét cöa sæ B) B¸o lçi C) Kh«ng lµm g× c¶ D) T¹o ra mét cöa sæ vµ in ra dßng ch÷ xin chµo C©u: 30 Khi ch¹y, ch­¬ng tr×nh sau cho kÕt qu¶ nµo? public class TinhToan { public static void main(String[] args) { a=1; b=2; c=3; System.out.println(“S=”+s); } } A) 6 B) S=6 C) Kh«ng cã kÕt qu¶ nµo ®­îc in ra. D) B¸o lçi C©u: 31 Khi ch¹y, ch­¬ng tr×nh sau cho ra kÕt qu¶ nµo? public class TinhTong { public static void main(String[] args) { int s=0,i=1; Do { s=s+i; i=i+1; } while (i<=3); System.out.println(“s=”+s); } } A) M¸y b¸o lçi B) s=6 C) s=3 D) s=4 E) Kh«ng b¸o g× c¶ C©u: 32 ................ ®­îc dïng ®Ó chØnh söa tÝnh chÊt cña 1 ®èi t­îng A) Cöa sæ Properties B) C¸c lÖnh menu C) Task List D) Project Explorer C©u: 33 Tªn class nµo sau ®©y ®óng? A) 5top B) $return C) transient D) phone# C©u: 34 PhÇn nµo sau ®©y kh«ng ph¶i lµ kiÓu d÷ liÖu th« (primitive data type) trong ng«n ng÷ lËp tr×nh Java? A) boolean B) int C) byte D) sector C©u: 35 Bé phËn nµo t¹o ra m¸y ¶o Java? A) Tr×nh th«ng dÞch Java B) Tr×nh biªn dÞch Java C) Mét phÇn mÒm chuyªn dông kh¸c D) HÖ ®iÒu hµnh Windows 2000 C©u: 36 Mét block hiÖn diÖn bªn trong mét block kh¸c, th× c¸c block ®­îc gäi lµ A) nested B) illegal C) structured D) shelted LTHDT trong Java Tóm tắt: bài viết này được tổng hợp & dịch từ nhiều nguồn khác nhau như: Object Oriented Concepts in Java - By Kevin Yank The Essence of OOP Using Java - By Richard G. Baldwin Rất cảm ơn các tác giả của những bài viết trên. Ngoài ra, nhiều phần trong bài viết là do kinh nghiệm của dịch giả thêm vào cho đầy đủ và hữu ích. Nếu bạn copy/print bài viết này, xin vui lòng giữ nguyên tên các tác giả, dịch giả. Tác giả rất mong nhận được sự thảo luận, góp ý & chỉnh sửa của các bạn (nếu bạn chỉnh sửa, xin vui lòng tô sáng phần sửa chữa & gửi lại cho tác giả cập nhật, cảm ơn) Nhấn vào đây để thảo luận Cập nhật lần cuối: 10 tháng 9/2004 Bạn có thể viết mã Java theo cách mà bài viết nêu ra: - Code Convention (qui ước viết mã): dấu tab, spaces, đặt tên biến, hàm,... - Cách gọi các hàm constructors (hàm tổng quát gọi hàm chi tiết) - Cách khai báo các thuộc tính (nên là private) & các hàm getter/setter - Cách dùng các ký hiệu UML (bạn nên dùng UML để mô tả các class trước khi viết code) Nắm vững các khái niệm OOP trong Java, bạn sẽ có tư duy tốt hơn cho việc thiết kế và năng suất lập trình sẽ hiệu quả hơn... Một số qui ước trong bài viết: - "hàm" hoặc "phương thức" là như nhau. - "biến", "thuộc tính", "tính chất" là như nhau. 3 tính chất quan trọng của Lập trình hướng đối tượng (OOP): - Encapsulation : tính đóng gói - Inheritance : tính thừa kế - Polymorphism : tính đa hình Khái niệm "instantiate": từ một class Tree, ta có thể "instantiate" nhiều đối tượng khác với các tính chất (properties/attributes) khác nhau - class Tree, tính chất height Tương ứng với mã Java sau: (tập tin PlantTrees.java) class Tree { private int height = 0; public Tree() { // constructor tổng quát (optional) this(2); // có thể gọi đến constructor chi tiết } public Tree(int height) { // constructor chi tiết (optional) this.height = height; } public void grow(int moreHeight) { this.height += moreHeight; } public void setHeight(int height) { // setter method (optional) this.height = height; } public int getHeight() { // getter method (optional) return height; } } // - - - - - - - - - - - - - - // public class PlantTrees { public static void main(String[] args) { System.out.println("Let's plant some trees!"); Tree tree1 = new Tree(); Tree tree2 = new Tree(5); System.out.println("The height of tree 1: " + String.valueOf(tree1.getHeight()));// 2 System.out.println("The height of tree 2: " + String.valueOf(tree2.getHeight())); // 5 } } Một vài lưu ý đối với các hàm dựng (constructors): - Tên của (các) constructors của một lớp phải trùng tên lớp đó. - Constructor cũng như các hàm khác có thể được overload - (khai báo nhiều hàm cùng tên, khác đối số) - Constructor không được có kiểu trả về (return type), kể cả void. Do đó không có lệnh return. - Constructor có thể được định nghĩa hoặc không (tùy ý) Một vài lưu ý đối với các hàm getter/setter: - Vì đối tượng có tính đóng gói, nên các hàm getter/setter có vai trò tương tác với bên ngoài. - Thường được sử dụng trong các lớp dạng bean (chỉ đơn thuần chứa các thuộc tính) và cả lớp thường. TÍNH THỪA KẾ (INHERITANCE) Ngôn ngữ Java chỉ cho phép đơn thừa kế (bằng từ khóa extends) - nghĩa là một lớp không thể thừa kế từ hai lớp cha (như C++). Muốn hiện thực điều này trong Java, bạn có thể dùng implements (sẽ mô tả trong những bài viết sau) Mục đích của tính thừa kế: giúp cho việc tận dụng lại code dễ dàng, tránh trùng lắp code. Xét lớp cây dừa (CoconutTree) thừa kế từ lớp cây (Tree) class CoconutTree extends Tree { private int numNuts = 0; public CoconutTree() {// constructor (optional) super(); // gọi constructor tổng quát từ lớp cha, nếu không có sẽ báo lỗi khi biên dịch } public void grow(int moreHeight) { // override (định nghĩa lại) phương thức grow() từ lớp cha this.height += moreHeight * 1.5; System.out.println("Coconut grows faster than normal tree !"); } public void growNut() { numNuts++; } public void pickNut() { numNuts--; } } Lớp con (subclass) CoconutTree sẽ thừa kế mọi thuộc tính & phương thức public (properties & methods) của lớp cha (superclass) Tree (trong ví dụ này là: getHeight(), setHeight(), grow() và các constructors của lớp cha) Một vài lưu ý từ đoạn mã trên: - Khi lớp con gọi hàm super() thì lớp cha bắt buộc phải có constructor tương ứng đối số. - Override: định nghĩa lại phương thức đã có sẵn từ lớp cha (giữ nguyên tên hàm, đối số & kiểu trả về) - Nên phân biệt rõ giữa overload (nạp chồng) & override (định nghĩa lại): » Overload một hàm là việc khai báo nhiều hàm cùng tên, khác đối số. (có thể cùng kiểu trả về hoặc không) » Overload có thể thực hiện trên cùng một lớp, hoặc trên nhiều lớp có mối quan hệ thừa kế. Mô hình UML thể hiện sự thừa kế trong ví dụ trên: các ký hiệu lớp, thuộc tính, phương thức, đối số & kiểu trả về (lưu ý các biểu tượng private, public đứng trước) mũi tên thừa kế ************************** Lưu ý rằng mô hình UML nên được vẽ (bằng các CASE tools như Rose, Together, Poisedon) trước khi viết code vì code có thể được sinh ra tự động từ mô hình UML bởi các CASE tools THỪA KẾ ĐA CẤP: (không phải đa thừa kế) Ví dụ: ... v─ Ông v─ Cha v─ Con v─ Cháu v─ .... Mọi lớp đều được thừa kế từ lớp cao nhất là lớp Object: - Lớp Object có những phương thức sẵn có như: clone(), equals(Object obj), finalize(), getClass(), hashCode(), notify(), notifyAll(), toString(), wait(), wait(long timeout), wait(long timeout, int nanos) - Vì vậy, mọi lớp trong Java đều được thừa kế những hàm trên. - Bạn nên tìm hiểu chức năng của những hàm này (trong Java Document hoặc trên Internet) Trong sơ đồ UML & code ở trên, lớp Tree ngầm định được khai báo là class Tree extends Object { ... } Một lớp nếu có thừa kế sẽ thừa hưởng những gì được public từ các lớp trên (cha, ông, ...) Ngoài ra, lớp đó còn được thừa hưởng những gì được protected từ lớp trên một cấp (lớp cha)

Các file đính kèm theo tài liệu này:

  • docTrắc nghiệm J++.doc
Tài liệu liên quan