計算機期末考試高頻考試題目,附帶題目解析

卷1:

1、單選題(15道,共30分)java

1.下列關於JDK、JRE、JVM關係描述正確的是 (A)
A:JDK是開發工具,包含了JRE。JRE是運行環境,包含了JVM。JVM是虛擬機,能夠保證跨平臺
B:JRE是虛擬機,保證了跨平臺。JVM是運行環境,包含了JRE。JDK是開發工具,包含了JVM
C:JDK是運行環境,包含了JRE。JRE是開發工具,包含了JVM。JVM是虛擬機,保證了跨平臺
D:JDK是開發工具,JRE是運行環境,JVM是虛擬機。三者沒有關聯程序員

2.Java中的數據類型分爲 ( C)
A:int和double
B:int和long
C:基本數據類型和引用數據類型
D:數組和集合編程

3.下列代碼能正常經過編譯的是 (D )
A:byte b = 230;//超出byte範圍
B:int num = 10.3;
C:float f = 5.5;//5.5F
D:String s = "Hello" + "World" + "Java";數組

4.下列代碼運行後結果分別爲 (B )
public class Demo01 {
public static void main(String[] args) {
int num = 10;
System.out.println("num:" + num);//10

change(num);app

System.out.println("num:" + num);//10
}

public static void change(int num) {
num = 20;
}
}dom

A:num:20 num:10
B:num:10 num:10
C:num:20 num:20
D:num:10 num:20工具

5.下列代碼運行後結果分別爲 ( C)
public class Demo02 {
public static void main(String[] args) {
int[] arr = {1,2,3};開發工具

System.out.println(arr[1]);//2測試

change(arr);優化

System.out.println(arr[1]);//20
}

public static void change(int[] arr) {
arr[1] = 20;
}
}

A:20 20
B:20 2
C:2 20
D:2 2

6.下列代碼運行後,輸出的結果爲 (A )
public class Demo03 {
public static void main(String[] args) {
System.out.println(660 + 6 + "heima");//先作+運算在拼接
}
}

A:666heima
B:6606heima
C:heima666
D:heima6606

7.下列Scanner方法中,能夠鍵盤錄入整數類型的方法是 (D )
A:nextLine()//字符串結束標記爲空格
B:next()//字符串結束標記爲回車
C:nextDouble()//小數
D:nextInt()

8.如下定義數組格式正確的是 (B )
A:int[] arr = new int[3]{1,2,3};
B:int arr[] = new int[3];
C:int[] arr = {"a","b","c"};
D:String arr[] = new String(3);

9.查看如下代碼,x和y輸出的結果爲:( A )
public class Test02 {
public static void main(String[] args) {
int x = 4;
int y = (--x)+(x--)+(x*10);//3+3+2*10=26
System.out.println("y = " + y);//26
System.out.println("x = " + x);//2
}
}

A:y=26 x=2
B:y=46 x=3
C:y=25 x=4
D:y=66 x=5

10.查看如下代碼,輸出的結果爲:( D )
int[] arr = new int[10];//0-9
arr[0] = 1;
arr[1] = 2;
System.out.println(arr[10]);

A:0
B:1
C:2
D:運行報錯,數組索引越界異常

11.關於下列代碼描述正確的是:(C )
//第一行
public class A {
//第二行
public static void main(String[] args) {
//第三行
String s = "HelloWorld";
//第四行
int length = s.length();//l=10
//第五行
boolean b = s.equals("hello");//f
//第六行
s += "Java";
//第七行
s++;//s爲字符串類型,不能自曾;
}
}

A:第三行有錯誤
B:第五行有錯誤
C:第七行有錯誤
D:編譯正常、沒有錯誤

12.關於局部變量和成員變量的區別描述正確的是:( A )
A:成員變量有默認初始化值。局部變量沒有默認初始化值,使用以前必須賦值、不然就報錯
B:成員變量在棧內存中。局部變量在堆內存中//變量,基本數據類型,引用數據類型
C:成員變量定義在方法內部。局部變量定義在類中方法外//顛倒便可
D:局部變量和成員變量有區別

13.如下關於數組描述錯誤的是:( B )
A:數組是一個容器
B:數組只能保存基本數據類型的數據//引用也可,例如String二維數組
C:定義數組能夠採用靜態初始化
D:定義數組能夠採用動態初始化

14.下列代碼運行後,輸出的結果爲 ( B)
public class Demo04 {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <= 10; i++) {
if(i % 2 == 0) {
sum += i;//1-10的偶數和:2+4+6+8+10;
}
}
System.out.println(sum);
}
}

A:35
B:30
C:20
D:10

15.下列代碼運行後的結果是:(C )
public class Test01 {
public static void main(String[] args) {
int num = 2;

switch (num) {
case 1:
num += 3;
case 2:
num += 2;
case 3:
num += 5;//穿透到此處,由於2沒有break;
break;
default:
num += 4;
break;
}

System.out.println("num:" + num);
}
}

A:num:13
B:num:18
C:num:9
D:num:2


2、多選題(5道 共20分)
1.下列關於方法重載描述正確的是:(ABC)//同一類中,方法名相同,參數不一樣,個數不一樣,類型不一樣,順序不一樣,沒有返回值重載
A:方法名相同
B:參數的數據類型不一樣
C:參數的個數不一樣
D:方法的返回值類型不一樣

2.下列定義數組正確的是:( B CD)
A:String[] arr = new String[3]{"abc","bcd","def"};//衝突
B:int arr[] = new int[5];//標準動態初始化
C:int[] arr = new int[]{1,2,3,4,5};//標準靜態初始化
D:int[] arr = {10,20,30};//簡化靜態初始化

3.下列屬於正確的構造方法注意事項的是:(A B )//寫在類中,跟類名同樣,沒有返回值,沒有void
A:構造方法要和類名保持一致
B:構造方法沒有返回值類型,連void都不能寫
C:構造方法的返回值類型是void
D:構造方法不能重載//有參構造,無參構造方法;

4.下列屬於正常賦值的是:(AC )//
A:byte b = 3; b += 5;//
B:int num1 = 10; byte sum = num1 + 5;//須要強轉,高轉低
C:String s = 5 + "abc";
D:int num = "abc" + 5;

//5.下列對於數組描述不正確的是:( AD )
A:數組是一個基本數據類型
B:數組是一個引用數據類型
C:數組的索引從0開始
D:獲取數組的長度應該調用size()方法//length-

 


3、編程題(2道 1道20分 2道30分)


1、根據如下需求,用代碼實現
1.程序運行後經過鍵盤錄入一個字符串。要求字符串中必須包含:大寫字母
2.若是錄入的字符串中沒有大寫字母、要進行給出提示。而後程序能夠繼續錄入字符串
3.若是錄入的字符串中有大寫字母。那麼統計這個字符串中小寫字母、大寫字母、數字、其餘字符出現的個數。程序結束
例如:
請輸入一個字符串:
123456abc
您輸入的字符串中沒有大寫字母。請從新輸入:
ABC456ghi$%^&D
大寫字母有:4個
小寫字母有:3個
數字有:3個
其餘字符有:4個
代碼以下:
package M1;

import java.util.Scanner;

public class M1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("請輸入一個字符串:");
String s = sc.next();
int countnum = 0;
int countA = 0;
int counta = 0;
int Qita = 0;
//char[] arr = s.toCharArray();//字符串變成字符數組
StringBuilder sb=new StringBuilder(s);//將鍵盤錄入的值存入sb
for (int i = 0; i < sb.length(); i++) {
char c = sb.charAt(i);//遍歷拿到每一個字符
if (c >= '0' && c <= '9') {//判斷
countnum++;
} else if (c >= 'a' && c <= 'z') {
counta++;
} else if (c >= 'A' && c <= 'Z') {
countA++;
} else {
Qita++;
}
}
/*for (int i = 0; i < arr.length; i++) {
if (arr[i] >= '0' && arr[i] <= '9') {
countnum++;
} else if (arr[i] >= 'a' && arr[i] <= 'z') {
counta++;
} else if (arr[i] >= 'A' && arr[i] <= 'Z') {
countA++;
} else {
Qita++;
}
}
if (Qita == arr.length) {
System.out.println("全是字符,從新輸入!");
continue;
}
*/
if (countA==0){//沒有大寫跳事後續代碼,繼續循環
System.out.println("沒有大寫,請從新輸入!");
continue;
}
System.out.println("數字" + countnum);
System.out.println("大寫" + countA);
System.out.println("小寫" + counta);
System.out.println("其餘" + Qita);
return;


}

}
}

運行效果:

2、根據如下需求,用代碼實現
1.定義一個水果類:Fruit
成員變量:名稱name 單價price 計價單位unit
提供構造方法、get和set方法
成員方法:show() 用於顯示成員變量的信息
2.定義一個測試類:Test02
3.在測試類中建立4個Fruit對象。並調用show()方法顯示數據
輸出效果:
水果名稱:蘋果,價格爲:3元,計價單位爲:斤
水果名稱:橘子,價格爲:5元,計價單位爲:斤
水果名稱:香蕉,價格爲:2元,計價單位爲:斤
水果名稱:榴蓮,價格爲:200元,計價單位爲:個
代碼以下:
類:
package M2;

public class Fruit {
private String name;
private String price;
private String unit;

public Fruit() {
}

public Fruit(String name, String price, String unit) {
this.name = name;
this.price = price;
this.unit = unit;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPrice() {
return price;
}

public void setPrice(String price) {
this.price = price;
}

public String getUnit() {
return unit;
}

public void setUnit(String unit) {
this.unit = unit;
}
public void show(){
System.out.println("水果名稱: "+getName()+", 價格爲:"+getPrice()+"元"+", 計價單位:"+getUnit());
}
}
測試文件:
package M2;

public class TestFruit {
public static void main(String[] args) {
Fruit f=new Fruit("蘋果","3","斤");
Fruit f2=new Fruit();
f2.setName("榴蓮");
f2.setPrice("200");
f2.setUnit("個");
f.show();
f2.show();
}
}

運行效果:

 卷2:

一:單選題

1:下面對變量名定義符合規範的是 (c)

A: private//關鍵字

B: 3a_b=10

C: $zb

D: a+b

 

2:用 switch 改寫下面的代碼片斷,正確的是(A)

 

 

 

 

 

A:

 

 

 

 

B:

 

 

 

 

C:

 

 

 

 

D:

 

 

 

 

3:如下選項中,關於變量的定義格式和使用方式正確的是(C )

A:

int a;//沒有賦值

System.out.println(a);

B:

char c = 'ab';//char只能有一個字符
System.out.println(c);

C:

boolean b = true;
System.out.println(b);

D:

float f = 12.3;//12.3F
System.out.println(f);

 

4:代碼以下:

public static void main(String[] args) {
    int a = 5;
    int b = 5;
    System.out.println(_________);
}

運行結果是

5+5=10

橫線處應該填寫的正確代碼是( C)

A.

a+"+"+b+"="+a+b//5+5=55

B.

a+b"="(a+b)//報錯

C.

a+"+"+b+"="+(a+b)

D.

a+b+"="+(a+b)//10=10
 

5:若是有 int n=9527;那麼下面獲取千位數正確的是(D) 

A: n % 10//個位

B: (n % 100)/10//百位

C: (n % 1000)/100//百位

D: n /1000

 

6:下列選項中能夠正肯定義一個無參方法的是(A )

A.

public static   void  sum(){

                                      System.out.println("這是一個無參方法");

}

B.

public   static  void  sum(int  a){

                                      System.out.println("這是一個無參方法");

}

C.

public  static  int     sum(){

                                      System.out.println("這是一個無參方法");

                                      return     ;

}

D.

public   static   void  sum(){

                                      System.out.println("這是一個無參方法");

                                      return     0;

}

 
7:如下選項中隨機數範圍爲 20 到 80(包含 20 和 80)的是(B)
A.
Random random=new  Random();
int  num=random.nextInt(21)+60;//60-80
B.
Random   random=new   Random();
int  num=random.nextInt(61)+20;
C.
Random random=new  Random();
int  num=random.nextInt(60)+20;//20-79
D.
Random  random=new Random();
int   num=random.nextInt(20)+61;//61-80
 
8:
int  a =  8;
do {
a++;
}while (a  < 9);
System.out.println(a);
執行以上代碼塊,打印結果是(C)//do{}while() 必會執行一次{}中內容
A: 7 
B: 8 
C: 9 
D: -2147483648
 
9:下列關於方法定義說法錯誤的(C)
A: 定義在類中方法外面
B: 返回值類型,必需要和 return  語句返回的類型相同,不然編譯失敗 。 
C: 必須是 public 類型的
D: 不能在 return  後面寫代碼, return 意味着方法結束,全部後面的代碼永遠不會執行,屬於無效代碼;
 

10:ArrayList 的初始化內容以下:

 

 

 

下面能夠刪除 list 集合中全部的」b」的代碼是(B
A: for (int i=0; i<list.size(); i++){     //刪除不乾淨,應加i--      
               if(list.get(i).equals("b")){                   
                       list.remove(i); 
               }
    } 
B: for (int i=list.size()-1;i>= 0; i--)    {               
         if(list.get(i).equals ("b")){
               list.remove(i); 
        }                        
}
C: list.remove ("b");//只能刪除一次,應該while(list.remove ("b")){};
D: 以上的代碼都不能成功刪除 list 集合中全部的」b」;

二:多選題

11:如下關於運算符說法正確的有(ABD )

A: && 短路與,符號左邊是 false,右邊再也不運算

B: + 能夠用來作加法運算,也能夠當鏈接符

C: % 表示取整,/ 表示取餘//顛倒便可

D: i++就是先變量參與操做,以後變量作自增 ,++i 先變量作自增 ,以後變量參與

操做

 
12:如下方法在 main 方法中調用正確的有:ACD
public class Test  {
         public  static  void  main(String[] args)  {
         }
         public  static  void  fun1(){
                 System.out.println("this  is  fun1");
         }
         public static String fun2(){
                 return "this  is  fun2";
         } 
} 
A: fun1();
B: System.out.println(fun1());//沒有返回值,只能調用
C: String  str  =  fun2();
D: System.out.println(fun2());

 

13:當 a=1,b=3,c=5,d=4 時,關於下面代碼說法正確的是(AB)

public class test {

     public static void main(String[] args) {

         int a = 1, b = 3, c = 5, d = 4, x;

         if (a < b) {

             if (c < d) {

                 x = 1;

             } else if (a < c) {

                 if (b < d) {

                     x = 2;

                 } else x = 3;

             } else x = 6;

         } else x = 7;

         System.out.println(x);

     }

}

A: 因 a<b 爲 true,因此會執行 if(c<d)  。

B: 代碼執行後的結果爲 x=2。

C: 但 c<d 爲 true,故執行 if(a<c)。//c<d false

D: 代碼執行後的結果爲 x=6

 

14:下面關於 Scanner 的方法中說法正確的是(ACD)。

A: Scanner 的 nextDouble()方法能夠錄入一個 double 類型的數字。

B: Scanner 的 nextInt()方法能夠錄入數字和字符

C: Scanner 的 nextLine()方法會把整行字符串所有錄入。

D: Scanner 的 nextLine()方法能夠錄入數字和字符。

 

15:下面關於 String 的?述不正確的是(BD)

A: toCharArray()是將此字符串轉換成新的字符數組

B: equals()方法比較的是兩個字符串的地址和內容

C: charAt()返回的是指定的索引處的 char 值

D: length 屬性表明的是字符串的長度

 

16:代碼以下,下列關於數組的反轉描述正確的是(ABCD ) 

 

public static void main(String[] args) {

    int[] array = { 10, 20, 30, 40, 50 };

    for (int min = 0, max = array.length - 1; min < max; min++, max--) {

        int temp = array[min];

        array[min] = array[max];

        array[max] = temp;

    }

}

 

 

A:  數組反轉就是將數組中元素的順序顛倒,要先找到數組中的最小索引和最大索引。最小索引:0,最大索引就是:array.length - 1,分別保存在兩個int類型的變量中  

B:  若是數組中元素的個數是未知的,經過for循環拿到每一個元素,可是要限制循環的次數,只要保證min記錄的索引小於max記錄的索引便可

C:  每循環一次,就會對數組中元素進行一次交換。

D:  每次交換數據以後,就會對min和max記錄的值修改,小索引min須要加1,大索引max須要減1

 

17:下列描述正確的是(ABCD )

 

A:  構造方法也是方法,能夠重載.  

B:  構造方法沒有返回值類型,連void也沒有.

C:  構造方法名與類名一致

D:  若是一個類沒有編寫構造方法,那麼編譯器會默認生成一個空參的構造方法.

 

三:代碼題

18.【代碼題】

本題本質爲代碼分析題,分析代碼圖片,代碼圖片中共有 5 處錯誤,

紅框標出的代碼中存在錯誤,請找出具體的錯誤並給出修改方案。

答案交方式:新建一個 java 文件,按照下面要求在 java 文件中以註釋的形式填寫答案,

以後上傳這個答案文檔。

答案格式要求以下:

錯誤代碼的行號,正確代碼;

例如:

15,System.out.println("hello         word!」);

 

代碼圖片以下:

 

 

 

 

 

 

修改以下:

/*
9.int []arr=new int[5];
14.arr[i]=r.nextInt(99)+1;
18.comp(arr);
28.max=arr[i]
31.else if(min>arr[i]){
 */

 

 

19.【代碼題】

本題本質爲代碼編程題,需求以下:

1:定義學生類Student,提供成員變量姓名(字符串類型)和分數(整數類型),滿參數構造方法,getter和setter方法;

2:編寫學生測試類Test,利用滿參數構造方法,建立3個學生對象,並將3個對象保存到ArrayList集合中;

         三個對象分別是:"小黑",88   "小馬",92    "小智",75

3:遍歷集合中的三個學生對象,而後求出三個學生對象的平均成績並輸出到控制檯;

答案提交方式:在試題作完後,將本題全部的 java 文件打包壓縮上傳

代碼以下:

類文件:

package Moni_2;

import java.util.ArrayList;

public class Student {
    String name ;
    int cj;

    public Student() {
    }

    public Student(String name, int cj) {
        this.name = name;
        this.cj = cj;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getCj() {
        return cj;
    }

    public void setCj(int cj) {
        this.cj = cj;
    }
    public void show(ArrayList<Student>list){

        double sum=0;
        for (int i = 0; i < list.size(); i++) {
            Student stu = list.get(i);
            System.out.println("姓名: "+stu.getName()+", 成績: "+stu.getCj());
            sum+=stu.getCj();
        }
        double avg=sum/list.size();
        System.out.println("平均分:"+avg);
    }
}

測試文件:

package Moni_2;

import java.util.ArrayList;

public class TestStudent {
    public static void main(String[] args) {
        ArrayList<Student>list=new ArrayList<>();
        Student s1=new Student("張三",80);
        Student s2=new Student("李四",90);
        Student s3=new Student("王五",30);
        list.add(s1);
        list.add(s2);
        list.add(s3);
       s1.show(list);
    }
}

 

運行效果:

 

 

20.【代碼題】

遍歷下列字符串,篩選出其中的數字和字母並按照數字在前字母在後的規則

組成一個新的字符串,把組成的新字符串打印在控制檯。

字符串以下:

 

運行結果以下:

 

代碼以下:

import java.util.Scanner;

public class Moni_3 {
    public static void main(String[] args) {
       /* 遍歷下列字符串,篩選出其中的數字和字母並按照數字在前字母在後的規則
        組成一個新的字符串,把組成的新字符串打印在控制檯。
*/
       
Scanner sc=new Scanner(System.in);
        System.out.println("請輸入:");
       String s=sc.next();
        StringBuilder sb=new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c>='a'&&c<='z'){
                sb.append(c);
            }
        }
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c<='9'&&c>='0'){
                sb.append(c);
            }
        }

        for (int i = 0; i < sb.length(); i++) {
            char c = sb.charAt(i);
            System.out.print(c);
        }

    }
}

運行結果:

 卷3:

1、 單選題(每題 2分,共計 30分;得分____)

1. 下面有關JDK、JRE、JVM的說法錯誤的是( A )

A:  JDK包含JVMJVM包含JRE
B:  JDK是Java開發工具包,開發Java程序必須先在電腦上安裝JDK
C:  JRE是Java程序的運行環境、若是隻想運行Java程序,只安裝JRE便可
D:  JVM是Java虛擬機的簡稱,用來運行Java程序

A

2. 如下選項中,關於常量說法正確的是(A )

A: ' '(裏面是一個空格)。這是一個字符常量
" "(裏面是一個空格)。這是一個字符串常量

B: ''(裏面什麼都沒有)。這是一個字符常量
""(裏面什麼都沒有)。這是一個字符串常量

C:  'ab'。這是一個字符常量
「ab」。這是一個字符串常量

D:  1 2 3 3.0 這4個都是整數常量
1.0 2.1 -3.1 這3個都是小數常量

 

3. 下面對變量名定義符合規範的是 (C)

A. class B. 3a_b=10 C. $zb D. a+b

 

4. 下列描述正確的是( B )

A: 方法能夠提高Java程序的執行效率,優化Java程序的運行過程。

B: 方法能夠提升java代碼的複用性,方法定義後,能夠重複使用。

C: 程序員定義的方法,只能在main方法當中進行調用。

D: 在保證方法格式書寫正確的狀況下,方法當中也能夠定義方法。//方法不能夠嵌套

 

5. 下列哪一個代碼會報錯 (c)

A. String s= "join"+ 2+ true;

B. String s= "join"+"true";

C. int f=5+5L;

D. short s= 3;

 

6. 下列代碼中具備重載關係的是( A )//同一類中,方法名相同,參數不一樣,個數不一樣,類型不一樣,順序不一樣,沒有返回值重載

A:

public class Test{
   public void method(double d, int i) {...}
   public void method(int i, double b) {...}
}  

B:

public class Test{
  public void add(int i, int j) {...}
  public int add(int i, int j) {...}
}

C:

public class Test{
   public void sum(int i, int j){}
   public void sum2(int i, int j){}
}

D:

public class Test{
   public void show(int a, int b) {}
   public void show(int i, int j){}
}

 

7. 下列程序運行的結果是 (C )

int[] arr={9,5,2,7};
System.out.println(arr[4]);

A. 4

B. 7

C. 運行報錯,會出現ArrayIndexOutOfBoundsException異常

D. arr[4]

 

8. 下面代碼執行結果是 ( C )

int a = 8;
do {
a++;
}while (a < 9);
System.out.println(a);

A. 7 B. 8 C. 9 D. -2147483648

 

9. 若是有int n=5623;那麼下面獲取千位數正確的是( D )

A. n % 10//個位 B. (n % 100)/10//百位  C. (n % 1000)/100 //百位 D. n /1000

 

10. 下列表達式正確的是 ( D )

A. byte b =129;//超範圍

B. boolean b = "hello";//只能賦值true,false

C. long l=2342352356112323;//沒有標識

D. double d = 0.9239d;//標準方式賦值

 

11. 已知: int[] a =new int[100]; 請問如下給出的數組元素中會發生ArrayIndexOutOfBoundsException 異常 ( D )

A. a[0]

B. a[1]

C. a[99]

D. a[100]//0-99,索引越界

 

12. 如下代碼,取值結果正確的是: (C)

public static void main(String args[]){
   int [] a={1,2,3,4,5};0 1 2 3 4
   System.out.println(a[3]);
}

A. 3

B. 2

C. 4

D. 1

 

13. 下列哪一個是進入目錄的DOS命令 ( C )

A. exit//退出

B. dir//查看

C. cd

D. cls//清屏

 

14. 下列建立數組錯誤的是 (D )

A. int[] arr = new int[]{1, 2, 3};

B. int[] arr = {1, 2, 3};

C. int[] arr = new int[3];

D. int arr = {1,2,3};//int[]arr

 

15. 下列代碼的輸出結果是( A )

int x = 2;
switch(x) {
   case 1:
       System.out.println(1);
   case 2:
       break;//沒有輸出語句,直接break
   case 3:
       System.out.println(3);
   case 4:
       System.out.println(4);
}

A. 沒有任何輸出結果

B. 輸出結果爲3

C. 輸出結果爲3和4

D. 輸出結果爲一、3和4

 

2、 多選題(每題 4分,共計 20分;得分____)

16. 下列定義數組正確的是(AD )

A. int arr[] = new int[3]; B. int arr[] = new int[3]{1,2,3}; C. int arr[3] ={1,2,3}; D. int arr[] = {1,2,3};

 

17. 下列哪一個是合法的Java標識符?( CD )

A、Glasses&

B、2i

C、$2

D、$_

 

18. 下面程序的運行結果是 ( BC )

public class Test {
    public static void main(String[] args) {
        float i = 3.0f;
        int n = 10;
        System.out.print (i++);
        System.out.print(n * i++);//10*4.0
    }
}

A: 4.0

B: 3.0

C: 40.0

D: 50.0

 

19. 下列描述正確的是(ABD )

A: 方法定義的前後順序無所謂。

B: 方法的定義不能產生嵌套包含關係。

C: 方法可讓程序的執行效率更高

D: 方法定義好了以後,不會執行的,若是要想執行,必定要進行方法的調用。

 

20. 如下選項中,關於方法重載的描述正確的是( ABD )

A: 方法重載指在同一個類中,容許存在同名方法,只要它們的參數列表不一樣便可

B: 方法重載的參數列表不一樣指的是:參數的個數不一樣,或者參數的數據類型不一樣,或者參數的數據類型的順序不一樣便可

C: 方法重載與方法的修飾符有關係

D: 方法重載與返回值類型無關

 

3、 代碼題(共計 50分;得分____)

21. 定義一個方法,該方法用來獲取三個整數中的最大值。並在main方法中鍵盤錄入三個整數,而後調用方法,求出錄入的三個整數中的最大值。

代碼實現:

package Mn1;

import java.util.Scanner;

public class Mn1 {
   public static void main(String[] args) {
//       定義一個方法,該方法用來獲取三個整數中的最大值。
//       並在main方法中鍵盤錄入三個整數,而後調用方法,求出錄入的三個整數中的最大值。
       Scanner sc=new Scanner(System.in);
       System.out.println("請輸入第一個整數");
       int num_1=sc.nextInt();
       System.out.println("請輸入第二個整數");
       int num_2=sc.nextInt();
       System.out.println("請輸入第三個整數");
       int num_3=sc.nextInt();
       int[]arr={num_1,num_2,num_3};
       int max = Max(arr);
       System.out.println("最大值爲:"+max);
  }
   public static int Max(int[]arr){
       int max=arr[0];
       for (int i = 1; i < arr.length; i++) {
           if (arr[i]>max){
               max=arr[i];
          }
      }return max;
  }
}

 運行效果:

 

22. 定義方法exist,該方法用來判斷指定元素在數組中是否存在。 在main方法中定義數組,數組中的元素爲{3,5,2,6,1},調用exist方法,判斷該數組中是否包含2,並輸出結果。

package Mn2;

public class Mn2 {
   /*定義方法exist,該方法用來判斷指定元素在數組中是否存在。
   在main方法中定義數組,數組中的元素爲{3,5,2,6,1},
   調用exist方法,判斷該數組中是否包含2,並輸出結果。*/
   public static void main(String[] args) {
       int[] arr = {3, 5, 2, 6, 1};
       exist(arr);
  }

/*
//方法1
   public static void exist(int[] arr) {
       int index = -1;
       for (int i = 0; i < arr.length; i++) {
           if (arr[i] == 2) {
               index++;
           }
       }
       if (index != -1) {
           System.out.println("包含2");
       } else {
           System.out.println("不包含2");
       }
   }

}*/
//方法2:
  public static void exist(int[] arr) {
      for (int i = 0; i < arr.length; i++) {
          if (arr[i] == 2) {
              System.out.println("包含2");
              return;
          }
      }
      System.out.println("沒有2");
  }
}
運行效果:

相關文章
相關標籤/搜索