zoukankan      html  css  js  c++  java
  • java学习过程小问题

    一:基本的需要注意点(基础语句);

    package my;
    
    public class hello {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
    
            // 1.
            String name = "chen";
            System.out.println(name);
    
            // 2.
            boolean a = 1 > 2;
            System.out.println(a);
            boolean b = false;
            boolean c = true;
    
            // 3.
            final int d = 1;
            // b=2; 错误的 相当于c++中的const
    
            // 4 类型装换
            double e = 11.3;
            int f = (int) e;
            System.out.println(f);
            // 隐式转换和显示转换
    
            // 5.语句
            // 在函数内以分号结束的一行,称为语句statement,注意是在函数中
    
            // 6.数组的应用
            // 创建一个数组对象,容纳20个int
            int[] arr = new int[20];
            arr[0] = 1;
            arr[1] = 2;
            // 输出长度为20
            System.out.println(arr.length);
            char ch = 'a';
            System.out.println(ch);
            char[] chh = new char[10];
            chh[0] = 'a';
            System.out.println(chh);
    
        }
    
    }

    二:在java中初识对象与引用

    1. 疑问:

    ① int[] a = { 11, 11, 11, 11 };
    ② int[] b = a;
    ③ b[3] = 45;
    ④ for(int i=0; i<a.length; i++)
    {
    ⑤ System.out.print( a[i] + " ");
    }
    其中,
    第①行,创建了一个数组对象a,
    第②行,又定义了另一个b 对象,
    第③行,修改了b[3]。这里修改的是b,那么a 的值不变是吗?
    第⑤行,实际输出的是11 11 11 45,说明对b 的修改会同时影响a
    的内容。为什么呢?

    因为:

    在Java 语言里,对象(Object)是一个基础概念。
    int[] a = new int[4];
    在此式中,等号右侧创建了一个数组对象,等号左侧的变量a 称为该
    对象的引用( Reference)。
    一般来说,可以以称作“变量a 指向了一个对象”,或者简称为“a
    是一个对象, 其中a 是对象的名字”

    多个变量可以指向同一个对象,例如,
    int[] a = new int[4];
    int[] b = a;
    b[3] = 45;
    由于a,b 指向的是一个对象,所以修改b[3],就等同于修改a[3]。
    这就好比,“小明”指的是人,“陈明”指的也是人。一个
    人可以有多个名字。

    2.空指针null

    在Java 语言里,有一种特殊的对象,称为“空对象”。例如,
    int[] a = null;
    其中,a 指向一个空对象,其实就是说a 不指向任何对象。
    理解以下几行代码:
    ① int[] a = new int[4];
    ② int[] b = a;
    ③ a = null;
    其中,
    第①行,创建了一个对象,命名为a
    第②行,b 和a 指向同一个对象第

    第③行,a 指向null。此时,a 不指向任何对象,而b 指向刚才创建
    的对象。

    注意:a不能再当成数组用,要不然就是空指针错误

    3.失去引用对象

    观察以下代码:
    ① int[] a = { 8, 8, 8 };
    ② a = new int[4];
    ③ a[0] = a[1] = a[2] = a[3] = 17;

    第①行,创建了一个数组对象,内容为{ 8,8,8}
    第②行,创建另一个数组对象, 内容{ 0,0,0,0 }
    问题来了,当执行完第②后,曾经创建的第一个对象就没有任何变量
    引用它了,称为“失去引用”的对象。

    注意:第一个对象系统会自动回收销毁这个对象,此过程称为垃圾加收

  • 相关阅读:
    事事浑不着意,总得有走心的地方
    Struts2框架概述
    java算法数据结构
    shell十三问(转)
    linux:将job放在后台执行的方法
    Python性能(转)
    python collections deque
    python中的参数传递和返回值
    python中的下划线
    python学习笔记glob模块
  • 原文地址:https://www.cnblogs.com/chenchen-12/p/10229426.html
Copyright © 2011-2022 走看看