public classs p{
    public static void main(String[]args)
       {      int i=0;
      int y;  
       y=i;请问这时候  i还有值吗。
}

解决方案 »

  1.   

    楼主  你可以这样测试
    int i=0;
    int y=i;
    y=3;
    输出 i 如果是引用的话 i=3
    当然你如果问的是jvm这个时候回收了i么有 俺不知道……
      

  2.   


    没有赋值这里是可以通过的,因为在没有赋值之前并没有读取它。但是,如果在赋值之前读取它,那么便会出错。如下所示:
    int i=0;
    int y;System.out.println(y);
    这样便会提示出错哈。
      

  3.   


    y只是简单的把i的内容复制一下,对i本身没有影响。楼主可以去看一下下面的代码,了解一下java值类型和引用类型的区别class student {
       String name = new String();
       
       int age = 0;
    }public class p{
        public static void main(String[]args) {
         int testNum = 10;
         int tempNum;
        
         /*
         * tempNum未被初始化,此处无法通过编译
         System.out.println("tempNum = " + tempNum);
         */
         tempNum = testNum;
        
         System.out.println("testNum = " + testNum);
         System.out.println("tempNum = " + tempNum);
        
         tempNum = 20;
        
         System.out.println("testNum = " + testNum);
         System.out.println("tempNum = " + tempNum);
        
         String testStr = "HELLO";
         String tempStr = testStr;
        
         System.out.println("testStr = " + testStr);
         System.out.println("tempStr = " + tempStr);
        
         tempStr = "Guten Tag";
        
         System.out.println("testStr = " + testStr);
         System.out.println("tempStr = " + tempStr);
        
            student zhangsan = new student();
            zhangsan.name = "張三";
            zhangsan.age = 18;        student lisi = zhangsan;
            
            System.out.println("zhangsan.name = " + zhangsan.name);
            System.out.println("zhangsan.age = " + zhangsan.age);
            System.out.println("lisi.name = " + lisi.name);
            System.out.println("lisi.age = " + lisi.age);
            
            lisi.name = "李四";
            lisi.age = 21;        System.out.println("zhangsan.name = " + zhangsan.name);
            System.out.println("zhangsan.age = " + zhangsan.age);
            System.out.println("lisi.name = " + lisi.name);
            System.out.println("lisi.age = " + lisi.age);
        }
    }
      

  4.   

    你可以打印看看:  输出  System.out.println(i);System.out.println(y);