每日一语:放下,是为了更好的前行,曾经的美好留于心底,曾经的悲伤置于脑后,过去终是过去,那人,那事,那情,都是过往云烟而已。
目录
1.while循环
while
是最基本的循环,它的结构为:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式为 true,循环就会一直执行下去。
【图解】在循环刚开始时,会计算一次
“
布尔表达式
”
的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次判断是否为真。直到条件不成立,则循环结束。
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。
方式有:循环内部控制,外部设立标志位!等
public static void main(String[] args) {
int i = 0;
//i小于100就会一直循环
while (i<100){
i++; System.out.println(i);
}
}
少部分情况需要循环一直执行,比如服务器的请求响应监听等。
public static void main(String[] args) {
while (true){
//等待客户端连接
//定时检查
//......
}
}
循环条件一直为
true
就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成
程序卡死奔溃!
【案例:计算1+2+3+…+100=?】
public static void main(String[] args) {
int i = 0;
int sum = 0;
while (i <= 100) {
sum = sum+i; i++;
}
System.out.println("Sum= " + sum);
}
2.do......while循环
对于
while
语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
do {
//代码语句
}while(布尔表达式);
注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true
,则语句块一直执行,直到布尔表达式的值为
false
。
我们用
do...while
改造一下上面的案例!
public static void main(String[] args) {
int i = 0;
int sum = 0;
do {
sum = sum+i;
i++; }while (i <= 100);
System.out.println("Sum= " + sum);
}
执行结果当然是一样的!
While
和
do-While
的区别:
while先判断后执行。dowhile是先执行后判断!
Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。
public static void main(String[] args) {
int a = 0;
while(a<0){
System.out.println(a);
a++;
}
System.out.println("-----");
do{
System.out.println(a);
a++;
} while (a<0);
}
3.For循环
虽然所有循环结构都可以用
while
或者
do...while
表示,但
Java
提供了另一种语句
—— for
循环,使一些循环结构变得更加简单。
for
循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for
循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化; 布尔表达式; 更新) {
//代码语句
}
关于 for 循环有以下几点说明:
1.最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语 句。
2.然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循
环体后面的语句。
3.执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
4.再次检测布尔表达式。循环执行上面的过程。
【演示:
while
和
for
输出】
public static void main(String[] args) {
int a = 1; //初始化
while(a<=100){
//条件判断
System.out.println(a);
//循环体 a+=2;
//迭代 }
System.out.println("while循环结束!");
for(int i = 1;i<=100;i++){
//初始化//条件判断 //迭代
System.out.println(i);//循环体
}
System.out.println("while循环结束!");
}
我们发现,
for
循环在知道循环次数的情况下,简化了代码,提高了可读性。我们平时用到的最多的也是我们的for
循环!
4、练习
【练习
1
:计算
0
到
100
之间的奇数和偶数的和】
public class java1 {
public static void main(String[] args) {
int i = 0;
int j = 0;
for (int i1 = 100; i1 > 0; i1--) {
if (i1%2==0){
i += i1;
}else{
j += i1;
}
}
System.out.println("基数和"+j);
System.out.println("偶数和"+i);
【练习
2
:用
while
或
for
循环输出
1-1000
之间能被
5
整除的数,并且每行输出
3
个】
public static void main(String[] args) {
for(int j = 1;j<=1000;j++){
if(j%5==0){
System.out.print(j+"\t");
}
if(j%(5*3)==0){
System.out.println();
}
}
}
【练习
3
:打印九九乘法表】
public class java1 {
public static void main(String[] args) {
for (int i = 1 ; i < 10 ;i++) {
for (int i1 = 1; i1 < i+1; i1++) {
System.out.print(i+"*"+i1+"="+i*i1+"\t");
}
System.out.println();
}
5.break & continue
1、break 关键字
break
主要用在循环语句或者
switch
语句中,用来跳出整个语句块。
break
跳出最里层的循环,并且继续执行该循环下面的语句。
【演示:跳出循环】
public class java1 {
public static void main(String[] args) {
for (int i1 = 100; i1 > 0; i1--) {
if (i1==80){
break;
}else{
System.out.println(i1);
}
}
输出:
2、continue 关键字
continue
适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在
for
循环中,
continue
语句使程序立即跳转到更新语句。
在
while
或者
do…while
循环中,程序立即跳转到布尔表达式的判断语句。
【演示】
public class java1 {
public static void main(String[] args) {
for (int i1 = 0; i1 < 10; i1++) {
if (i1==5){
continue;
}else{
System.out.println(i1);
}
}
输出:
我们可以看到并没有5。
3、两者区别
break
在任何循环语句的主体部分,均可用
break
控制循环的流程。
break
用于强行退出循环,不执行循环中剩余的语句。(break
语句也在
switch
语句中使用
)
continue
语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。