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