4种循环:只建议刚刚学java循环,一下理解不了循环是什么鬼的人们看。
1.while循环;
{
语句块;
}
这里语句块你随意写,开心就好。条件表达式刚刚上课或者自学的都会想到这是个什么鬼,别说让我理解循环了。这条件表达式都没理解明白。
条件表达式就是里面的一个条件。就像人跟人谈条件是一样的。众所周知while循环是先进行判断在循环的。
比如你定义2个变量int a=2;int b=3;
条件表达式里你写b==a.这是错的,也就是为假的了。条件不成立。while就会跟你说拜拜。不会循环。
条件表达式写a<b;这是对的啊。条件成立了啊。while看见条件成立了,它就开始工作了。就跟你找工作,你要1万rmb一个月,老板不给你就不理他,他给你一万你努力干是一样的。语句块就是你要干的活。
int a=0;
while(a<10)
{
System.out.println(a);
a++;
}
这个你看嘛,a是不是小于10.条件成立,立马循环。但是后面的a++;又是什么鬼,
这个a++;叫自增。你可以理解为a=a+1;
条件是a<10才会停止循环,所有循环10就停了。打印结果就是0到9。
2.do{
}while();循环呢
do
{
语句块;
}while(布尔表达式);
这个布尔表达式就是上面那个条件表达式是一个道理,但是这里只能是真或者假。也就是true和false。但是有时候看见别人写的不是这2个玩意啊。没错,这个疑问是正确的。因为我们可以在do上面定义一个Boolean类的变量;比如boolean f=false;
这样你就可以在while的括号里写f。因为f代表false蛮。语句块也是你随意写。但是语句块里写分支语句的话。
得到你想的结果你想停止循环。可以写f=false;因为布尔表达式哪里是假啊。一模一样的有没有。所以停了,记得加一个break;
得到的结果不理想还想要继续循环就写f=true。do while看见跟我这条件不一样啊,那么while就继续循环。
你懂的,条件不成立就结束,不然继续循环。
int a=6;//自己爱定义多大定义多大
int b=9;
boolean f=false;
do
{
if(a=b){
System.out.println("a和b一样") ;
f=false;
break;
}else{
System.out.println("a和b不一样");
f=true;
}
}while(f);
注意:例子代码因为不全,当走else里去了的话,就是死循环了。参考补全,加强动手能力。
提示:a可以控制台输入,这样就不是死循环了
或者你在语句块不想要这东西,那就写一个continue跳过去就好了。
while和do…while唯一区别就是不管布尔表达式返回true或false,do…while循环体至少都会执行一次。
3.for();循环
for(初始式;判断式;递增式)
{
语句块;
}
初始值就是开始的地方,判断式难道还不理解吗。就是上面那个条件表示的节奏。递增式就跟上面的a++;是一个玩意
来写一个例子
for(int i=0;i<10;i++)
{
System.out.println("我爱java");
}
打印结果就是10句system里面的话。
好好理解,学到for循环,这个i就是你亲戚了,用的多。不知道java的前辈们为什么都喜欢用它,
来分析for括号里的东西,开整
这个int i=0;就是定义一个变量为0啊。然后为什么i<10怎么不写int了呢。这个嘛。因为前面已经定义为int类型的啦。
所以这个条件就是循环跟while循环里那个事是一样的。就是当i不小于0就结束循环,这个i++;就是循环一次就给前面的int i=0;哪里加1啊。所以你想第一次前面的i是0,第二次循环回来就是1了啊。循环到第11次就是10。这样条件就不成立,所以前面只会循环10次。因为从0开始到9正好10次。另外还有for循环里面还写的for循环,这个就是外面的for循环一次,里面的for需要循环到结束。
下面来一个二重循环做的东西
public static void main(String[] args) {
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print( j+"*"+i+"=" +i*j+" \t");
}
System.out.println();
}
}
}
你刚刚学可能看不懂,这个打印结果就是小学二年级学的九九乘法表。这个就是外面循环第一次,里面需要循环到结束。外面循环第二次,里面又要循环一次。
理解代码最好自己动手打,千万别死记代码。要跟学太极一样,忘招忘形。java记得东西不多。有些东西做做笔记就好了。要会查资料。查的时候要快准狠。
4.for each();循环