java学习Day19
whlie 循环
最基本的循环结构为:
while(){
//循环内容
}
概念
只要布尔表达式为ture,循环就会一直执行下去。
大多数情况是要循环停下来的,我们需要一个让表达式失效的方式来结束循环。
少部分需要循环一直执行,比如服务器的请求响应监听等。
循环一直为ture就会造成死循环,我们正常的业务编程中应尽量避免死循环。会造成程序性能或者造成程序卡死崩溃!
public class WhileDemo01 {
public static void main(String[] args) {
int i = 0;
while (i<10){
i++;
System.out.println(i);
}
}
}
1
2
3
4
5
6
7
8
9
10
计算1+2+3+4+5......+99+100=?
public class WhileDemo02 {
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);
}
}
5050
do...while循环
结构
do{
//代码语句
}while(布尔表达式);
概念
对于while语句而言,如果不满足条件,则不能进入循环
do...while循环和while循环相似,不同的是 do...while循环至少会执行一次。
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);
}
5050
、
与while的区别
while先判断后执行。dowhile先执行后判断。
do..while总是保证循环地会至少执行一次,这是他们的主要区别。
public class DoWhileDemo02 {
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);
}
}
========
0
for循环
结构
for(初始化;布尔表达式;迭代){
//代码语句
}
public class ForDemo01 {
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("for循环结束");
}
}
1
3
5
...
95
97
99
while循环结束
1
2
3
4
5
6
7
...
98
99
100
for循环结束
概念
for循环使一些循环结构变得更加简单。
for循环语句是支持迭代的一种通用结构,是最有效,最灵活的循环结构
练习
计算0到100之间奇数和偶数的和
public class ForDemo02 {
public static void main(String[] args) {
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);
}
奇数和为:2500
偶数和为;2550
用while或for循环输出1~1000之间能被5整除的数,并每行输出3个
public class ForDemo03 {
public static void main(String[] args) {
for (int i = 0; i <= 1000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(3*5)==0){
System.out.println();
//sout("\n")
}
}
}
}
0
5 10 15
20 25 30
35 40 45
50 55 60
65 70 75
80 85 90
95 100 105
110 115 120
125 130 135
140 145 150
155 160 165
170 175 180
185 190 195
200 205 210
215 220 225
230 235 240
245 250 255
260 265 270
275 280 285
290 295 300
305 310 315
320 325 330
335 340 345
350 355 360
365 370 375
380 385 390
395 400