大家好,欢迎大家的浏览欣赏;
五、Java循环结构
首先Java的循环结构是指通过某个条件,重复一段逻辑代码
循环主要都包括:while循环、do while循环、for循环、for嵌套循环
1).while循环:
特点:首次既有入口条件,先判断、在执行,使用于循环次数明确的情况
2).do while循环:
特点:首次没有入口,先执行,在判断
3).for循环:
for循环语法:
for(1.初始部分;2.循环条件;4.迭代部分){
3.循环操作//写逻辑代码
}
- for循环与while循环相同,首次判断不满足,则一次都不执行。(执行次数0~n次)
- 首次既有入口条件,先判断、在执行,使用与循环次数明确的情况。
4).for嵌套循环:
在一个完整的循环结构中,嵌套另一个完整的循环结构;
- 图形:外层控制行数,内层控制列数;
- 其他:外层控制循环,内层控制单次循环操作。
流程控制语句:
主要有break、continue;
- break:中止、跳出switch,以及所有的循环结构,循环执行中遇到break则退出整个循环结构;
- continue:循环执行中遇到continue则跳过此次,进入下一次循环。
六、函数
函数的概念:实现特定功能的一段代码,可反复使用;
一个函数只做一件事(单一职能原则)
定义的语法,如图 :
函数定义 :
定义在类的内部,与main函数并列,多数情况下,定义main函数的下面
函数的执行顺序 :
函数调用时,优先执行函数的代码,结束后返回到函数调用处,继续向下执行
函数的形式参数、实际参数 :
public static void函数名称(形式参数){
//局部变量的声明
}
调用语法:
函数名称(实际参数);//为形式参数赋值。
返回值与返回值类型:
- return value;//表示结束当前函数,并伴有返回值,返回函数调用处(有具体的返回值类型)
- return;//表述结束当前函数,直接回返回到函数调用处,(返回值类型是void)
- 返回值定义:基本数据类型、引用数据类型、void
函数的递归:
递归与for循环相同,但递归的编写是比for循环简化一些
- 实际再发中,递归可以解决一些具有既定规律问题
- 当需要解决的问题可以拆分成若干个小问题、大问题,小问题的解决方法相同,有一定的规律,函数自己调用自己
- 设置有效的出口条件,避免无穷递归
注意:一个类可以定义多个函数,函数之间数据并列关系,不可嵌套
函数的好处:
- 减少代码沉余
- 提高复用性
- 提高可读性
- 提高可维护性
- 方便分工合作
七、数组
数组的组成概述:
- 数组中的每一个“格予”成为“数组的元素”
- 对元素的访问分为:“赋值”“取值”
- 对访问元素是,需要通过“下标”(从0开始,一次+1,自动生成)
- 访问的语法:数组名【下标】;//存a[0]=10,取a[a]
- 下标的范围:0~数组的长度-1,如果不在有效内,产生 java.util.ArraydexOutOfBoundsExecption:错误下标
语法:
数组扩容
创建数组时,必须显示指定长度,并在创建之后不可更改长度;
扩容的思路:
地址的替换
基本数据类型的地址替换:
存储在栈中(基本理性的变量中,直接存储"值")
基本数据的类型的传递,是"值"的传递,一方改变,不会影响另一方
引用数据类型的地址替换:
存储在对中(引用数据类型的变量中,存储的是对中的"地址")
引用数据类型的传递是"地址"的传递,一方改变,会影响另一方
例子:
nums =newNums;//将新数组的地址,赋值给nums变量,进而在后续操作nums时,则操作长度更大的新数组
数组的排序:
二维数组
概念:一维数组中的一维数组,数组中的元素,还是数组
赋值:
赋值 使用双下表访问二维数组中的元素:
- 第一个下标代表:行号(高维下标)
- 第二个下标代表:列号(低维下标)
注意:高位数组中的每一个元素,保存了低维数组的地址,访问array[0]等于访问"0X00000A11"地址(二维数组的内存分配图)
二维数组语法:
感谢大家的欣赏,谢谢!!