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中初识对象与引用c++

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
的内容。为何呢?函数

 

由于:spa

在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]。
这就比如,“小明”指的是人,“陈明”指的也是人。一个
人能够有多个名字。code

 

2.空指针null对象

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

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

注意: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 }
问题来了,当执行完第②后,曾经建立的第一个对象就没有任何变量
引用它了,称为“失去引用”的对象。

 

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

相关文章
相关标签/搜索