- 志向所趋,没有不能达到的地方,即使隔着重山,相距江海,也是不能限制的
- 常有人嘲笑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 运算后i:11 9 运算后j:9
(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,您属于:体重过重