黑马程序员——Java基础语法(三)—函数、数组

时间:2022-08-27 08:31:59

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------

一、函数
1:函数的概述及格式
(1)函数就是定义在类中的具有特定功能的一段独立小程序。函数也称为方法。
(2)函数的格式

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
执行语句;
return 返回值;
}
public static int add(int a,int b){}
A:修饰符 后面会重点讲。public static
B:返回值类型 这个特定的功能完成后,需要返回一个结果。这个地方就是返回结果的类型。
C:函数名 为了方便使用这个函数,给它起个名字。这个名字要符合标识符命名规则。
D:参数类型 形式参数的数据类型
**:形式参数 自定义的接收方
**:实际参数 发出方add(3,5)
E:执行语句 那么这个语句是由多条语句组成。
F:return 这个功能执行完以后,需要有一个返回值,那么这个值有关键字return带回。

2:函数的使用及注意事项
A:一般函数只有被调用后,才执行。
B:void 表示没有返回。在这个函数的结尾可以不写return。其实jvm会自动的结尾处加上return;
C:函数中不能定义函数
D:如果定义自己的函数 两个明确
明确该功能的结果 其实就是该功能的返回类型。
明确该功能的参数 其实就是明确该功能中是否需要未知内容(形式参数)参与运算。明确未知内容的类型


和个数。


3:函数的重载
A:函数名相同,参数列表不同。
参数类型不同。int add(int i)void add(double d)
参数个数不同。add(int a,int b);add(inta,int b,int c)
参数顺序不同 print(String name, int age) //参数顺序不同的重载是可以存在的,但是没有什么实际意



B:特点:与返回值类型无关,只看参数列表。
C:好处:便于阅读,优化程序设计。


4:函数的练习

A:for的嵌套循环打印矩形用函数封装起来,根据所传参数打印行和列
B:判断两个(int型)整数是否相同
C:比较两个(int型)整数哪个大?
D:定义一个功能获取三个(int型)整数中的最大数
F:定义一个方法求一个数的十六进制表现形式

二、数组
1,数组概述及格式
数组:同一种类型数据的集合。其实数组就是一个容器。
只要是容器,就得重点掌握。
数组的好处
可以自动给数组中的元素从0开始编号,方便操作这些元素。
数组的定义格式

A:当不明确数组中的元素时,动态初始化
举例 :
int[] arr = new int[3];
arr[0] = 3;
B:当明确数组中的元素时,静态初始化
举例 :
int[] arr = new int[]{1,2,3,4,5};
int[] arr = {1,2,3,4,5};
2,什么时候使用数组?
当要操作的同种数据类型的数据是多个的时候,你就得想着先把这些数据用数组进行存储。


数组的内存图
A:栈
存储的是局部变量(在函数中定义的变量)。
变量被使用完后,立即自动释放。
B:堆
存储的是实体(数组和对象)。
实体:new出来的东西,可以存放很多数据的东西。
堆内存数据的特点
每个实体都有内存地址堆内存中的变量都有默认初始化值
int --> 0
double --> 0.0
boolean --> false
char --> '\u0000' 空字符,unicode编码。
当实体不在被使用的时候,会在jvm空闲的时候,通过java垃圾回收机制使其自动释放。
C:方法区 后面讲。(static)
D:本地方法区 调用是Windows系统底层资源,我们不用考虑。
E:寄存器 和CPU相关。我们不用考虑。


3,二维数组概述和定义
格式1:int[][] arr = new int[3][2];
A:定义了名称为arr的二维数组
B:二维数组中有3个一维数组
C:每一个一维数组中有2个元素
D:一维数组的名称分别为arr[0], arr[1], arr[2]
arr:二维数组名
arr[1]:二维数组中的第二个一维数组名
arr[1][1]:二维数组中的第二个数组的第二个元素
E:给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
格式2:int[][] arr = new int[3][];
A: 二维数组中有3个一维数组
B: 每个一维数组都是默认初始化值null
C: 可以对这个三个一维数组分别进行初始化
arr[0] = new int[3];
arr[1] = new int[5];
arr[2] = new int[7];
格式3:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};arr[2].length
A:二维数组有3个一维数组。
B:
第一个一维数组有3个元素
第二个一维数组有2个元素
第三个一维数组有4个元素



4,二维数组的应用

(1)二维数组的遍历
int[][] arr2 = new int[2][3];
public static void printArray2(int[][] arr2){
for(int i=0; i<arr2.length; i++){
for(int j=0; j<arr2[i].length; j++){
System.out.print(arr2[i][j]+" ");
}
System.out.println();
}
}
(2)二维数组的应用

求一年的销售总额。
public static void printArray2(int[][] arr2){
int sum = 0;
for(int i=0; i<arr2.length; i++){
for(int j=0; j<arr2[i].length; j++){
sum = sum + arr[i][j];
}
System.out.println("sum =" + sum);
}
}




-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------