本文是《凯哥陪你学系列之java基础篇》。欢迎关注本账号,持续更新中~
本讲主要内容:
1:while循环练习1(累加思想)
2:while循环练习2(计数器思想)
3:for循环语句
4:本系列教程第0篇至第10篇传送门
1:while循环练习1(累加思想)
需求:计算从1到10这10个数子的和。
分析:
根据上面分析我们可以得到写程序的步骤:
1:未知的数据都是变量。所以声明变量
问题来了:声明几个?
a: 定义一个变量,记录参与加法运算的数据
b: 定义一个变量,记录每一次出现的和
2:对于参与加法的数据(也就是加号右边的)进行自增
3:因为加法运算是重复的,所以可以使用到循环。
所以根据以上分析我们写的程序:
class WhileTest1{
public static void main(String[] args){
int i = 1; //用于记录参与运算的数据
int sum=0; //记录每次出现的和
while(i<=10){ //循环结束条件
sum = sum +i; //和加上下一个数
i++; //参与运算的数据进行自增
}
System.out.println("1到10这是个数字的和为"+sum);
}
}
结果:
总结:
以上可以是一种简单的算法。(算法并非这么简单,一种好的算法对整个软件或是系统来说是质的改变!)。代码很简单,就几行,重要的是让大家学会分析问题的一种能力。
练习2(计数器思想)
需求:求1--100中是3的倍数的数字共有多少个?
分析:
举例说明:
生活中实例:全班共有多少个女生?
全班人数排队,一个一个检查,是女生的就+1。
所以1--100中是3的倍数的数字共有多少个?同样思路:
1:因为数据(班里面同学)要一个一个检查。所以想到循环;
2:循环的结束标志100(全班的人数);
3:检查的依据,能被3整除(是女孩);
4:符合条件的就+1(写”正”字)
5:数据是递增的,所以想到累加(同学是一个一个检查的)
6:具体数字是多少不知道,声明变量(具体是那个学生,叫什么不知道)
所以代码:
class WhileTest2{
public static void main(String[] args){
/**
需求:求1--100中是3的倍数的数字共有多少个?
**/
int count = 0; //用于记录符合条件的总数
int i=1; //开始数据
while(i<=100){ //循环结束条件 (全班的人数)
if(i%6==0){//是女孩
count+=1;//符合条件的就+1(写”正”字)
}
i++;//数据是递增的
}
System.out.println("1--100中是3的倍数的数字共有"+count+"个");
}
}
运行结果:
3.3 for语句
语法:
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句(循环体)
}
代码演示:
class ForDemo{
public static void main(String[] args){
System.out.println();
for(int i=0 ;i<10;i++){
System.out.println(i);
}
}
}
运行结果:
代码说明:
int i:初始化表达式 定义了一个int类型的变量 i 初始值为0
i<10 :循环条件表达式 循环执行结束的标识:i<10
i++ :循环后的操作表达式 每次执行完循环体的时候进行自增
sysout: 执行语句(循环体) 输出每次循环i的值
for里面的表达式运行顺序
从上面代码运行结果中我们可以看出for里面的表达式运行顺序:
初始化表达式只读一次,判断循环条件为真就执行循环体,然后在执行循环后的操作表达式,接着继续执行循环条件,重复,只到条件不满足为止。
画图说明:
思考:
上图这些代码输出的结果是什么?
语法中需要主要的:
1:初始化表达式和循环后的表达式只要是合法的就可以
2:循环表达式结果必须返回boolean类型的。
错误举例:
初始化表达式和循环后表达式只要合法就可以;
如下:
如下:
思考,上面这两个执行结果是什么?
ps:欢迎关注凯哥微信公众号:凯哥java
ps:本系列第0--10篇