day05 方法数组

1 函数的概念?函数的格式?格式的解释说明

完成特定方法的代码块

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
    方法体语句;
    return 返回值;
}

修饰符:目前就用 public static
返回值类型:就是功能结果的数据类型
方法名:就是起了一个名字,方便我们调用该方法
参数类型:就是参数的数据类型
参数名:就是变量
参数分类:
实参:实际参与运算的数据
形参:方法上定义的,用于接收实际参数的变量
方法体语句:就是完成功能的代码块
return:结束方法
返回值:就是功能的结果,由return带给调用者

说明Java方法中参数传递机制的具体体现

基本数据类型:数据值
引用数据类型:地址值(含变量的数据类型)

2 函数的调用

A:明确返回值类型的函数调用
B:void类型的函数调用

A:有明确返回值的方法
a:单独调用,没有意义
b:输出调用,不是很好,因为我可能需要不结果进行进一步的操作。但是讲课一般我就用了 ???
c:赋值调用,推荐方案

B:void类型修饰的方法
a:单独调用

3 函数的练习

A:求两个数据之和
import java.util.Scanner;

public class Sum {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个数字:");
		int a = sc.nextInt();
        System.out.println("请输入第二个数字:");
		int b = sc.nextInt();
		System.out.println("两个数的和是:" + (a+b));
	}
}

B:判断两个数据是否相等
import java.util.Scanner;

public class Judge {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个数字:");
		int a = sc.nextInt();
        System.out.println("请输入第二个数字:");
		int b = sc.nextInt();
		System.out.println("两个数是否相等:" + (a==b));
	}
}

C:获取两个数中较大的值
import java.util.Scanner;

public class Big {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入第一个数字:");
		int a = sc.nextInt();
        System.out.println("请输入第二个数字:");
		int b = sc.nextInt();
        int big = (a>b)?a:b;
		System.out.println("两个数中较大的值:" + big);
	}
}

D:打印m行n列的星形矩形
import java.util.Scanner;

public class StarMatrix {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入m:");
		int m = sc.nextInt();
        System.out.println("请输入n:");
		int n = sc.nextInt();
        for(int i=0;i<m;i++) {
            for(int j=0;j<n;j++) {
                System.out.print("*");
            }
            System.out.println();
        }
	}
}

E:打印nn乘法表
import java.util.Scanner;

public class MultiplicationTable {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入n:");
		int n = sc.nextInt();
        for(int i=1;i<=n;i++){
			for(int j=1;j<=i;j++){
				System.out.print(j+"*"+i+"="+(i*j)+"  ");
			}
			System.out.println();
		}
	}
}

4 什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可

两同一不同
在同一个类中,方法名相同,参数列表不同
参数列表不同:
参数的个数不同
参数的对应的数据类型不同

如何调用确定的方法:方法名 ->> 参数列表

5:数组的概念?有什么特点?

存储同一种数据类型的多个元素的容器
一个元素都有编号,从0开始,最大编号是长度-1

6 一维数组的定义格式?

数据类型[] 数组名

int [] arr = new int[5]; //动态化初始化
String[] arr = new String[]{"Tom", "Jim"} //动态初始化
数组一旦初始化,其长度就是确定的,不可修改 arr.length

不同类型数组的一维数组元素的默认初始化值是多少

整型 0
浮点型 0.0
char 0
boolean false
引用类型 null

7 数组操作的两个小问题

ArrayIndexOutOfBoundsException:数组索引越界异常
原因:你访问了不存在的索引。
NullPointerException:空指针异常
原因:数组已经不在指向堆内存了。而你还用数组名去访问元素。

8:数组常见操作

数组遍历(依次输出数组中的每一个元素)
数组获取最值(获取数组中的最大值最小值)
数组元素逆序 (就是把元素对调)
数组查表法(根据键盘录入索引,查找对应元素)
数组元素查找(查找指定元素第一次在数组中出现的索引)
public class Array {
    // 数组遍历(依次输出数组中的每一个元素)
    public static void printArray(int[] arr) {
        for(int x=0; x<arr.length; x++) {
            System.out.println(arr[x]);
        }
    }

	// 数组获取最值(获取数组中的最大值最小值)
    // 最大
    public static int getMax(int[] arr) {
        int max = arr[0];
        
        for(int x=1; x<arr.length; x++) {
            if(arr[x] > max) {
                max = arr[x];
            }
        }
        
        return max;
    }
    // 最小
    public static int getMin(int[] arr) {
        int min = arr[0];
        
        for(int x=1; x<arr.length; x++) {
            if(arr[x] < min) {
                min = arr[x];
            }
        }
        
        return min;
    }

	// 数组元素逆序 (就是把元素对调)
    public static void reverse(int[] arr) {
        for(int x=0; x<arr.length/2; x++) {
            int temp = arr[x];
            arr[x] = arr[arr.length-1-x];
            arr[arr.length-1-x] = temp;
        }
    }

	// 数组查表法(根据键盘录入索引,查找对应星期)
    public static String getString(String[] strArray,int index) {
        return strArray[index];
    }

	// 数组元素查找(查找指定元素第一次在数组中出现的索引)
    public static int getIndex(int[] arr,int value) {
        for(int x=0; x<arr.length; x++) {
            if(arr[x] == value) {
                return x;
            }
        }        
        return -1;
    }
}

赋值 Vs 复制

array2 = array1

int[] array2= new int[array1.length];
for(;;) ...

数组中常见的异常
ArrayIndexOutOfBoundsExceptioin 数组角标越界异常
合理范围 [0, arr.length-1]
越界 arr[-1], arr[arr.length]

NullPointerException 空指针异常
int [] arr = null;
arr[0]
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值