use*_*297 3 java variables types
我对Java中的变量类型有疑问.如果我有一个长变量(称为x)和一个int变量(称为y),那么(x/y)的类型是什么?
我试过使用"instanceof"选项,但它没有帮助我.
IMO很长,但我只想确定.提前致谢!
A long/int是long由于扩大规则,基本上任何两个值的结果是它们中任一个的范围"最宽".类型byte,short并且char被强制转换为int任何操作与另一个号码.(但不像String那样String + char)
注:long % int也是long,即使它不可能是一个范围之外int同样int / long是long即使它只能是在一个范围内int
注2:int * int仍然是一个int即使有过流的一个很好的机会.
您只能instanceof在Object实例上使用.基元不是实例.
您可能会发现这些方法很有用
public static void main(String... ignored) {
System.out.println("2 / 1L is " + toString(2 / 1L));
}
public static String toString(boolean b) {
return "boolean " + b;
}
public static String toString(byte b) {
return "byte " + b;
}
public static String toString(char x) {
return "char " + x;
}
public static String toString(short x) {
return "short " + x;
}
public static String toString(int x) {
return "int " + x;
}
public static String toString(long x) {
return "long " + x;
}
public static String toString(float x) {
return "float " + x;
}
public static String toString(double x) {
return "double " + x;
}
Run Code Online (Sandbox Code Playgroud)
版画
2 / 1L is long 2
Run Code Online (Sandbox Code Playgroud)