1、循环结构
- while循环
- do…while循环
- for循环
- 在java5中引入了一种主要用于数组的增强型for循环
2、while循环
- while循环是最基本的循环,其结构为:
while(布尔表达式){
//循环内容
}
- 只要布尔表达式为true,循环就会一直执行下去。
- 我们大多数情况是会让循环停止下来的,因此需要一个让表达式失效的方式来结束循环。
- 少部分情况需要循环一直进行,比如服务器的请求响应监听等
- 循环条件一直为true就会造成无限循环【死循环】,我们正常的业务编程中应尽量避免死循环,会影响程序性能或程序卡死崩溃
- 用while实现:计算1+2+3+…+100=?
public class whiledemo03 {
public static void main(String[] args) {
//计算1+2+3+...+100=?
int i = 0;
int sum = 0;
while (i<=100) {
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
3、do…while循环
- do…while循环和while循环相似,不同的是,do…while循环至少会执行一次
do{
//代码语句
}while(布尔表达式);
- while和do-while的主要区别
- while先判断后执行,dowhile时候先执行后判断
- Do…while总是保证循环体会被至少执行一次!
- 用do-while实现:计算1+2+3+…+100=?
public class dowhiledemo01 {
public static void main(String[] args) {
int i = 0;
int sum =0;
do {
sum = sum +i;
i++;
}while (i<=100);
System.out.println(sum);
}
}
3、For循环
- for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
- for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
//代码语句
}
- 示例语句:
public class fordemo01 {
public static void main(String[] args) {
int a = 1;//初始化条件
while (a<=100) {//条件判断
System.out.println(a);//循环体
a += 2;//迭代,相当于a=a+2
}
System.out.println("while循环结束");
//初始化//条件判断//迭代
for (int i = 1;i<=100;i++){
System.out.println(i);
}
System.out.println("for循环结束");
}
}
- 练习1:计算0到100之间的奇数和偶数的和
public class fordemo02 {
public static void main(String[] args) {
//练习1:计算0到100之间的奇数和偶数的和
int oddsum = 0;
int evensum = 0;
for (int i = 0; i <= 100; i++) {
if (i%2!=0){//奇数
oddsum+=i;
}else {//偶数
evensum+=i;
}
}
System.out.println("奇数的和:"+oddsum);
System.out.println("偶数的和:"+evensum);
}
}
- 练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
public class fordemo03 {
public static void main(String[] args) {
//练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出3个
for (int i = 0; i <= 1000; i++) {
if(i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){//每行
System.out.println("\n");
}
//println 输出完会换行
//print 输出完不会换行
}
}
}
- 练习3:打印九九乘法表(嵌套for循环)
import sun.security.rsa.RSAUtil;
public class fordemo04 {
public static void main(String[] args) {
//练习3:打印九九乘法表
//1、我们先打印第一列
//2、我们把固定的1再用1个循环包起来
//3、去掉重复项,i<=j
//4、调整样式
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(j + "*" + i + "=" + (j * i)+"\t");
}
System.out.println();
}
}
}