标签:结果 end art 判断语句 64位 规范 简洁 输出 条件
public static void main(String[] args) {
int num=1000;
System.out.println("if-else 运行时间:");
long totalTime=0L;
for (int i = 1; i <=10 ; i++) {
long startTime = System.nanoTime();
if (num>500&&num%3!=0&&num/10==100){
num=1001;
}else{
num=0;
}
long endTime = System.nanoTime();
long result = endTime - startTime;
totalTime+=result;
System.out.println("第"+i+"次: " + result + " 纳秒");
}
System.out.println("平均时间为:"+totalTime/10+"纳秒");
}
执行结果:
三目运算符 ? :
public static void main(String[] args) {
int num = 1000;
System.out.println("? : 运行时间:");
long totalTime = 0L;
for (int i = 1; i <= 10; i++) {
long startTime = System.nanoTime();
num = num > 500 && num % 3 != 0 && num / 10 == 100 ? 1001 : 0;
long endTime = System.nanoTime();
long result = endTime - startTime;
totalTime += result;
System.out.println("第" + i + "次: " + result + " 纳秒");
}
System.out.println("平均时间为:" + totalTime / 10 + "纳秒");
}
? :
仅仅是简化代码的吧如果哪位大佬有专业的权威的见解,请一定来“拍一拍”我,让我的石头落下。
二进制数值提升
- 在三目运算符中的第二和第三表达式的类型依据数值范围大的那个,将一个小数值的类型范围扩大,比如16位提升到32位,32位到64位,直观一点就是short提升到int,int提升到long,不同类型之间也可以提升,但是不一定是往两个其中的一个走,也有short和char,最终表达式是int的情况。
举几个栗子就比较清楚了
- 1,参数是int和byte,但是整个表达式的类型却是int
- 2,参数:int,char 表达式类型:int
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710014429504-750530626.png)
- 3,参数:short,char 表达式类型:int
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710014735763-1827387039.png)
- 4,参数:int,float 表达式类型:float (如果字节数相同,会提升到浮点数)
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710014805770-916117378.png)
- 5,参数:int,long 表达式类型:long
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710014944472-1952654095.png)
- 6,参数:long,double 表达式类型:double (如果字节数相同,会提升到浮点数)
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710015004272-720659868.png)
- 7,同上的包装类,包装类在运算时自动拆箱,和基本数据类型结果无异
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710015130391-625091652.png)
- 8,更具体一点
```
int number = 1000;
System.out.println(number<0?10.0:9);
```
console:
![](https://img2020.cnblogs.com/blog/1900950/202007/1900950-20200710020252217-1846785275.png)
至此,若有纰漏,望各位不吝赐教
标签:结果 end art 判断语句 64位 规范 简洁 输出 条件
原文地址:https://www.cnblogs.com/0nePlece/p/13277419.html