循环结构
循环结构的特征(2个):
1.具有循环体:重复执行的代码称为循环体。可以是一条语句,也可以是多条语句。重复执行某些代码
2.有明确的开始和结束。具有循环的初始状态、循环条件、循环的控制语句。
循环的初始状态:即循环的起始状态,简单说就是循环开始的时候什么样?
循环条件:循环体反复执行的判断条件。简单说就是判断循环是否能一直执行下去。
循环控制语句:循环执行中每次变化的内容,简单说就是控制循环是否执行下去。
循环的使用场景:当你发现有重复代码执行时,就需要用循环了。
for循环
for(表达式1;表达式2;表达式3){
循环体;
}
一直执行,停止不了的循环,称为死循环,实际开发中,应该避免死循环。
循环的初始条件:表达式1 只执行一次
循环条件:表达式2 如果表达式2的结果是true,则执行循环体, 否则结束循环。
循环控制条件:表达式3 它用来调控循环能够结束,一般会自增或 自减
for循环的执行顺序:表达式1 ,(仅执行一次) 表达式2,循环体,表达式3 表达式2,循环体,表达式3 ............ 表达式2, 循环体,表达式3, 表达式2(表达式2为假时,结束循环)
for循环:循环体 + 循环控制
断点调试
断点调试:再程序的某个位置打上断点,程序在运行的过程中就会停在断点处,等待我们进行下一步的操作。
添加断点、移除断点
在代码行号的左侧,双击鼠标左键,即可添加上断点;再次双击鼠标左键,即可移除断点。
关键代码处:1.复杂业务逻辑代码的开头位置 2.for循环的开始出 3.容易出现错误的代码处
调试代码
Step Over:执行一行代码,单步执行
Step Into:进入代码内部(如果当前行是一个函数,会跳入到函数内部,如果只是一行普通代码,功能和Step Over一样)
Step Return:与 Step Into配套使用,用于跳出Step Into进入的函数
Resume:结束当前断点,跳到下一个断点位置。
鼠标右键——Debug As——Java Application——Switch
Random类:可以产生随机数,是一个随机数生成器,但是是一个伪随机,它会根据种子产生一个数列,每一个种子对应一个唯一的数列。如果不指定种子,会使用当前系统时间作为种子。
Random r=new Random(种子long seed);
Random r=new Random(100);//指定种子
Random r=new Random();//不指定种子
int num=r.nextInt(13)+5;//产生一个取值范围在[5,18)的随机数
[min,max] :
int num =r.nextInt(max-min+1)+min;
while循环
while循环能实现for循环全部的功能,除此之外,while循环还适用于不知道具体循环次数的循环(只知道循环结束条件,但不清楚循环多少次结束)
whlie(条件表达式)
{
语句体;
}
每除以一次10,相当于抹掉一个最低位(个位)。
long moneys=10000000000l;//long类型的,后面要加l
总结:1. while可以实现for循环的全部功能
2. while循环善于处理不知道循环次数的循环
3.开发中使用的是while 的第二种功能
do..while循环
do..while循环是 Java 中的第三种循环结构,是使用频率最低的循环结构
do..while循环能实现while循环的全部功能
do..while循环和while循环的唯一区别是do..while循环会至少执行一次循环。
do
{
循环体;
}while(表达式);
执行流程:
1.执行循环体语句
2.判断表达式的值是否为true。如果为true,执行步骤1
3.如果表达式的值为false,结束循环
while循环是先判断条件再决定是否执行循环体
do..while是先执行一次循环体,再判断条件,如果条件为true,继续执行循环体;如果为false则循环结束。
总结:
1.在实际开发过程中,for循环使用频率最高
2.需要循环,但是没有固定的次数的时候,使用while或者do..while循环
语法
语法:很固定,多写几遍
算法:需要有思路
语法---->算法:算法--->伪代码---->语法;把过程可以写成注释,注释再修改成语法。