⑴ 要java基礎的一些練習題與參考答案
自己上網搜索就是了。還有一些社區裡面也有一堆。
javaeye、csdn等等
⑵ Java基礎題
選項(1)和(2)是正確的.
Java中有三種定義二維數組的方法
第一種是定義普通的二維數組,比如int a[][]=new int[4][5];
第二種是定義每個元素的長度不確定的二維數組,比如int a[][]=new int[4][];
第三種是對二維數組直接賦值,比如int a[][]={{0,0,0},{1,2},{1,2,3}};
但是它們不能混用,第三個選項就是混用了,所以錯了.
⑶ JAVA基礎試題
1.不能。因為介面中的所有方法都是抽象的方法2.在繼承關系中,要創建子類對象,構造方法會先調用其父類無參的構造方法,再調用子類的構造方法。需要注意的是:子類只能自動調用父類無參的構造方法,若要調用父類帶參數的構造方法,需要用super關鍵字進行調用。 3.相同點:都不能直接實例對象,可以創建對象引用,它可以指向子類對象,在多態性上是一樣的。不同點:抽象類用abstract class定義,除了可以有抽象方法還可以有非抽象方法(也可以全部是非抽象方法例如適配器),介面用interface定義其所有方法必須是公有抽象的。介面可用以多實現,而抽象類則只能單繼承。 4.有兩種方法,一種方法是將類聲明為 Thread 的子類,還有一種方法是創建一個類用其實現Runnable介面。
⑷ 求Java基礎,練習題。
選擇題 (25道)
1. 下列選項中,不屬於Java語言特點的一項是( C )。
A:分布式 B:安全性 C:編譯執行 D:面向對象
2. Java語言的特點與 C/C+ +語言的比較中說法錯誤的是:( D )
A:簡單性Java繼承了 C/C+ +的語法 ,丟棄了其中不常用又容易引起混淆的功能。
B:Java是一種純面向對象的語言 ,具有封裝、繼承 ( Inheritance)和多態( Polymorphism)的特點。
C:Java應用程序可憑借URL打開並訪問網路上的對象。
D:解釋型Java寫成的源代碼需要被編譯成高階的位元組碼 ,它們與機器架構有關。
3. 閱讀下列代碼,選出該代碼段正確的文件名( C )。
class A{
void method1(){
System.out.println("Method1 in class A");
}
}
public class B{
void method2(){
System.out.println("Method2 in class B");
}
public static void main(String[] args){
System.out.println("main() in class B");
}
}
A: A.java B:A.class C: B.java D: B.class
4. 如果一個類的文件名為Student.java,但是類的代碼為:
public class Student {
public static void main(String[] args) {
System.out.println(8>>2);
}}
那麼下列說法正確的是:( B )
A:程序運行結果為8; B:程序運行結果為2;
C:程序運行結果為0; D:程序編譯錯誤,不能運行;
5. 符合對象和類的關系的是( D )。
A:教師和學生 B:書和房子
C:狗和貓 D:飛機和交通工具
6. 關於垃圾回收機制描述不正確的是( B )
A:垃圾回收機制不須通過程序員調用相應方法,也能自動啟動。
B:java程序員用System.gc()方法一定能進行垃圾回收;
C:垃圾回收機制屬於jvm自動操作,java程序員可以不進行垃圾回收操作。
D:垃圾回收機制並不是由操作系統自動執行。
7. 編譯下面源程序會得到哪些文件( D )?
class A1{
}
class A2 exdends A1{
}
public class B{
public static void main(String[] args){
}
}
A: 只有B.class文件 B:只有A1.class和A2.class文件
C: 編譯不成功 D:A1.class、A2.class和B.class文件
8. 下列關於基本數據類型的說法中,不正確的一項是( D )。
(A)boolean類型變數的值只能取真或假
(B)float是帶符號的32位浮點數
(C)double是帶符號的64位浮點數
(D)char是8位Unicode字元
9. 下列(D )是合法的標識符?
A:12class B:void C:-5 D:_blank
10. 在編寫Java程序時,如果不為類的成員變數定義初始值,Java會給出它們的默認值,下列說法中不正確的一個是( D )。
A:byte的默認值是0 B:boolean的默認值是false
C: char類型的默認值是』\0』 D: long類型的默認值是0.0L
11. 下列程序執行的結果是:( B )
public class News {
public static void main(String[] args) {
System.out.println(1+2+ "aa"+3);
}}
A: "12aa3" B: "3aa3 " C: "12aa" D: "aa3"
12. 表達式(12==0) && (1/0 < 1)的值為( B )。
A: true B: false C: 0 D: 運行時拋出異常
13. 下列循環體執行的次數是( C )。
int y=2, x=4;
while(--x != x/y){ }
A : 1 B: 2 C : 3 D : 4
14. 已知如下代碼:
switch(m){
case 0: System.out.println("Condition 0");
case 1: System.out.println("Condition 1");
case 2: System.out.println("Condition 2");
case 3: System.out.println("Condition 3");break;
default:System.out.println("Other Condition");
}
當m的值為( D )時,輸出「Condition 3」
(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3
15. 下列語句輸出的結果是:( C )
public class X3 {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5) break;
System.out.print(i);
}
}
}
A:編譯錯誤; B:1234;C:01234;D:12345;
16. 下列語句輸出的結果是:( D )
public class Lx1 {
public static void main(String[] args) {
for(int i=0;i<5;i++){
switch(i){
case 0:System.out.print("B");
case 1:System.out.print("e");break;
case 2:System.out.print("g");
case 3:System.out.print("!");break;
case 4:System.out.print("!");break;
default:System.out.print("!");
}
}
}
}
A:Beg!!! B:Beeg! C:Beg! D:Beeg!!!
17. 下面foreach循環的程序輸出結果是( D )。
public class Lx1{
public static void main(String[] args) {
String s1[]={"歡迎您","3","G","同","學",};
Arrays.sort(s1);
for(String s0:s1)
System.out.print (s0);
}
}
A:歡迎您3G同學 B:3G歡迎您同學 C:同學歡迎您3G D:3G同學歡迎您
18. 閱讀以下程序,選擇正確的運行結果:( B )
public class Lx1 {
public static void main(String[] args) {
byte d[]="YOUIHE你我他".getBytes();
String s=new String(d,6,2);
System.out.println(s);
}
}
A:HE; B:你; C:我; D:他
19. 設有下列數組定義語句:
int a[][]= {{1, 2}, {3}};
則對此語句的敘述正確的是( D )。
A: 定義了一個名為a的一維數組 B: a數組 a[1][1]為0
C: a數組元素的下標為1~3 D: 數組中每個元素的類型都是整數
20. 下列程序輸出的結果是:( B )
public class Lx1 {
public static void main(String[] args) {
String a[][] ={{"","","",""},{""},{"",""}};
System.out.println(a[2].length);
}
}
A:1 B:2 C:3 D:4
21. 關於以下程序的說明,正確的是( C )
1. class StaticStuff
2. {
3. static int x=10;
4. static { x+=5;}
5. public static void main(String args[ ])
6. {
7. System.out.println(「x=」 + x);
8. }
9. static { x/=3;}
10. }
A、4行與9行不能通過編譯,因為缺少方法名和返回類型
B、9行不能通過編譯,因為只能有一個靜態初始化器
C、編譯通過,執行結果為:x=5
D、編譯通過,執行結果為:x=3
22. 給出下面代碼,關於該程序以下哪個說法是正確的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[]) {
for(int i=0;i
System.out.print(arr[0]);
}
}
A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤 C、輸出零 D、輸出空
23. 下面程序中類ClassDemo中定義了一個靜態變數sum,分析程序段的輸出結果。( C )
class ClassDemo {
public static int sum=1;
public ClassDemo() {
sum = sum + 5;}
}
public class ClassDemoTest{
public static void main(String args[]) {
ClassDemo demo1=new ClassDemo();
ClassDemo demo2=new ClassDemo();
System.out.println(demo1.sum);}
}
A: 0 B: 6 C: 11 D: 2
24. 下面關於方法的說法,不正確的是( C )。
A: Java中的構造方法名必須和類名相同
B: 方法體是對方法的實現,包括變數聲明和合法語句
C: 如果一個類定義了構造方法,也可以用該類的默認構造方法
D: 類的私有方法不能被其他類直接訪問
25. 在Java中下列說法正確的是( C )
A) 一個子類可以有多個父類,一個父類也可以有多個子類
B) 一個子類可以有多個父類,但一個父類只可以有一個子類
C) 一個子類可以有一個父類,但一個父類可以有多個子類
D) 上述說法都不對
⑸ 10道java基礎選擇題(3)
71.C
packagetest3;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsException{
String[]s={"ab","bc","cd"};//正確
Integerresults[]={newInteger(1),newInteger(2)};//正確
int[]a;a={3,4,5,6};//錯誤
int[]b={3,4,5,6};
floatf4[]=newfloat[]{1.0f,2.0f,3.0f};
}
}
72.A
無法明白A是什麼意思,跟誰相等?
packagetest3;
publicclassTest{
publicstaticvoidmain(Stringargs[])throwsException{
inta[]={3,4,5};
int[]b={3,4,5};//聲明一個數組,用int[]a或者inta[]都正確
System.out.println(a.length);//數組的長度可以用數組的屬性length獲得
intc[]=newint[];//錯誤,證明數組在使用前必須明確其長度
}
}
73.B
74.A
對於變數:
public, static & final
對於方法:
public & abstract
75.D
可以什麼方法都沒有
76BD
77 A
78D
79A
80A
⑹ JAVA基礎測試題
1 跟java運行的機制有關,java先載入靜態域,static int x=10; ,然後靜態塊static { x+=5;},static { x/=3;}(雖然位置在後但先運行) ,然後靜態方法static void main
所以x=10,x=15,x=5.
2 A因為int [ ] x = new int[25],數組建立後,每個元素默認值為0;x[24]=0;x[25] 下標越界,x[0]=0;
3 switch(i)不接受long型,int或者枚舉型可以。i=Integer.parseInt(args[0]);雖然這樣每課時i還是long型的。
4 c,沒什麼好說的,就是這么規定的!
⑺ java基礎練習題
利用for循環來得到oldArr里的每一個元素,判斷這個元素是否是0,是0就放到新數組里:
intnewArr[]=newint[];
for(inti=0;i<oldArr.length;i++){
if(oldArr[i]==0){
newArr[newArr.length]=oldArr[i];
}
}
newArr就是新數組。我沒用eclipse寫,不知道有沒有錯誤,你試一下吧,思路就是這樣。上一個回答的有點把簡單問題復雜化了。
⑻ javajava基礎題
Java程序:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double save;
System.out.print("請輸入您的存款數(萬元):");
save = scan.nextDouble();
if(save > 5000000) {
System.out.println("購買凱迪拉克");
}
else if(save > 1000000) {
System.out.println("購買帕薩特");
}
else if(save > 500000) {
System.out.println("購買依蘭特");
}
else if(save > 100000) {
System.out.println("購買奧托");
}
else {
System.out.println("購買捷安特");
}
}
}
運行測試:
請輸入您的存款數(萬元):1200000
購買帕薩特
⑼ JAVA基礎題
1.(1)1(2)false(3)ture(4)1/20736
7.string是引用stringbuffer字元串變數!string沒有存儲能力stringbuffer有存儲能力!
11.語句A語句B語句D語句C
12.int j=0;for(int i=16;i<0;i=i-3){j++;}system.out.print("16/3的商等於"+j);for(;j=0;j--){int i=16;i=i-3;j=i;}system.out.print("16/3的余數等於"+j);
17.s test2 test3 test4 test4
18.128 false false
⑽ java基礎總復習資料
通過Java認證 SCJP 考試之精闢總結
1.switch裡面只能是short,int,char,byte的.
2.if (a="a") 編譯錯, if(a=false)編譯ok,原因是a=false的a代表了個boolean值
3.這種寫法Outer.Inner i = new Outer().new Inner(); OK!
4.文件里, 8 默認是int, 8.0默認是double
5.八進制是 0開頭,不是O(英文o)
6.byte -128~127 ,-128是二進制的多少?
7. -1>>32還是-1, -1>>>32為什麼還是-1?
8. char c='c'; String s ="s"; s+=c;結果是 sc!!!
9. boolean b1=true; boolean b2=true; System.out.println(b1b2); 結果是true.編譯沒錯!
10.java的默認import包有哪些?
類和對象(Class and Object)
0.最外層的類可以聲明成final:final class a{} ok!,但是不能是private和static的.
1.overload是同類里同樣的方法名,override是父子的繼承
2.override的返回結果必須一樣,否則編譯錯哦
The return type of an overriding method is identical to the return type of the method it overrides.
3.super.super(),靠,錯的,沒這么寫的
4.static和非static之間永遠無法override!
5. 看程序
以下是引用片段:
public class A{
void test1() throws baseEx{hi();}
void hi(){System.out.println("say hi,a");}
}
class AA extends A{
void hi(){System.out.println("say hi,aa");}
}
class test{
static void main(String b[]) throws Exception{
A a = new AA();
a.test1();
}
}
結果是,"say hi,aa",這說明什麼?說明,方法永遠跟著類的原來面目走;而,變數恰恰相反!
6.一個非抽象方法死活也別想override成一個抽象方法
7.override的子類的方法拋出的的異常只能是父類方法拋出異常的子異常類,或者無!
8.構造器不能是native,final,static,synchronized的,可以是public,private,什麼都沒有的,呵呵
9.構造器函數里還可以寫return呢,但後面什麼都不許有,甚至null(這不是廢話嗎,哈哈)
10.構造器不能返回值.這大家都知道,但如果有個"構造器"反值了,別緊張,它就不是構造器嘍,只是個普通函數
11.super();this();這兩個函數只能在構造函數里調用.
12,成員變數聲明時候賦值,比構造函數還早.int i=1; ealier than Test(){}
13.方法的參數變數可以是final.
14. hashCode返回一個int
15. void wait() throws InterruptException wait扔InterruptException異常
16. java.lang.Void 是void的包裝類
17. Byte,Interger,Double...所有的跟數有關的包裝類都是繼承於Number
介面Interface)
1.介面的所有方法默認都是public,abstract和non-static的
2.介面的所有變數默認都是public,static,final的.所以,介面的變數不能改值,在它的實現類里.
3.介面的實現類實現的方法必須和介面的方法拋出同樣的異常,不許是子類,這和override不一樣!同樣,如果介面方法沒有拋,實現方法也不能拋
4.實現類實現的方法必須顯式的聲明成public,什麼都不寫都不行,啊!!!
5.介面不能聲明成final,要不它怎麼被實現呢(這好像又是廢話啊
6.一個類實現兩個介面,如果兩個介面有相同的方法,實現類就實現這個方法,沒問題的.
更多JAVA技術信息請咨詢美 國矽谷SVSE徐東校區 http://www.xdsvse.com