publicclassWhileDem01{publicstaticvoidmain(String[] args){//计算1加到100//暴力算法int i =0;int sum =0;while(i<=100){
sum += i;
i++;}
System.out.println(sum);/*
高斯
(首项+尾项)*项数/2
(1 + 100) * 100 / 2 = 5050;
*/}}
do…while循环
do{//代码语句}while(布尔表达式);
publicclassDoWhileDem01{publicstaticvoidmain(String[] args){int a =0;while(a<0){
System.out.println(a);//不会输出,a<0时不执行循环}
System.out.println("=======================");//do...while至少执行一次do{
System.out.println(a);
a++;}while(a<0);}}
for循环
for循环语句时支持迭代的一种通用结构,是最有效、最灵活的循环结构。
for循环执行的次数是在执行前就确定的。
for(初始化;布尔表达式;更新){//代码语句}//一个快捷键//例如//100.for等同于for(int i = 0;i < 100;i++)
小案例
计算0到100之间的奇数和偶数的和
publicclassForDem02{publicstaticvoidmain(String[] args){int oddSum =0;//奇数int evenSum =0;//偶数for(int i =0; i <=100; i++){if(i %2!=0){//i与2取余,有余数说明是奇数
oddSum += i;}else{//否则就是偶数
evenSum += i;}}
System.out.println("奇数的和:"+oddSum);
System.out.println("偶数的和:"+evenSum);}}
输出1-1000之间能被5整除的数,并且每行输出3个
方法一
publicclassForDem03{publicstaticvoidmain(String[] args){for(int i =0; i <=1000; i++){if(i%5==0){
System.out.print(i+"\t");}if(i%(5*3)==0){//输出3个换行
System.out.println();// System.out.print("\n");}}}}
方法二
publicclassForDem04{publicstaticvoidmain(String[] args){int j =0;//用来记录输出了多少个for(int i =0; i <=1000; i++){if(i%5==0){
System.out.print(i+"\t");
j++;//每输出一次加1}if(j%3==0){//当输出的数为3的倍数时换行
System.out.println();}}}}
注意println和print的区别
打印九九乘法表
//1.先打印第一列for(int i =1; i <=9; i++){
System.out.println(i+"*"+1+"="+(1*i));}
//2.我们把固定的1再用一个循环包起来,不仅是1乘到9,还有2、3...9//所有把1*i变成j*ifor(int j =1; j <=9; j++){for(int i =1; i <=9; i++){
System.out.println(i+"*"+j+"="+(j*i));}}}
//3.去掉重复项 i <= jfor(int j =1; j <=9; j++){for(int i =1; i <= j; i++){
System.out.println(i+"*"+j+"="+(j*i));}}
//4.调整样式for(int j =1; j <=9; j++){for(int i =1; i <= j; i++){
System.out.print(i+"*"+j+"="+(j*i)+"\t");}
System.out.println();}