1.java的数据类型分为两种:简单类型和引用类型(数组、类以及接口)。注意,java没有指针的说法,只有引用。简单类型的变量被声明时,存储空间也同时被分配;而引用类型声明变量(对象)时,仅仅为其分配了一个引用类型的内存,类似于c++里面的指针类型。要使用new来为此对象分配实际需要的内存,即实例化。
Eg:
(1):数组:int a[][];a=new int[1][2];一般常常把int a[][]写为int[][] a.
需要注意的是:数组还可以直接用数据列表来初始化,省去new操作:int[] s={1,2}等价于int[] s=new int[2];s[0]=1;s[1]=2.
另外,数组(不论为全局变量还是局部变量),一旦实例化,就会自动初始化为0.而c++里面局部变量数组里不会初始化为0,而为随机值(全局变量数组自动初始化为0)。
每一个数组都有一个length属性,eg:int a[][]=new int[4][5]; a.length=4; a[0].length=5; a[1].legnth=5…
(2):类:class a; a a1;a1=new a();然后才可以操作其中的成员。
2.println()比print多带了换行功能。
3.java里null为小写,而c++里为大写。
4.java里char为2字节,没有unsigned修饰符,所有数据都是有符号数。
5.java和c++里,八进制都是数字前加0,十六进制数前面加0x.
Eg:0453,0x234ac.
6.java里布尔型为boolean.且不允许其他类型与boolean型转换。而c++里为bool型,可以与整型转换。
7.java里,小范围数据转换为大范围数据(比如整型转换为浮点型),可以自动转换;而大范围转换为小范围,则必须强制转换,因为不安全。
8.final修饰符修饰变量,则当做常量来使用。修饰方法,使其不能被子类覆盖;修饰类,使其不能被继承。
9.java里,类的成员变量定义时,允许变量名与方法(函数)名相同,可以人为在类中直接对成员变量初始化,当然JVM会自动为所有成员变量初始化,简单类型赋值为0,字符类型赋值为’