1、循环结构:
1)while
定义初始化表达式
while(条件表达式)
{
循环体(执行语句);
}
2)do while
do
{
循环体(执行语句)
}
while(条件表达式);
3)while先判断条件,只有条件满足才执行循环体
do while:先执行循环体,再判断条件,条件满足,再继续执行循环体
简单一句话:do while无论条件是否满足,循环体至少执行一次
4)for语句
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
执行语句;
}
5)for语句与while语句的关系与区别:
变量有自己的作用域,对于for,如果将用于循环的增量定义在for语句中,那么该变量只在for语句内有效,for语句执行完毕,该变量在内存中被释放
for和while可以进行互换,如果需要定义循环增量,用for更为合适
总结:当要对某些语句执行很多次时,就使用循环结构
2、两种无线循环的最简单表现形式:
for(;;){}不写条件表达式时默认为true
while(true){}
3、循环注意:一定要明确哪些语句需要参与循环,哪些不需要
4、语句嵌套形式:语句中还有语句
循环嵌套:
对于打印长方形:外循环控制的行数,内循环控制的是每一行的列数,也就是一行中元素的个数
三角形:尖朝上,可以改变条件,让条件随着外循环而变化;尖朝下,可以改变初始化值,让初始化值随着外循环变化。
5、System.out.println();//只有一个功能就是换行
6、其它流程控制语句
break(跳出):应用范围,选择结构和循环结构
continue(继续):应用于循环语句
注:这两个语句离开应用范围,存在是没有意义的;
这两个语句单独存在下面都不可以有语句,因为执行不到;
continue语句是结束本次循环继续下次循环;
标号的出现,可以让这两个语句作用域制定的范围;
7、break在两个嵌套循环中可以跳内循环,也可跳外循环,方法是在两个for前分别加标号(如w:for n:for),break w;或break n;
标号只能用于循环语句中,给循环起名字的一种方式。
8、continue只能作用于循环结构,继续循环。特点,结束本次循环,继续下一次循环。
9、函数:定义在类中的具有特定功能的一段独立小程序,函数也成方法。
10、函数格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,……)
{
执行语句;
return返回值;
}
返回值类型:函数运行后的结果的数据类型
参数类型:是形式参数的数据类型
形式参数:是一个变量,用于存储调用行数时传递给函数的实际参数
实际参数:传递给形式参数的具体数值
return:用于结页函数
返回值:该值会返回给调用者
11、函数的特点:
定义函数可以将功能进行封装
便于对该功能进行复用
函数只有被调用才会被执行
函数的出现提高了代码的复用性
对于函数没有具体返回值的情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写
注意:函数中只能调用行数,不可以在函数内部定义函数;定义函数时,函数的结果应该返回给调用者,交由调用者处理
定义函数放在上边或是下边都可以,先从主函数开始执行
12、如何定义一个函数:
1)既然函数的一个独立的功能,那么该功能的运算结果是什么先明确;
2)再明确定义该功能的过程中是否需要未知的内容参与运算;
13、函数的重载(overload)
概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
特点:与返回值类无关,只看参数列表
重载好处:方便于阅读,优化了程序设计
13、数组:
概念:同一种类型数据的集合,其实数组就是个容器
好处:可以自动给数组中的元素从开始编号,方便操作这些元素
格式1:元素类型[]数组名=new 元素类型[元素个数或数组长度];int[]x=new int[3];x是数组类型不是int类型。
格式2:元素类型[]数组名=new 元素类型[]{元素,元素,……};
14、栈内存:数据使用完毕,会自动释放;定义在方法中的变量,定义在方法中参数的变量,定义在for循环里的变量,都是局部变量
堆内存的特点:内存地址值;堆内存中的变量都有默认初始化值;有垃圾回收机制。