1、函数(掌握)
1、概念(掌握)
定义在类中,有特定功能的一小段程序
2、格式(掌握)
修饰符 返回类型 函数名(参数类型 形式参数,...){
函数体;
return 返回值;
}
解释:
A 修饰符: public static
B 返回值类型 :就是数据类型
C 函数名:见名知意,如果一个单词,首字母小写,如果多个单词组成,从第二个单词开始首字母大写
D 参数类型 :数据类型
E 形式参数 :接受实际参数的变量
F 实际参数 :就是实际参与运算的变量
G 函数体:实现功能的代码
H 返回值 程序的结果,如果没有明确返回值可以不写
I return 返回值 ,那里调用程序,return就把结果返回到哪里 比如 int num = max(1,2);return把结果返回给num
3、特点(掌握!!)
A 函数和函数是平级关系,且只能定义在类中,不能在函数中嵌套函数
B 函数只有被调用才会执行
4、注意(掌握)
无论函数的返回值是具体的数据类型还是void,函数都是以return语句结束的
5、函数的调用(理解)
A 有明确返回值函数的调用
单独调用//没有意义
输出调用//视频中老师用的最多的
赋值调用//开发中用的最多的
B 没有明确返回值函数的调用
单独调用
6、函数的重载-overload(掌握)
概念
在同一个类中,函数名相同,参数列表不同(参数类型和个数),与返回值类型无关
举例
class Demo{
public static void print(int x, int y);
public static void print(int a,int b,int c)
public static void print(double a);
public static void print(int a);
}
7、案例(掌握)
1、有明确返回值的案例
A求两个数据和
B 求两个数据的最大值
C 比较两个数是否相等
2、没有明确返回值的案例
A 矩形案例
B nn乘法表
2、数组(掌握)
1、概念(掌握)
数组是存储多个同一类型数据元素的容器(container)
2、好处(理解)
数组中的元素会被自动从0开始编号,方便我们获取
3、格式(掌握)
A int[] arr =new int[2];//念法:int类型的数组arr
B int arr[] = new int[2];//念法:int 类型的arr数组,不推荐这么写,他和第一种格式其实一样的
C int[] arr = new int[]{1,2,3,7};//大括号内可以没有任何东西
D int[] arr = {3,4,65,4};//大括号内可以没有任何东西
推荐使用A D,如果是给方法直接传递实际参数可以用c
获取数组的长度:变量名.length;
4、内存图(理解)
堆:所有new出来的东西都在堆里
1、每一个实体都有地址值
2、每一个实体内的内容都有默认值
整数: 0
浮点数: 0.0
字符: ’\u0000’ //char c = ‘\u0000’;
布尔:false
5、数组操作(掌握)
1、数组遍历
2、获取数组最值
3、数组查找:给定一个值,查找该值在数组中对应的索引
6、常见问题(掌握)
A 数组越界异常:ArrayIndexOutOfBoundsException
你访问了不存在的索引。
B 空指针异常:NullPointerException
一个实例(对象)已经不存在了,你还去访问它的内容
7、二维数组(理解)
A 格式
第一种定义通过定义长度的方式定义了二维数组的长度,并且定义了一维数组的长度 int[][] arr = new int[6][3]
第二种定义通过长度仅定义了二维数组的长度,没有初始化一维数组int[] [] arr= new int[2][]
第三种定义通过直接给出元素定义了二维数组的长度和每一个一维数组的长度 int[][] arr = {{2,23},{33}}
B 案例
抽烟案例
/**
一条烟中10包烟
每包烟有20支烟
那么就把一条烟看成一个二维数组,里面的包是一维数组
*/
class SmokeDemo
{
public static void main(String[] args)
{
int[][] tiaoyan = new int[10][20];
tiaoyan[9] = new int[2];
for(int i=0; i<tiaoyan.length; i++)
{
int[] baoyan = tiaoyan[i];
for(int j=0; j<baoyan.length; j++)
{
System.out.println("正在抽第"+(i+1)+"盒烟中的第"+(j+1)+"根烟");
}
}
}
}
|
|