public class Main { public static void main(String[] args) { int x = 4; System.out.println("value is "+((x>4)?99.9:9)); } }
时间: 2023-06-17 13:03:23 浏览: 241
这段代码输出的结果是 "value is 9.0"。
首先,程序定义了一个整型变量 x 并赋值为 4。接着,程序使用三元运算符对 x 进行判断,如果 x 大于 4,则返回 99.9,否则返回 9。由于 x 的值为 4,不大于 4,因此三元运算符返回 9。最后,程序将 "value is " 和 9 进行字符串拼接,输出结果为 "value is 9.0"。需要注意的是,由于三元运算符中包含了一个浮点数,因此最终结果会自动转换为浮点数。
相关问题
package STU; import java.lang.Number; public class Test { public static void main(String[] args) { int num = 3; Number x = num; System.out.println(x.intValue()); System.out.println(x.compareTo(4)); } }compareTo语句报错
在Java 9及以上版本中,`Number`类中的`compareTo()`方法被修改为泛型方法,它的参数类型应该是`Number`或其子类,而不再是`Object`类型。因此,在比较时,应该使用`Integer`对象而不是`int`类型的原始值。
修改后的代码如下:
```
package STU;
import java.lang.Number;
public class Test {
public static void main(String[] args) {
Integer num = 3;
Number x = num;
System.out.println(x.intValue());
System.out.println(x.compareTo(new Integer(4)));
}
}
```
这个代码不仅可以在Java 9及以上版本中编译和运行,而且也可以在之前的版本中编译和运行。
public class test { public static void main(String args[]) { Integer intObj=Integer.valueOf(args[args.length-1]); int i = intObj.intValue(); if(args.length > 1) System.out.println(i); if(args.length > 0) System.out.println(i - 1); else System.out.println(i - 2); } } 运行程序 , 输入如下命令: java test 2
运行程序后,会输出以下结果:
1
这是因为,输入的命令行参数只有一个,即 "2",所以 args.length 的值为 1,进入第一个 if 语句,输出 i 的值,即 2 的整数形式,为 2。
然后进入第二个 if 语句,也会输出 i - 1 的值,即 2 - 1,为 1。
因为 args.length 不大于 0,所以不会进入 else 语句。
阅读全文