概述
一,while语句和do…while语句
private void whileMethod() {
int x=1;
while(x<3){
System.out.println("while语句:"+x);
x++;
}
}
private void doWhileMethod() {
int x=1;
do{
System.out.println("while语句:"+x);
x++;
}
while(x<3);
}
两者的语法:
while(条件表达式){循环体}
do{循环体}while(条件表达式)
当我们需要执行多次某条语句时,就可以把该条语句放置到while的循环体中。
当然这两者也有一点小小的区别。
两者的区别:
while语句,如果不满足条件表达式,那么一次也不会执行循环体。
而do…while则不同,无论while的判断条件与否,都会执行一次循环语句。
使用while语句时需要注意的地方:
private void whileErrorMethod() {
int x=1;
while(x<3);{
System.out.println("while语句:"+x);
x++;
}
}
上面的代码乍眼一看,好像是没有多大的问题。执行时也不会出现任何问题。可是,却不会执行我们的循环语句。
究其原因,是因为”while(x<3)”后面不小心多了“;”,我们知道,语句结束有两种方式,要么是以分号”;”结束,要么是大括号”}”结束。
当程序执行到此时,会不断的判断x是否小于3,从而不会执行下面那条独立的代码块,而且显然这条代码块是毫无意义的。
二,for语句
private void forMethod() {
for (int i = 0; i <10; i++) {
System.out.println("for语句:"+i);
}
}
for语句的语法:
for(初始化表达式;条件表达式;循环后的操作表达式){ 执行语句; }
既然都可以进行循环,那么怎么选择它们?
private void forAndWhileDistinction() {
for (int i = 0; i <10; i++) {
System.out.println("for语句:"+i);
}
System.out.println("for语句结束:"+i);
int j=0;
while(j<10){
System.out.println("while语句:"+j);
}
System.out.println("while语句结束:"+j);
}
当定义在for语句中的变量结束循环后,该变量会在内存中释放。
而在for循环外,打印该变量,程序会出现错误。
所以,如果只是为了循环增量的存在,控制循环次数,最好使用for循环,因为这样可以优化内存,虽然只是小小的一丢丢。
三,for语句另类写法
(1)写出来的一定要满足for语句的语法
for(System.out.println("a");System.out.println("b");System.out.println("c")) {
System.out.println("d");
}
这种写法是错误的,原因是“System.out.println(“b”);”并不是条件表达式,仅仅只是一条语句,必须要有真假。
(2)不执拗于传统的写法
int x=0;
for (System.out.println("a");x<3;System.out.println("c")) {
System.out.println("d");
x++;
}
打印结果: adcdc 不要执拗于for语句的固定写法,只要是表达式即可。syso打印语句满足上诉所说的,就可以写。
(3)有种奇葩的写法虽然怪但不可以说它错
//一般写法
for (int i = 0; i<3; i++) {
}
//奇葩写法
int i=0;
for (;i<3;i++) {
i++;
}
(4)最简单的无限循环的写法
for(;;){}
while(true){}
四,for语句的进阶
打印出:
*****
****
***
**
*
分析:
for (int i = 0; i <5; i++) {
for (int j = 0; j <5; j++) {
System.out.print("*");
}
System.out.println();//换行
}
结果:
*****
*****
*****
*****
*****
//可以很容易的得出,外层的循环控制行数,内存的循环控制列数
//而要求的就属于列数的改变,首先想到的就是定义一个变量,让它不断的变化,来控制一列星星的变化,所以就有:
int value=5;
for (int i = 0; i <5; i++) {
for (int j = 0; j
System.out.print("*");
}
System.out.println();//换行
value--;
}
//这样可以实现,我们还可以通过++的方式来实现,比如:
int value1=0;
for (int i = 0; i <5; i++) {
for (int j = value1; j <5; j++) {
System.out.print("*");
}
System.out.println();//换行
value1++;
}
//但这样仍然不简便,我们可以发现该变量的增加或减少,是和最外层的变量"i"是一模一样的。所以就有这样的写法
for (int i=0; i <5; i++) {
for (int j =i; j <5; j++) {
System.out.print("*");
}
System.out.println();//换行
}
五,break和continue语句
(1)break
break只能定义在switch语句或循环语句内。在循环语句内,用于结束循环。
for (int i = 0; i <3; i++) {
System.out.println("i"+i);
break;
System.out.println("i"+i);
//break后直接跳出循环,下面这条语句相当于废话,且是错误的
}
for (int i = 0; i <3; i++) {
for (int j = 0; j <3; j++) {
System.out.println("i"+i);
break;//如果break存在于内循环中,break掉的仅仅是内循环。
}
}
outer:for (int i = 0; i <3; i++) {
for (int j = 0; j <3; j++) {
System.out.println("i"+i);
break outer;
}
}
//如果想要在内循环语句中,break掉整个循环,可以为break打上一个标记
(2)continue语句
continue只能运用在循环中,特点是继续下次循环。
for (int i=0; i <10; i++) {
if(i%2==1)
continue;//满足后将继续循环,也就不会执行下面的打印语句
System.out.println("i"+i);
}
quter:for (int i=0; i <10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println("i"+i);
continue quter;
}
//也可以为contine添加上标记,来指明继续至哪儿的循环。这样后,内循环将只执行一次。
}
最后
以上就是激情未来为你收集整理的java while for break,Java基础①--->while,do...while,for,break,continue语句的全部内容,希望文章能够帮你解决java while for break,Java基础①--->while,do...while,for,break,continue语句所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复