1.while循环
-
while循环是最基本的循环;其语法为: while(布尔表达式){
? ?//循环内容
} -
只要布尔表达式为true,循环就会一直执行下去 -
我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。 -
少部分情况需要循环一直执行下去,比如服务器的请求响应监听等。 -
循环条件一直为true就会造成无线循环(死循环),我们正常的业务变成中应该尽量避免死循环,会影响程序性能或者造成程序卡死崩溃! public class WhileDemo1 {
? ?public static void main(String[] args) {
? ? ? ?//输出1-100数字
? ? ? ?int i = 0;
? ? ? ?while(i<=100){
? ? ? ? ? ?System.out.print(i+"\t");
? ? ? ? ? ?i++;
? ? ? }
// ? ? ? while(true){
// ? ? ? ? ? System.out.println("温润如玉!"); ? ? ? ? //无限死循环
// ? ? ? }
? }
? ?//运行结果:0 1 2 3 4 5 6 7 8 ? ......省略了
} public class WhileDemo2 {
? ?public static void main(String[] args) {
? ? ? ?//输出1-100相加
? ? ? ?int i = 0;
? ? ? ?int j = 0;
? ? ? ?while(i<=100){
? ? ? ? ? ?j = j + i;
? ? ? ? ? ?i++;
? ? ? }
? ? ? ?System.out.println(j);
? }
? ?//运行结果:5050
}
2.do...while循环
-
对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,至少也会执行一次。 -
do...while 循环和while循环相似,不同的是,do...while 循环至少会执行一次。 -
while和do...while的区别:
-
语法: do {
?
? //代码语句
?
}while(布尔表达式); public class DoWhileDemo {
? ?public static void main(String[] args) {
? ? ? ?int a = 0;
?
? ? ? ?while(a<0){
? ? ? ? ? ?System.out.println("YU");
? ? ? }
?
? ? ? ?do{
? ? ? ? ? ?System.out.println("WEN");
? ? ? }while(a<0);
? ? ? ?
? }
? ?//运行结果:WEN
}
3.for循环
-
虽然所有循环结构都可以用while或者do...while表示,但Java提供了另外一种语句--for循环,使一些循环结构变得更加简单 -
for循环语句使支持迭代的一种通用结构,是最有效、最灵活的循环结构。 -
for循环执行的次数是在执行前就确定的。语法结构如下: for(初始化;布尔表达式;更新){
? ?//代码语句
} -
练习一:计算0-100之间的奇数和偶数的和; -
练习二:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个; -
练习三:打印九九乘法表。 public class ForDemo01 {
? ?public static void main(String[] args) {
? ? ? ?//计算0-100之间的奇数和偶数的和;
? ? ? ?int number1 = 0;
? ? ? ?int number2 = 0;
?
? ? ? ?for(int i=0;i<=100;i++){
? ? ? ? ? ?if(i%2 ==0){
? ? ? ? ? ? ? ?number1 = number1 + i;
? ? ? ? ? }else
? ? ? ? ? ? ? ?number2 = number2 + i;
? ? ? }
? ? ? ?System.out.println("偶数和:"+number1);
? ? ? ?System.out.println("奇数和:"+number2);
? }
? ?/* 运行结果:
? ? ? ? 偶数和:2550
? ? ? ? 奇数和:2500
? ? */
} public class ForDemo02 {
public static void main(String[] args) {
//用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个;
for(int i=1;i<=1000;i++){
if(i%5==0){
System.out.print(i+"\t");
}
if(i%15==0){
System.out.println(i);
}
}
/* 运行结果:
5 10 15 15
20 25 30 30
35 40 45 45
50 55 60 60
65 70 75 75
......省略
*/
}
}
public class ForDemo03 {
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+"="+j*i+"\t");
}
System.out.println();
}
}
/* 运行结果:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
*/
}
4.增强for循环
-
Java 5 引入了一种主要用于数组或集合的增强型for循环。 -
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。 -
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。 -
语法: for(声明语句:表达式){
? ?//代码句子
} public class EnhanceForDemo01 {
? ?public static void main(String[] args) {
? ? ? ?int [] numbers = {1,2,3,4,5,6,7,8,9,10};
? ? ? ?//增强for循环
? ? ? ?for(int x: numbers){
? ? ? ? ? ?System.out.print(x+"\t");
? ? ? }
? }
? ?//运行结果:1 2 3 4 5 6 7 8 9 10
}
?
|