程序流程之循环do...while语句与自(增)减运算符

1 篇文章 0 订阅
本文通过Java代码示例介绍了do-while循环的使用,展示了如何根据输入的月份判断季节,以及如何利用后置和前置递增、递减运算符。程序还演示了如何倒序输出正整数和计算整数之和。同时讲解了表达式求值顺序,解释了在不同运算符结合下的变量值变化。
摘要由CSDN通过智能技术生成
int retry;
        do {
            System.out.println("计算月份。\n请输入月份:");
            int month = input.nextInt();
            if (month>=3 && month<=5)
                System.out.println("这是春天。");
            else if(month>=6 && month<=8)
                System.out.println("这是夏天。");
            else if(month>=9 && month<=11)
                System.out.println("这是秋天。");
            else if(month==12 || month==1 || month==2)
                System.out.println("这是冬天。");
            System.out.println("要重复一次吗?1...Yes/0...no");
            retry=input.nextInt();
        }while(retry==1);//控制是否结束循环

本程序中do语句的流程如图所示由于“重复”称为循环,因此将作为循环对象的do语句称为循环体

此外 while语句和for语句作为循环对象,也被称为循环体

do 语句至少会执行一次循环体,而while语句则可能一次都不执行

当某个条件成立时,并非只有do语句可以循环执行处理,while语句也可以实现循环处理。

int x;
        do {
            System.out.println("正整数:");
             x= input.nextInt();
        }while(x<0);
        while (x>=0) {//当程序结束时x一定为正值
            System.out.println(x);
            x--;
        }

 后置递增运算符和后置递减运算符

x++   //x的值递增(增加1),结果是递增前的值
x--   //x的值递减(减少1),结果是递减前的值
y=x++  //当x=5时 赋值给y的值是递增前的x值 即y=5

前置递增运算符和前置递减运算符

++x//x的值递增(增加1),结果是递增后的值
--x//x的值递减(减少1),结果是递减后的值
y=++x; //赋给y的是递增后的x的值 假设x=5 结果为y=6

表达式的求值顺序

二元运算符的左操作数会比右操作数先进行求值

class text {

public System void main(String[] args) {
   int a=3;
    int x=(a++)*(2+a);
    System.out.println("a="+a);
    System.out.println("x="+x);
  }
}

输出结果

a=4;
x=18;
​

class text {

public System void main(String[] args) {
   int a=3;
    int x=(a++)*(2+a);//表达式先对a++求值,a由3变为4 之后对2+a进行运算,求得其为6 ,a不发生改变 
    System.out.println("a="+a);//后对3*6运算结果为 18,将值赋给x
    System.out.println("x="+x);
  }
}

[点击并拖拽以移动]
​

例题 

逆序输出读入的正整数值

Scanner input = new Scanner(System.in);
        System.out.println("逆序显示正整数值。");
        int x;
        do {
            System.out.println("正整数值:");
            x=input.nextInt();
        } while (x<=0);
        System.out.println("倒过来读是:");
        while (x>0) {
            System.out.print(x%10);//显示x的最低位
            x/=10;//x的最低位
        }

计算整数的和

import java.util.Scanner;
class SumUp {
    public System void main(String[] args) {
    Scanner StdIn=new Scanner(System.in);
      System.out.println("计算1到n的和。");
        int n;
        do {
            System.out.println("n的值:");
            n=stdIn.nextInt();
        }while(n<=0);//当n小于零时执行
        int sum=0,i=1; //改变i的值,可改变从几开始累加
        while(i<=n) {
            sum+=i;
            i++;
        }
        System.out.println("1到"+n+"的和是"+sum+"。");  
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Victor故里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值