第一个问题
java系统中默认的数是int类型,请问有什么办法可以检验
   如:System.out.println(10); 有没有办法检验这个10是int类型的第二个问题long a = 123;这个123是int类型还是long类型啊

解决方案 »

  1.   

    123是int啊
    你是想问 a 是 int 还是long 吧》。
      

  2.   

    a是long类型的,自动转换的
    123转换成long类型后赋给a
      

  3.   

    a是long类型,楼主要判断某个变量是不是int的,可以用正则表达式,如果是对象直接用instanceof
      

  4.   


    正是因为不是对象,所以不能用instanceof,所以不知道怎么判断了
      

  5.   

    小于等于Integer.MAX_VALUE并且大于等于Integer.MIN_VALUE,就是int.
      

  6.   

    第一个问题 
    java系统中默认的数是int类型,请问有什么办法可以检验 
      如:System.out.println(10); 有没有办法检验这个10是int类型的 
    ----
    你单步跟踪就会发现会进入println(int x)这个方法,所以你可以认为10是int的,所以编译器会认为调用println(int x)方法
      

  7.   

    Java是强类型语言,变量在定义的时候是什么类型它就是什么类型,不会自己变。如int i = 10; i永远是int,不会变成别的。long l = 10; l永远是long,也不会变成别的。至于字面量,如100, 200这样的,它的默认类型是int,若加上l后缀,或赋给long,它就提升为long,赋给short,byte等,它就下降为short或byte。
      

  8.   

    a是long类型  因为java 有类型强制转换,当100 被赋给 a时,java 会自动将类型向上转型
      

  9.   

    有什么办法可以检验是long类型还是int类型?
      

  10.   

    System.out.println(100000000000000);
    在eclipse中,输出一个超出int的字面常量,会出错并提示超出int范围,表明整型字面常量是int型的。
    long a = 123;
    123也是整型字面常量,当然就是int型的。当把一个int型赋值给long型变量,会自动提升为long型。
      

  11.   

    第二个问题 : long a = 123; a是long型的,因为在定义的时候用了Long 型,一般有定义:long a = 123L;而在书写的过程中, 可以忽略后面的L 所以a是long型的。
      

  12.   

    123    int (分配4字节)
    123L   long (分配8字节)
    123D   double (分配8字节)
    123F   float (分配4字节)long a = 123; 123为int,自动类型转换为long后赋给a。
    注:此处为自动类型转换。
    如果是:int a = 123L,则123为long,强制转换为int后赋给a。
    另外:byte short 在参于计算时,都会自动转换为int类型
      

  13.   

    我感觉应该这样吧System.out.ptintln(10+10);
    如果输出是20,则是整形的
    不过 java的内部机制有自动转型这一说,可以看一下  或查一下资料 先转型后参加运算 如果超出了既定类型就会自动转为既定类型的上一级类型  比如:int型 如果超出 就会自动转为 long型  不知道对不对  如果不对,还请指正
      

  14.   


    public class Check{
    public static void main(String[] args){
    int a = 0;
    long b = 4;
    String result1 = check(a);
    String result2 = check(b); System.out.println(a + " is " + result1 );
    System.out.println(b + " is " + result2 );
    } private static String check(Object o){
    String result = null;
    if(o instanceof Integer){
    result = "Integer";
    }else if(o instanceof Long){
    result= "Long";
    }
    return result;
    }
    }
      

  15.   

    这么说吧,
    在java里面,整型默认的是int,如果是输入了123之类的整数,一定默认的是int型
    但是,我们添加了一个变量a,这个变量a又被赋值123,
    而a又是long型的,所以,123就被转换成long型的了但是如果是long型 转 int型long a =12345678900;
    int b ;
     b = (int)12345678900; 
    可以转换吗? 明显不行,溢出了。 数值超过了范围。
      

  16.   

    public class TestInt {
    public static void main(String[] args) {
    Integer a = 10;
    System.out.println(a instanceof Integer);
    }}就用instanceof 判断就是了    
      

  17.   

    只写123,java就会默认为int
    所以,第一个是int
    而第二个 long比int
    的范围大 123隐式转成了long