当前位置:网站首页 > Java基础 > 正文

java基础语法练习5



循环结构

顺序结构,从_上往下依次执行;选择结构,根据条件执行对应的内容

为什么要使用循环结构?

问题一:反复输入数字,判断输出对应是星期几。问题二:求1到100的累加和

主要内容:

while循环;do-while循环;for循环;循环嵌套;break语句;continue语句

while 循环

语法格式:

while(循环条件){   语句; }

如果循环体只有一条语句,大括号可以省略。为避免死循环,小括号后面不要加分号

执行流程: 将小于5的整数打印输出。

int n=1;while(n<5){  //輸出n的値   n++; }
  1. n的值必须先进行初始化
  2. 循环变量n的值必须被改变(死循环)

执行流程分析:

5c139a570001198a10850331.jpg

案例: 求1到5的累加和

package cn.mtianyan.flow2;public class PlusDemo {    public static void main(String[] args) {        // 求1到5的累加和         // 1+2+3+4+5         int n = 1;        int sum = 0; //sum存放和变量         while (n <=5 ){             sum = sum +n;             n++; // 这句不能少         }         System.out.println("sum="+sum);     } }

5c139a570001766b03660075.jpg

执行过程:

5c139a570001d7a706990260.jpg

求1+3+5+7+...+15

sum +=n; n +=2; //替换n++ 可以实现跳值计算

案例: 循环输出26个英文字母,分两行输出

package cn.mtianyan.flow2;public class CharDemo {    public static void main(String[] args) {        // 循环输出26个英文小写字母,分两行输出         char ch = 'a';        int count=1; // 13个字母时换行         while (ch <= 'z'){             System.out.print(ch+"");            if(count%13 == 0){                 System.out.println();             }             count++;             ch++;         }     } }

运行结果:

5c139a5700012af503450103.jpg

编程练习

使用while循环求1到5的平方和。效果图:

5c139a580001a85002950042.jpg

任务

  1. 定义整型变量n作为循环变量,并初始化
  2. 定义整型变量sum存放和,并初始化
  3. 使用while循环求1到5的平方和
  4. 输出平方和
package cn.mtianyan.flow2;public class LoopDemo {    public static void main(String[] args) {        int n = 1;        int sum = 0;        while (n<=5){             sum +=(n*n);             n++;         }         System.out.println("1到5的平方和为:"+sum);     } }

运行结果:

5c139a580001b20d03480074.jpg

do-while循环

语法格式

do{ 语句; } while(循环条件);

注意事项: do-while循环至少执行一次;循环条件后的分号不能丢

int n= 1;do{  //輸出n的値   n++; } while(n< 5);

局部变量使用前必须被初始化

5c139a580001ecf812430327.jpg

求1到5的累加和

package cn.mtianyan.flow2;public class DoWhileDemo {    public static void main(String[] args) {        // 求1到5的累加和         int n=1;        int sum=0;        do {             sum +=(n*n);             n++;         }while (n<=5);         System.out.println("1到5的平方和为:"+sum);     } }

运行结果:

5c139a580001d5d303870069.jpg

案例:猜字游戏

猜字游戏。要求猜一个介于1到10之间的数字。然后将猜测的值与实际值进行比较,并给出提示,以便能更接近实际值,直到猜中为止。

程序分析:

  1. &java基础语法练习5#32473;定要猜测的数字
  2. 使用循环结构
  3. 循环进行的条件:猜测的数据和实际值不相等
  4. 循环体的内容:输入实际值,及进行判断
  5. 输出猜到的值
package cn.mtianyan.flow2;import java.util.Scanner;public class GuessDemo {    public static void main(String[] args) {        // 设置要猜的数         int number = 6;        int guess;         System.out.println("猜一个介于1到10之间的数");        do {             System.out.println("请输入您猜测的数:");             Scanner scanner = new Scanner(System.in);             guess = scanner.nextInt();            if(guess >number){                 System.out.println("您猜大了");             }else{                 System.out.println("您猜小了");             }         }while (number != guess);         System.out.println("您猜中了!答案为: "+number);     } }

运行结果:

5c139a580001875203670286.jpg

将要猜的数设为随机数:

Math.random()得到[0,1)之间的随机数

          // Math.random()*10+1 表示[0,10)+1:[1,11)之间的随机数。强制类型转换int之后就是1-10了         int number = (int) (Math.random()*10+1);

for循环应用及局部变量作用范围

int n=1;while(n<5)  //輸出n的値   n++;

for循环语法格式:

for(表达式1;表达式2;表达式3) {   语句; }
for(int n=1;n<5;n++) {  //输出语句;}

分号不可省略,可以省略表达式1,2,3。

使用for循环,求1到5的累加和。

package cn.mtianyan.flow2;public class ForDemo {    public static void main(String[] args) {        int sum=0;        for (int n=1;n<=5;n++){             sum +=n;         }        // System.out.println(n); // 局部变量的作用范围         System.out.println("sum="+sum);     } }

运行结果:

5c139a580001ddaa03540075.jpg

int n= 1;在循环体中只执行一次

5c139a590001775a03240104.jpg

局部变量,主方法中定义的都是局部变量。局部变量只在定义它的大括号内有效!

for循环的注意事项

三个表达式都是可以省略

for(表达式1;表达式2;表达式3) { 语句;   }

将10以下的整数打印输出:

package cn.mtianyan.flow2;public class ForDemo1 {    public static void main(String[] args) {        for (int i=0;i<=10;i++){             System.out.print(i+" ");            // 循环结束时i值为11         }     } }

运行结果:

5c139a5900017cb804000051.jpg

省略表达式:

package cn.mtianyan.flow2;public class ForDemo1 {    public static void main(String[] args) {        int i=0;        // for(;;){         while(true){             System.out.print(i+" ");            // 循环结束时i值为11             if(i>=10){                break;             }             i++;         }     } }

循环输入数字1-10并输出,如果输入0则跳出循环:

package cn.mtianyan.flow2;import java.util.Scanner;public class InputZeroBreak {    public static void main(String[] args) {         System.out.println("请输入你需要打印的数字,输入0时退出");         Scanner scanner = new Scanner(System.in);        int n;        while(true){             n = scanner.nextInt();            if(n==0){                 System.out.println("接收到0输入,已退出");                break;             }             System.out.println("n="+n);         }     } }

运行结果:

5c139a59000187db03540210.jpg

package cn.mtianyan.flow2;public class ForExercise {    public static void main(String[] args) {        int i;        int j;        for (i=0,j=1;j<5;j+=3){             i = i+j;         }         System.out.println("i="+i);         System.out.println("j="+j);     } }



作者:天涯明月笙
链接:https://www.jianshu.com/p/db00ea9a00f9

版权声明


相关文章:

  • java基础源码分析2024-10-20 17:18:02
  • java基础入门阶段2024-10-20 17:18:02
  • 0基础学java知乎2024-10-20 17:18:02
  • java语言基础练习32024-10-20 17:18:02
  • java基础编程168单例2024-10-20 17:18:02
  • 写一个基础的java bean2024-10-20 17:18:02
  • 用Java基础写ATM运作程序2024-10-20 17:18:02
  • java基础面试和sql及答案2024-10-20 17:18:02
  • c语言基础与java哪个难2024-10-20 17:18:02
  • java基础知识和重写的区别2024-10-20 17:18:02