Day05作业

YangeIT大约 6 分钟

Day05作业

点击回到笔记 📒👈

1. 简答题

1️⃣ 1.1 请问方法是否能提高程序运行效率?为什么?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


2️⃣ 1.2 请问方法重载的特点是什么?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案



3️⃣ 1.3 请问方法的形参是基本引用类型和引用数据类型,有何区别?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


4️⃣ 1.4 请问定义方法前,我们应确定哪几个要素?

回答

可以用Typora或者editplus或者notepad++或者在idea中书写答案


2. 选择题 🔡

1️⃣ 2.1(单选):下列代码的运行结果是()

public static void main(String[] args) {
    int arr[] = {1, 3, 5, 7, 9};
    int num = 10;
    showArray(arr, num);
    System.out.println("arr[2]的结果是:"+arr[2]);
    System.out.println("num的结果是:"+num);
}
private static void showArray(int[] arr, int num) {
    arr[2] = 6;
    num = 1;
}
A:	arr[2]的结果是:6 
	num的结果是:1  
B:	arr[2]的结果是:6 
	num的结果是:10  
C:	arr[2]的结果是:5
	num的结果是:1 
D:	arr[2]的结果是:5
	num的结果是:10 

2️⃣ 2.2(单选):下列代码的运行结果是( )

public static void main(String[] args) {
    int[] arr = {1,2,3,4,5};
    changeArr(arr);
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i]+",");
    }
}

public static void changeArr(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
        if(arr[i]%2==1) {
            arr[i] = 10;
        }
    }
}

A:  1,2,3,4,5,

B:   1,10,3,10,5,

C:   10,2,10,4,10,

D: 10,10,10,10,10,


3️⃣ 2.3(单选):代码如下:

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

public static void method(){
    System.out.println("我是黑马程序员");
}

运行结果是:

我是黑马程序员

横线处应该填写的正确代码是( )

A:  method;
B:  void v = method();
C:  method();
D:  method("我是黑马程序员");

4️⃣ 2.4(单选):请观察以下代码,分别为第三行和第六行选出正确选项,保证可以在控制台上输出

public class Test08 {
    public static void main(String[] args){
	    _____①_____
    }

    public _____②_____ print() {	
        System.out.println("wo ai java");
    }
}

​ 运行结果是:

​ wo ai java

​ 横线处应该填写的正确代码是()

A:void v = print();static void	
B:print();static void    
C:int v = print();static int	
D:print();static	

5️⃣ 2.5(单选):下列方法定义格式正确的是( )

A:
public static void method1(){
    public static void method2(){
    }
}
B:
public static void method1(){
}
C:
public static void method1(){
   return 10;
}
D:
public static boolean method1(int n){
    if(n < 10){
        return false;
    }else if(n > 10){
		return true;
	}
}

6️⃣ 2.6(单选):观察以下代码,请选出方法调用过程的正确顺序( )

public static void main(String[] args) {
    System.out.println("开始执行");	   //1
    int a = print(10);                //2
    System.out.println(a);		     //3
}
public static int print(int n){    	 //4
    n += 10;                         //5
    return n;          			    //6
}

A:  1,2,3,4,5,6

B:  1,2,4,6,5,3

C:  1,4,5,6,3,2

D:  1,2,4,5,6,3


7️⃣ 2.7(多选):以下选项中,关于方法的调用过程描述正确的是 ( )

public class Demo{
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     int sum = getSum(a,b);
     System.out.println(sum);
     isEquals(a, b);
  }
  public static int getSum(int a,int b){
     int sum = a + b;
     return sum;
  }
  public static void isEquals(int a,int b){
    boolean c = a == b;
    System.out.println(c);
  }
}

A:  由java虚拟机调用main方法,main方法先执行

B:  在main方法执行中,会定义a和b变量,并分别赋值10和20,然后先调用isEquals方法,再调用getSum方法并输出结果

C:  调用getSum方法时,要先传入两个整数,否则编译失败。然后执行getSum方法内的代码,执行完成之后,将结果返回赋值给int类型的变量sum

D: 调用isEquals方法时,要先传入两个整数,否则编译失败。然后执行isEquals方法内的代码,执行完成之后,没有结果返回


8️⃣ 2.8(单选):下面关于方法的重载,描述错误的是( )

A:    方法重载,是指方法的名称相同,参数列表也相同的多个方法

B:   方法重载,可以减少对方法名称的命名次数

C:   方法重载,只能在同一个java类当中

D:   方法重载,返回值类型可以不相同


9️⃣ 2.9(判断题) 查看以下代码是否是方法重载?

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

public static void main(int[] arr) {     
}

答:(思考一下,main方法能否重载?为什么?).open in new window


🔟 2.91 (观察题) 查看以下代码是否存在问题,为什么?

public static void method(int a) {  // 1
}

public static int method(int num) {  // 2
}

public static boolean method(double num) {  // 3
}

答:(上述代码,哪个不属于第一个method方法的重载,为什么?).open in new window


🔡 2.92(观察题) 查看以下代码是否存在问题,为什么?

public static void main(String[] args) {
	int num = method(1);
    System.out.println(num);
}

public static int method(int num){
    if(num == 1){
        return 1;
    }else if(num > 1){
        return 2;
    }else if(num < 1){
        return 3;
    }
}

答:(上述代码是否有错,请说出原因,并改进代码).open in new window


3. 代码题

1️⃣ 3.1 请定义一个方法,该方法可以实现对int类型的数组进行遍历,在控制台打印所有元素。实现方法后,请在主方法中调用方法,查看结果。例如,数组为{11, 22, 33},打印格式为:[11, 22, 33]

3.1.1 训练提示

  1. 首先明确方法的返回值和参数列表,该方法只需要在控制台输出,f返回值类型为void.要实现打印数组元素的功能,需要方法的调用者把想打印的数组传递过来,所以参数列表是int[] arr
  2. 方法实现之后,不调用的话会执行吗?该怎样调用?

操作步骤

  1. 定义方法,返回值类型为void,参数列表为int[] arr
  2. 在方法中,遍历数组,判断是否是最后一个元素,并且根据不同的情况输出不同的格式。
  3. 在主方法中定义一个数组,调用方法,将数组作为参数传递,查看运行结果。

回答

代码写在Idea中.open in new window


2️⃣ 3.2 数字是有绝对值的,负数的绝对值是它本身取反,非负数的绝对值是它本身。请定义一个方法,方法能够得到小数类型数字的绝对值并返回。请定义方法并测试

3.2.1 训练提示

  1. 根据方法的功能描述,方法的参数应该接收一个double类型数据。
  2. 小数的绝对值也是double,所以返回值类型也是double类型。

操作步骤

  1. 定义一个小数变量num。
  2. 定义获取绝对值的方法,方法的参数是一个double类型,返回值类型是double。
  3. 在方法内部使用if..else..判断。
    • 3.1. 如果是负数则对负数取反并返回。
    • 3.2. 如果不是负数则直接返回数字本身。
  4. 在主方法中调用绝对值方法,传入参数num,并接受返回值。
  5. 打印返回的结果。

回答

代码写在Idea中.open in new window


plustask5