JAVA 蹒跚自学之 第六日 函数 数组
定义函数的格式 修饰符 返回值类型 函数名 (参数类型 形式参数1,参数类型 形式参数2,………………………….)
(代码块
return
}
如何定义一个函数 1 明确要定义的函数的返回值类型 2 明确 要定义的函数的参数列表 3 明确要定义函数的功能,不该函数完成的功能不要加到函数里面,切记,切记。
例如 1 定义一个函数 完成两个数的求和
public static int getsum(int a ,int b)
{
return a+b;
}
2 将2个整数的和 打印到控制台
public static int getsum(int a ,int b)
{
return a+b;
}
System.out.println(getsum(8,4));
而不应该写成
public static void getsum(int a ,int b)
{
System.out.println(a+b);
return;
}
函数只要完成她自己的功能就可以了,不可以把 ,调用函数者要做的事情,也加到函数中去。
overload 函数重载
//需求 根据用户给出的一个1-9之间的数 打印出99乘法表
//思路:1 完成99乘法表的功能函数
// 2 定义一个带有用户制定的数的重载函数
class OverLoadDemo
{
public static void show99(int w)
{
for (byte x=1;x<=w ;x++ )
{
for (byte y =1;y<=x ;y++ )
{
System.out.print(y+"*"+x +"="+y*x+"\t");
}
System.out.println();
}
}
public static void show99()
{
/*for (byte x=1;x<=9 ;x++ )
{
for (byte y =1;y<=x ;y++ )
{
System.out.print(y+"*"+x +"="+y*x+"\t");
}
System.out.println();
}
*/
show99(9);
}
public static void main(String[] args)
{
show99(3);
}
}
函数的重载就是为了提高代码的复用性,提高效率
数组
数组 常见问题 1 角标越界 2 空指针
int [] arr = new int[]{3,1,55}
System.out.print(arr[8]);
ArrayIndexOfBoundsException
arr = null;
System.out.print(arr[1]);
NullPointerException
数组操作一 遍历一个数组
class ArrayDemo
{
// 定义一个函数 功能是遍历一个数组 并将数组元素打印到控制台上
public static void show(int[] arr)
{
System.out.print("[");
for (int x=0;x<arr.length ;x++ ) //.length-1 就是数组元素的最后一个元素的角标
{
if (x!=arr.length-1)
System.out.print(arr[x]+","); //如果角标不是数组里面的最后一个角标 就打印这个
else
System.out.print(arr[x]+"]"); //如果是最后一个角标就打印这个
}
System.out.println();//整个数组的元素完全输出后就换行
}
public static void main(String[] args)
{
int[] arr =new int[]{20,63,8,4,55,99};// 静态定义一个 int类型的数组 并赋值
show(arr); //调用遍历数组元素的函数
}
}
数组操作二 找出一个数组里面的最大值
分析:定义一个变量 存储数组里面的第一个元素的值,然后分别与其他元素的值对比,将大的元素的值存放在这个变量中,然后输出此变量的值 就是这个数组里面最大的那个值。
步骤: 1 定义一个变量 ,并存储数组的第一个元素的值
int m =arr[0]
2 分别将这个值与数组中其他元素的值做比较,将大的值存储在这个变量中。
代码:
public static int getMax(int[] arr)
{
int m =arr[0]; // 定义一个变量 存储数组的第一个元素的值
for (int w=1;w<arr.length ;w++ ) // 利用for的循环 来实现数组里面的元素的值分别与变量里面的值做比较
{
if (m<arr[w]) //将 变量里面的值与数组里面的值比较,并将大的值存储在变量里面
{
m=arr[w];
}
}
return m; //向函数返回这个存储最大值的变量
}
public static void main(String[] args)
{
int[] arr =new int[]{20,63,8,4,55,99};// 静态定义一个 int类型的数组 并赋值
//show(arr); //调用遍历数组元素的函数
int n = getMax(arr); // 调用 能找出一个数组里面最大值的函数 并用一个变量接收
System.out.println(n);
}