三年Java五年模拟—3 算数操作符(3)自增自减、计算BMI习题

志之所趋,无远弗届,穷山距海,不能限也。

  • 志向所趋,没有不能达到的地方,即使隔着重山,相距江海,也是不能限制的
  • 常有人嘲笑Java基础,各种框架名词,新潮的框架,侃侃而谈,我想说:做好自己,默默前行,打下扎实的基础,方能无远弗届。

在此和Java学习者们,学习、回顾、重温、总结,尽力涵盖知识点,祝你在虚心求学的路上,风雨兼程。

1自增(++)、自减(–)运算符

Java中有自增(++)和自减(–)两种运算符,在编程中起快捷运算,简化代码的作用。加减付好在前面、后面对运算的结果差别巨大。递增符号是“++”,意为“增加一个单位”,递减符号是“–”,意为“减少一个单位”。使用方式分“前缀式”和“后缀式”,这两种操作符于变量或表达式的前面,叫“前缀式”,在后面叫“后缀式”。

  • 前缀递增或前缀递减(++i或 - -i),会先执行运算,再生成值
  • 后缀递增和后缀递减(i++或 i- -),会先生成值,再执行运算。

以++为例
int i = 5;
i++; 先取值,再运算
++i; 先运算,再取值

举例

package arithmeticOperators;
/**
 * @author:180285
 * @date: 2018/6/12 20:35
 */
public class IncreasedDecrement {
    public static void main(String[] args) {
        int i = 10;
        //先使用,后++
        System.out.println(i++);
        //运算完 i=11
        System.out.println("运算后i:"+i);

        int j = 10;
        //先--,后使用
        System.out.println( --j);
        //运算完:j=9
        System.out.println("运算后j:"+ j);
    }
}
Console result:
10
运算后i11
9
运算后j9

题目:

(1)自增(减)哪两种形式,举例说明。答:前缀式、后缀式两种,例如: i++,++i
(2)自增(减)能否对基础类型的包装类(除布尔类型)使用?答:能
(3)自增(减)是否能用于布尔类型?答:不能,只能用于整数类型byte、short、int、long,浮点类型float、double,以及字符串类型char。
(4)float i = ++i;,它的运算结果是什么类型?答:还是float,自增、自减它们的运算结果的类型与被运算的变量的类型相同。
(5)有代码段int i = 1; int j = ++i + i++ + ++i + ++i + i++;运算后j等于多少,答:j 等于18,解析如下

package arithmeticOperators;
/**
 * @author:180285
 * @date: 2018/6/12 20:59
 */
public class IncreasedSum {
    public static void main(String[] args){
        int i = 1;
        int j = ++i + i++ + ++i + ++i + i++;
        /*        |   |       |     |   |
         *        |   |       |     |   |
         *        2   2       4     5   5 
         */
        System.out.println("j运算后的值:"+j);
    }
}
Console result:
j运算后的值:18

(5)使用Scanner输入身高体重值,计算肥胖指数BMI。

  • 有一款健康app,能根据身高体重计算出用户的肥胖指标,小明的体重为72kg, 身高是1.69m,那么小明过轻还是正常(或其他)?[ BMI= 体重(kg) / (身高m*身高m) ]
    这里写图片描述
    答:体重过重,代码如下:
package arithmeticOperators;
import java.util.Scanner;
/**
 * @author:180285
 * @date: 2018/6/12 21:14
 */
public class FatValueDemo {

    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的体重:");
        float weight = scanner.nextFloat();
        System.out.println("请输入你的身高:");
        float height = scanner.nextFloat();

        String result = dealBMI(weight,height);
        System.out.println(result);
    }

    /**
     * BMI计算 BMI= 体重(kg) / (身高m*身高m),且返回评估结果
     * @param weight
     * @param height
     * @return
     */
    public static String dealBMI(float weight, float height){
        float BMI = weight / (height*height);
        String result = "";
        if (BMI < 18.5){
            result =  "体重过轻";
        }
        else if (18.5 <= BMI && BMI < 24){
            result =  "正常范围";
        }
        else if (24 <= BMI && BMI < 27){
            result =  "体重过重";
        }
        else if (27 <= BMI && BMI < 30){
            result =  "轻度肥胖";
        }
        else if (30 <= BMI && BMI < 35){
            result =  "中度肥胖";
        }
        else if(35<= BMI){
            result =  "重度肥胖";
        }
        return "肥胖指数BMI:"+BMI+",您属于:"+ result ;
    }
}
Console result:
请输入你的体重:
75
请输入你的身高:
1.69
肥胖指数BMI:26.259584,您属于:体重过重

上一篇:三年Java五年模拟—2 算数操作符(2)基础数据类型的转换、强制转换、%求余数

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值