Day05作业
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方法能否重载?为什么?).
🔟 2.91 (观察题) 查看以下代码是否存在问题,为什么?
public static void method(int a) { // 1
}
public static int method(int num) { // 2
}
public static boolean method(double num) { // 3
}
答:(上述代码,哪个不属于第一个method方法的重载,为什么?).
🔡 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;
}
}
答:(上述代码是否有错,请说出原因,并改进代码).
3. 代码题
1️⃣ 3.1 请定义一个方法,该方法可以实现对int类型的数组进行遍历,在控制台打印所有元素。实现方法后,请在主方法中调用方法,查看结果。例如,数组为{11, 22, 33},打印格式为:[11, 22, 33]
3.1.1 训练提示
- 首先明确方法的返回值和参数列表,该方法只需要在控制台输出,f返回值类型为void.要实现打印数组元素的功能,需要方法的调用者把想打印的数组传递过来,所以参数列表是int[] arr
- 方法实现之后,不调用的话会执行吗?该怎样调用?
操作步骤
- 定义方法,返回值类型为void,参数列表为int[] arr
- 在方法中,遍历数组,判断是否是最后一个元素,并且根据不同的情况输出不同的格式。
- 在主方法中定义一个数组,调用方法,将数组作为参数传递,查看运行结果。
回答
代码写在Idea中.
2️⃣ 3.2 数字是有绝对值的,负数的绝对值是它本身取反,非负数的绝对值是它本身。请定义一个方法,方法能够得到小数类型数字的绝对值并返回。请定义方法并测试
3.2.1 训练提示
- 根据方法的功能描述,方法的参数应该接收一个double类型数据。
- 小数的绝对值也是double,所以返回值类型也是double类型。
操作步骤
- 定义一个小数变量num。
- 定义获取绝对值的方法,方法的参数是一个double类型,返回值类型是double。
- 在方法内部使用if..else..判断。
- 3.1. 如果是负数则对负数取反并返回。
- 3.2. 如果不是负数则直接返回数字本身。
- 在主方法中调用绝对值方法,传入参数num,并接受返回值。
- 打印返回的结果。
回答
代码写在Idea中.