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();
}
}
運行效果:
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);
}
}
}
運行結果:
1. 下面有關JDK、JRE、JVM的說法錯誤的是( A )
A: JDK包含JVM、JVM包含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");
}
}
運行效果: