本帖最后由 HAIHAIHEI 于 2022-3-24 11:28 编辑
第九天,有不对之处麻烦各位指正
循环语句:
包括:for循环,while循环,do......while循环
在有代码需要重复执行的时候,使用循环语句来减少代码量
if循环:[Java] 纯文本查看 复制代码 /*for语法以及运行原理
语法机制:
for(初始表达式;条件表达式;更新表达式){
循环体;//循环体由Java语句构成
Java语句;
Java语句;
Java语句;
Java语句;
......
}
注意:1.初始化表达式最先执行,并且在整个循环中只执行一次。
2.条件表达式的结果必须是一个布尔类型,也就是:true或者false
执行原理:
先执行初始化表达式,并且初始化表达式只执行一次。然后判断条件表达式的结果,如果条件表达式的结果是true则执行循环体
循环体结束后,执行更新表达式。更新完之后再判断条件表达式的结果。如果还是true,继续执行循环体。
直到更新表达式执行结束后,再次判断条件,条件为false,for循环终止。
更新表达式的作用:控制循环的次数,更新表达式会更新某个变量的值,这样条件表达式的结果才有可能从true变成false,从而终止for循环的执行如果缺失更新表达式,很有可能会导致死循环。
*/
public class test
{
public static void main(String[] args){
//最简单的for循环:
//初始表达式,条件表达式,更新表达式都不是必须的
// for(;;){
//System.out.println("52破解");//ctrl+c可以终止执行
//}//因为没有设置终止,所以会一直循环下去,为了下面代码可以正常执行,所以设为注释了
//最常见的for循环
//循环十次,输出0~9
for ( int i = 0 ;i < 10 ; i++ ){
System.out.println("i="+i);
}
//对于以上for循环,其中int i = 0最先执行,并且只执行一次,而且i变量属于for循环的局部变量,for循环结束后i的内存就释放了
//i变量只能在for循环中使用,属于for循环域,在main方法中没有办法直接使用
int i = 0;
//这样i变量的作用域就扩大了
for(;i < 10;i++){
System.out.println("i---->"+i);//0 1 2 3 4....9
}
System.out.println("i---->"+i);//10
//变形
for(int k = 1;k <=10;k++){
System.out.println("k---->"+k);//1 2 3....9
}
//变形2
for(int k = 1;k <=10;){
System.out.println("k---->"+k);
k++;
}
//变形3
for(int k = 1;k <=10;){
k++;
System.out.println("k---->"+k);//2 3 4 5.....11
}
//变形4
for(int k = 10;k > 0;k--){
System.out.println("k ="+k);//10 9 8 7....1
}
//变形5
for(int k =0;k<10;k+=2){
System.out.println("k ="+k);//0 2 4 6 8
}
//变形6
//for (int h=100;h>0 ;h%=3 ){
//System.out.println("h ="+h);//100 1 1 ...1
//}同理:依旧是形成了死循环,为了下面代码可以正常执行,先注释掉了
//案例:
//使用for循环,实现1~100所有奇数求和
//第一种写法:
//先找到1~100所有奇数,然后相加
int num =0;
for (int g =1;g<=100 ;g++ )
{
if (g%2==1)//判断g为奇数
{
System.out.println("g ="+g);
num += g;//累加(num = num + g;)
}
}
//在for循环语句结束后,输出的num就是最终结果
System.out.println("1~100所有奇数之和为:"+num);
//第二种写法:
num = 0;
for (int f = 1;f<100 ;f+=2 )
{
num +=f;//所有奇数累加
}
System.out.println("1~100所有奇数之和为:"+num);
}
}
|