for循环结构
语法:for( 初始化语句;判断语句;结束语句){循环体}
int sum=0;
for(int i=1;i<=100;++i){
sum+=i;
}
System.out.println("1-100的和:"+sum);
sum=0;
for(int i=1;i<=100;++i){
if(i%3==0&&i%7!=0)
sum+=i;
}
System.out.println("1-100之间能被3整除但是不能被7整除的和:"+sum);
for(int i=0;i<4;++i){
for(int j=0;j<4;++j){
System.out.print("*");
}
System.out.println();
}
System.out.println("----------");
for(int i=1;i<=5;++i){
//打印空格
for(int k=1;k<=5-i;++k){
System.out.print(" ");}
//打印*
for(int j=1;j<=i;++j){
System.out.print("*");
}
System.out.println();
}
System.out.println("----------");
for(int i=1;i<=5;++i){
//打印空格
for(int k=1;k<=5-i;++k){
System.out.print(" ");}
//打印*
for(int j=1;j<=(i-1)*2+1;++j){
System.out.print("*");
}
System.out.println();
}
增强for循环(foreach)
本质就是基本的for循环
语法:for(数据类型/*与数组元素类型相同*/ 变量名/*单次遍历的元素*/:数组名/*要遍历的数组*/)
while循环结构
语法:while(条件判断语句){循环体}
int sum=0;
int i=0;
int j=0;
int k=0;
while(++i<=100){
sum+=i;
}
System.out.println("1-100的和:"+sum);
sum=0;
i=0;
while(++i<100){
if(i%3==0&&i%7!=0)
sum+=i;
}
System.out.println("1-100之间能被3整除但是不能被7整除的和:"+sum);
i=0;
while(i++<4){
j=0;
while(j++<4)
System.out.print("*");
System.out.println();
}
System.out.println("----------");
i=1;
k=1;
j=1;
while(i<=5){
//打印空格
k=0;
while(k++<5-i)
System.out.print(" ");
//打印*
j=0;
while(++j<=i)
System.out.print("*");
System.out.println();
++i;
}
do{ }while循环
语法:do{循环体}while(判断语句)
特点:无论条件是否符合,都会执行一次循环体。
import java.util.Scanner;
import java.util.Random;
public class Demo03{
public static void main(String[] args){
int max=100;
int min=0;
int result=new Random().nextInt(99)+1;
Scanner scanner=new Scanner(System.in);
int userInput=0;
do{
System.out.print("情输入"+min+"到"+max+"的数:");
userInput=scanner.nextInt();
if(userInput<=min||userInput>=100){
System.out.print("情输入"+min+"到"+max+"的数:");
continue;
}else if(userInput<result){
min=userInput;
}else if(userInput>result)max=userInput;
}while(userInput!=result);
System.out.print("猜中了!");
}
}
continue、break、return的在循环体中的作用和区别
for(int i=1;i<=5;++i){
for(int j=1;j<=5;++j){
if(j==3)continue;
System.out.print(j);
}
System.out.println();
}
System.out.println("\n---------以上是continue---------");
for(int i=1;i<=5;++i){
for(int j=1;j<=5;++j){
if(j==3)break;
System.out.print(j);
}
System.out.println();
}
System.out.println("\n---------以上是break---------");
A:for(int i=1;i<=5;++i){
for(int j=1;j<=5;++j){
if(j==3)break A;
System.out.print(j);
}
System.out.println();
}
System.out.println("\n---------以上是break加标记---------");
for(int i=1;i<=5;++i){
for(int j=1;j<=5;++j){
if(j==3)return;
System.out.print(j);
}
System.out.println();
}
System.out.println("\n---------以上是return---------");