java零基础学习第五天

今天我们主要学习方法,和数组,在方法中我们主要学习方法的定义,类型,注意事项以及方法的重载和递归,数组中我们主要学习一维数组的定义,初始化,遍历,以及二维数组的声明初始化和遍历。
重点:方法,方法的重载,一维数组的定义,初始化,遍历

一.方法的一些常见问题

1.方法的定义
方法是具有某种特定功能的代码块。

2.注意事项
方法只能定义在类中,方法外,方法中不能嵌套别的方法

3.方法的分类
方法分为有返回值有形参,有返回值无形参,无返回值有形参,以及无返回值无形参。
各种格式如下:

有返回值有形参:
修饰符 返回值类型 方法名([参数列表]){
	方法体语句;
	return 返回值;
}
有返回值无形参:
修饰符 返回值类型 方法名(){
	方法体语句;
	return 返回值;
}
无返回值有形参:
修饰符 void 方法名([参数列表]){
	方法体语句;
}
无返回值无形参:
修饰符 void 方法名(){
	方法体语句;
}

1)修饰符:访问权限修饰符 public static
2)返回值类型: 方法运行完毕之后,结果的数据类型,分为基本数据类型和引用数据类型
3)方法名:方法的调用需要通过方法名调用,必须严格遵循修饰符的命名规则和规范
4)参数列表,可以是0~多个参数
参数:在方法运行过程中,有没有存在不能确定的值,未知的变量,如果有定义方法的参数
方法的参数相当于局部变量
参数列表: 数据类型 参数名1 数据类型 ,参数名2 数据类型 ,参数名3…
5){}–>方法体语句,解决功能的具体代码。
6)调用方法: 方法名+(); 执行方法中的代码。

4.方法中return的作用
1)在有返回值的方法中:结束方法,带出返回值。
2)在无返回值的方法中:结束方法。

5.不可达语句出现的情况:
1)一定会执行的return后出现的语句
2)死循环后出现的语句
3)break后面出现的语句
4)continue后面出现的语句

6.方法的兼容类型
1).形参的数据类型>=实参的数据类型
2).返回值: return后面数据的类型<=返回值类型<=接受数据类型

二.方法的重载

在一个类中,不能出现相同的方法。

1.方法重载的定义
方法的重载:同一个类中 ,多个方法方法名相同,参数列表不同(方法签名:方法名+参数列表–>一个方法唯一的表示) ,这些方法构成方法的重载。

2.要求
1).同一个类中
2).多个方法方法名相同
3).参数列表不同 :参数数据类型不同,个数不同, 顺序不同(不同类型的参数)

3.方法重载的注意事项
1).方法的重载和方法有无返回值无关
2).方法的重载和返回值类型无关
3).方法的重载和修饰符无关
4).方法的重载和参数的名字无关
5).方法重载只和方法签名相关

三.方法的递归(了解)

方法的递归指的是方法自己调用自己的情况。
临界条件:递归头 停止自己调用自己的条件
递归前进段:没有满足临界条件之前,自己调用自己
递归后退段:当满足临界条件,将结果返回给上一层
递归头: 临界条件
递归体::自己掉用自己
下面写一个最经典的递归问题:斐波那契数列的方法,帮助大家理解递归。

/**
斐波那契数列的递归代码
斐波那契数列的规律为:第一项和第二项为1,大于二的项为其前面两项的和。
*/
public static  int   fib(int n){
	if(n==1||n==2){//递归的临界条件
		return  n;
	}
	return fib(n-1)+fib(n-2);//递归体,自己调用自己
}

四.数组

数组指的是具有相同数据类型的有序集合。有时我们需要多个同一种类型的变量,这时候一一定义变量就变得很不方便。

1.数组的特点
1).数组是一个引用数据类型
2).数组是一个容器,长度一旦确定不能改变
3).数组中数据类型相同
4).数组中数据是有序的

2.数组的声明方式
1)数据类型 [] 数组名;
2)数据类型 数组名 [];
为避免与C语言中的格式搞混淆,推荐使用第一种方式。
其中数组类型既可以是基本数据类型,也可以是引用数据类型

3.数组的初始化
数组的初始化分为静态初始化和动态初始化。
1)动态初始化:
数据类型[] 数组名=new 数据类型[长度]; 创建指定长度的数组
数组中的数据存在默认值:
byte/short/int/long --> 0
double/float --> 0.0
char --> ’ ’
boolean --> false
引用数据类型 --> null
2)静态初始化:
数据类型[] 数组名=new 数据类型[]{值1,值2,值3…}; 由值的个数来决定创建的数组的长度
数据类型[] 数组名={值1,值2,值3…}; --推荐
注意:简略形式不可以给数组重新赋值

4.操作数组中的元素
下标范围为 0~ 数组名.length-1
索引(从0开始 ),数组名[索引]
数组的长度:数组名.length

5.数组的遍历
1.普通for循环
2.增强for循环 for…each
for(数据类型 变量名i:容器名|数组名){
i就是数组中的每一个数据,不是索引 , 从前向后遍历
}只能获取值不能赋值

6.二维数组(了解)
一维数组中存放一维数组就是二维数组。
1)声明
数据类型[][] 数组名; --推荐
数据类型 数组名[][];
数据类型[] 数组名[];
2)初始化
数据类型[][] 数组名=new 数据类型[一维数组的长度][二维数组的长度];
每一个第二维都是一样长度
数据类型[][] 数组名=new 数据类型[一维数组的长度][];
每一个第一维的空间中的数据都是一个小数组,但是每一个第二维数组都没有创建

猜你喜欢

转载自blog.csdn.net/qq_35901141/article/details/89608448