java读文件while改for循环_JAVA学习第十二天:while循环与for循环

While循环

顺序结构只能执行一次,而循环结构可以执行多次或无数次。

While循环

格式

while(布尔表达式){

当布尔表达式成立时所要执行的命令

}

注意

若布尔表达式一直成立,则循环一直进行。而大多数情况下我们需要循环停止,因此括号内的布尔表达式需要让循环在合适的时候停止。

输出1~100:

public class WhileDemo01 {

public static void main(String[] args) {

int a = 0;

while (a<100){

a++;

System.out.println(a);

}

}

}

计算1+2+3+......+100:

public class WhileDemo02 {

public static void main(String[] args) {

int a = 0;

int sum = 0;

while (a<=100){

sum = sum +a;

a++;

System.out.println(sum);

}

}

}

do while循环

while循环先判断布尔表达式是否成立,再决定是否执行命令,而do while循环是先执行一遍命令,再去判断布尔表达式是否成立以及是否继续执行。即do while 循环至少会执行一次。

int a = 0;

while(a<0){

System.out.println(a);

a++

}

此时由于a=0而不小于零,所以布尔表达式不成立,所以后面的命令并不会被执行;

int a = 0;

do{

System.out.println(a)

}while(a<0);

此时运行程序会输出一个0,即先输出了a,再让a=a+1,接着才判断布尔表达式是否成立。

for循环(重要)

所有的循环都可以用while或者do while实现,但java中的for循环可以使一些复杂的循环变得更加简单。for循环是支持迭代的一种通用循环,是最有效、最灵活的循环结构。

格式

for(定义一个或几个变量;限制条件;循环内容){

执行的命令

}

定义变量:定义需要的数字变量或字符;

限制条件:使循环在合适的次数后停止;

循环内容:在限制条件成立的情况下和“执行的命令”同样进行循环的语句。

1.分别计算0到100之间奇数和偶数的和:

public class ForDemo01 {

public static void main(String[] args) {

int oddsum = 0;

int evensum = 0;

for (int a=0;a<=100;a++ ){

if (a%2!=0){

oddsum+=a;

}else{

evensum+=a;

}

}

System.out.println(oddsum);

System.out.println(evensum);

}

}

主要是运用取余运算判断奇数和偶数。

2.用while循环和for循环输出0到5000内能被5整除的数,且每行输出三个。

public class ForDemo03 {

public static void main(String[] args) {

for (int i = 0; i <= 5000; i++) {

if (i%5==0){

System.out.print(i+"\t");

}

if (i%(5*3)==0){

System.out.println();

}

}

}

}

特别注意:System.out.println( )输出一个内容后就会分行;

System.out.print( )持续在一行内输出所有内容。

本例题要求每三个数一行,则在输出三个能被5整除的数之后,即输出一个能被15整除的数之后分行,此处分行采用直接使用System.out.println( )输出一个空白行,也可以使用System.out.print( \n ).

3.输出九九乘法表:(while和for循环嵌套)

public class SwitchDemo03 {

public static void main(String[] args) {

int a = 9;

while(a>0){

for (int b = 1;b<=a;b++){

System.out.print(b+"*"+a+"="+a*b+"\t");

}a--;

System.out.println();

}

}

}

或者:(while和for循环嵌套)

public class SwitchDemo02 {

public static void main(String[] args) {

int a = 1;

while(a<10){

for (int b = 1;b<=a;b++){

System.out.print(a+"*"+b+"="+a*b+"\t");

}a++;

System.out.println();

}

}

}

或者:(for循环和for循环嵌套)

public class ForDemo02 {

public static void main(String[] args) {

for (int i = 1; i <= 9; i++) {

for (int j = 1; j <= i; j++) {

System.out.print(i+"*"+j+"="+i*j+"\t");

}

System.out.println();

}

}

}

当然,打印此乘法表也有一些笨方法,比如直接输出,但推荐遇到此类存在较多循环的问题时多使用循环结构,可以大大提高效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值