Java学习第九天
本帖最后由 HAIHAIHEI 于 2022-3-24 11:28 编辑第九天,有不对之处麻烦各位指正
循环语句:
包括:for循环,while循环,do......while循环
在有代码需要重复执行的时候,使用循环语句来减少代码量
if循环:/*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);
}
}
纯手打,如果有不对之处希望各位大佬指出,感激不尽{:1_893:}(注:这次应该是真有不对的地方,老报错,今天没什么进度,明天尽可能赶回来{:1_909:}) 我也在学习Java了{:1_901:} 楼主注释写得好仔细啊,简直是太赞了。注释详细的代码看起来是真的舒服。
另外,楼主说老是报错,我看了好几遍也没找出错误(太晚了就没开电脑运行了),会不会是有些符号敲成了中文符号?
楼主如果找到了错误求踹我一脚,我再来学习{:1_918:} heike666 发表于 2022-3-24 00:38
g%是啥意思
就是g先从1到100取值后,里面取余2的话,只要结果为1那么就是奇数,那个主要是为了筛选出1到100里面的奇数 写的不错 学习了 楼主用的哪家的教程呢 能否发一份 我也想学习java或者前端 楼主写的不错,学习了 向楼主学习