javase:習題


1、下來說法正確的是?

A、JAVA程序的main方法必須寫在類里面

B、JAVA程序中可以有多個main方法

C、JAVA程序中類名必須與文件名一樣

public class Mytest {
    public class Animal{
        
    }
    public class Plants{
        
    }
}

D、JAVA程序的main方法中如果只有一條語句,可以不用{}(大括號)括起來

  public static void main(String[] args) {
        
    }

 

2、變量命名規范說法正確的是?

A、變量由字母、下划線、數字、$符號隨意組成;(不能以數字開頭)

B、變量不能以數字作為開頭;

C、A和a在java中是同一個變量;

D、不同類型的變量,可以起相同的名字;(即使是不同類型的變量,調用的時候也會起沖突)

 

 

3、為一個布爾類型變量賦值正確的是?(多選)

A、Boolean =1;

B、Boolean a = (9>10);

C、Boolean a = “真”;

D、Boolean a = true;

 

4、以下哪個表達式不可以作為循環條件?

A、i++;

B、i>5;

C、bEqual = str.equals(“q”);

D、Count == i;

 

5、以下程序運行的結果是

   public static void main(String args[]) {
            int a;
            a = 6;
            System.out.print(a);
            System.out.print(a++);
            System.out.print(a);
        }

A、666

B、667   https://www.cnblogs.com/zhai1997/p/13334838.html

C、677

D、676

 

6、下列值不為true的是?

A、"john" = = "john"  (都在堆內存,且為同一對象)

B、"john".equals("john")    (比較的是字符串,String類已經對equals方法進行了重寫,比較的是值)

C、"john" = "john"(語法錯誤)  

D、"john".equals(new String("john"))  (雖然一個在堆內存一個在常量池不是同一個對象,但是Strinfg類的equals方法比較的是字符串的值)

 

7、下列輸出結果是

      int a = 0 ;
            while ( a < 5 ) {
                switch(a){
                    case 0:
                    case 3 : a = a + 2;
                    case 1 :
                    case 2 : a = a + 3;
                    default : a = a + 5;
                }
            }
            System.out.println(a);
        }

A、0

B、5

C、10

D、其他

 

8、下列代碼輸出結果是

  int i = 10;
        while (i > 0) {
            i = i + 1;
            if (i ==10){
                break;
            }
        }

A.while循環執行10次

B.死循環

C.循環一次都不執行

D.循環執行一次

 

9、在java中下列關於自動類型轉換說法正確的是

A、基本數據類型和String相加結果一定是字符串型

B、char類型和int類型相加結果一定是字符

C、double類型可以自動轉換為int

D、char + int + double +"" 結果一定是double;

 

10、在JAVA中,LinkedList類和ArrayList類同屬於集合框架類,下列()選項中的方法是LinkedList類有而ArrayList類沒有的。

A、add(Object o)

B、add(int index,Object o)

C、remove(Object o)

D、removeLast()

 

11、在JAVA中ArrayList類實現了可變大小的數組,便於遍歷元素和隨機訪問元素,已知獲得了ArrayList類的對象bookTypeList,則下列語句中能夠實現判斷列表中是否存在字符串“小說”的是()。

A、bookTypeList.add("小說");

B、bookTypeList.get("小說");

C、bookTypeList.contains("小說");

D、bookTypeList.remove("小說");

 

12、給定如下Java代碼,其中第( )行代碼有錯誤。

import java.util.ArrayList;
import java.util.List;
public  class Test{
    public static void main(String[] args){
        List pList = new ArrayList();
        pList.add("A");
        pList.add("B");
        for(int i = 0;i<pList.size();i++){
            String str = pList.get(i).toString();
            System.out.print(str);
        }
    }
}

A、4

B、5

C、6

D、7

E、8

F、9

G、沒有錯誤

 

13、以下關於抽象類和接口的說法錯誤的是

A、抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承。但是一個類卻可以實現多個接口。

B、在抽象類中可以沒有抽象方法

C、實現抽象類和接口的類必須實現其中的所有方法,除非它也是抽象類。接口中的方法都不能被實現 (必須實現的是所有的抽象方法)

D、接口中定義的變量默認是public static final 型,且必須給其初值,所以實現類中不能重新定義,也不能改變其值。

E、接口中的方法都必須加上public關鍵字。(默認public,可以省略不寫)

 

14、下列哪一種敘述是正確的
A、 abstract修飾符可修飾字段、方法和類(不能修飾字段)

B、 抽象方法的body部分必須用一對大括號{ }包住

C、 聲明抽象方法,大括號可有可無

D、 聲明抽象方法不可寫出大括號

 

15、下列哪種說法是正確的

A、 實例方法可直接調用超類的實例方法

B、 實例方法可直接調用超類的類方法

C、 實例方法可直接調用其他類的實例方法(需要創建對象)

D、 實例方法可直接調用本類的類方法

 

16、如下代碼:

class Base {
    Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
    public static void main( String[] args ) {
        new Alpha();
        new Base();
    }
}

結果是什么
A、Base
B、BaseBase
C、編譯失敗.
D、代碼運行但沒有輸出.
E、運行時拋出異常

 

17、下列關於構造方法的敘述中,錯誤的是   
  A. Java語言規定構造方法名與類名必須相同 
  B. Java語言規定構造方法沒有返回值,但不用vold聲明 
  C. Java語言規定構造方法不可以重載 
  D. Java語言規定構造方法只能通過new自動調用

 

18、Java語言中下面哪個可以用作正確的變量名稱
A、3D   B、name   C、extends   D、implements

 

19、 下面哪一項不是Java類訪問控制關鍵字 
A、 public B、 protected 
C、 this D、 private

 

20   下面哪個語句正確地聲明一個整型的二維數組(多選)
  A、 int   a[][]   =   new   int[][];     
  B、 int   a[10][10]   =   new   int[][];     
  C、 int   a[][]   =   new   int[10][10];     
  D、 int   [][]a   =   new   int[10][10];     
  E、 int   []a[]   =   new   int[10][10];

 行數不可省略,列數可以省略

 

21 下面哪些不是java的簡單數據類型
A、 short  B、 Boolean  C、 Double  D、 float

 

22.  下面哪些語句能夠正確地生成5個空字符串(多選)
  A.String   a[]=new   String[5];for(int   i=0;i<5;a[i++]=“”);     
  B.String   a[]={“”,“”,“”,“”,“”};     
  C.String   a[5];     
  D.String [5] a;     
  E.String   []a=new   String[5];for(int   i=0;i<5;a[i++]=null);

 

23、 不能用來修飾interface的有(多選)
A、private  B、public  C、protected  D.static

 

24、 在接口中以下哪條定義是正確的(多選)

A、 void methoda();
B、public double methoda();
C、public final double methoda();
D、static void methoda(double d1);
E、protected void methoda(double d1);

 

25、 以下哪四個能使用throw拋出
A. Error
B. Event
C. Object
D. Throwable
E. Exception
F. RuntimeException

 

編程題

1、寫一個算法對5,8,15,2,24,49,7進行升序順序排列

public static void main(String[] args) {
        int[] num = {5, 8, 15, 2, 24, 49, 7};
        int temp = 0;
        for (int i = 0; i < num.length - 1; i++) {
            for (int j = 0; j < num.length - 1 - i; j++) {
                if (num[j] > num[j + 1]) {
                    temp = num[j + 1];
                    num[j + 1] = num[j];
                    num[j] = temp;
                }
            }
        }
        for (int count : num) {
            System.out.print(count+"  ");
        }
    }
2  5  7  8  15  24  49  

2、用循環控制語句打印輸出:1+3+5+…….+99=?結果

 public static void main(String[] args) {
        int i=1;
        int sum=0;
        while(i<100){
            System.out.println(i+"  ");
            sum=i+sum;
            i=i+2;
        }
        System.out.println(sum);
    }
1  
3  
5  
7  
.
.
. 93 95 97 99 2500

3、輸入兩個正整數m和n,求其最大公約數和最小公倍數。

 

 public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.print("請輸入兩個整數:");
        int m = in.nextInt();
        int n = in.nextInt();
        int max = 0, min = 0;
        if (m > n)//保證m是mn中的較小值 
        {
            int t = m;
            m = n;
            n = t;
        }
        for (int i = 1; i <= m; i++) {//求最大公約數,即該數字能夠被兩個數同時整除且最大
            if (m % i == 0 & n % i == 0)
                max = i;
        }
        min = m * n / max;//兩數字的乘積除以最大公約數
        System.out.println("最大公約數為:" + max + ",最小公倍數為:" + min);
    }
請輸入兩個整數:4
8
最大公約數為:4,最小公倍數為:8

4、輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

public static void main(String[] args) {
        int ch=0 ,numb=0,spac=0,other=0;
            System.out.println("請輸入:");
            Scanner scanner=new Scanner(System.in);
            String s = scanner.nextLine();
            for(int i=0;i<s.length();i++){
                if(('A'<=s.charAt(i)&&s.charAt(i)<='Z')||'a'<=s.charAt(i)&&s.charAt(i)<='z')
                    ch++;
                else if('0'<=s.charAt(i)&&s.charAt(i)<='9')
                    numb++;
                else if(s.charAt(i)==' ')
                    spac++;
                else
                    other++;
            }
            System.out.println("字符個數為:"+ch+"數字個數為: "+numb+"空格為: "+spac+"其它字符為: "+other);

    }
請輸入:
123 qwe !!!
字符個數為:3數字個數為: 3空格為: 2其它字符為: 3

5、一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地時,共經過多少米?第10次反彈多高?

 public static void main(String[] args) {
        float height = 100;
        float sum=100;
        int i = 0;
        while (i < 9) {
            i++;
           height=height/2;
           sum=height*2+sum;
        }
        System.out.println("長度:"+sum);
        System.out.println("高度:"+height/2);

    }
長度:299.60938
高度:0.09765625

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM