1.在java中类的名字和文件的名字要一致,且他们的名字的首字母要大写。
2.java数据类型有:基本数据类型:byte/char/short/int/long/float/double。C语言中的char 用一个字节表示,而java中的char用2个字节表示。引用数据类型有数组、类、接口、null:
3.Java里面没有指针。
4.Java中新建一个数组:如:int p[]=new int[10];char str[]=new char[100];在C语言中,定义局部变量int* p=malloc(10*sizeof(int));其中局部变量分配在栈中,这里内容是一个地址,地址指向的是后面动态分配在堆中的内存。而在Java中,上面的str作为局部变量分配的内存位于栈中,里面的内容也是指向后面分配在堆中的内存的地址。二者类似。注意这里的char占用了2个字节。在Java中所有的数组是引用数据类型。对这句话的理解可以看这个例子:在C语言中int p2[]={1,2,4};中p2分配在栈中,后面的三个元素也是在栈中,p2保存数组中连续内存的起始地址。而在Java中,这个p2虽然也是分配在栈中,存放地址,但是后面的元素是分配在堆中的,所有说Java中所有的数组都是引用数据类型。
5.在Java中字符串定义为String str2=”abc”; 而不能定义为:char str2[]=”abc”;会报错说前面的地址,后面赋值的是String类型,因为字符串String是一个类。String类型也是引用数据类型,即上面的str2是分配在栈中,而字符串中的字符是分配在堆中的。回收内存的方法是:str2=null;来手动释放内存,引用类型赋值为null,即当没有其他引用指向此堆时,Java中的垃圾回收机制会回收这个堆,记住是其他所有指向这个堆的引用!
6.Java中的数据转换。如:float f=3.14;这样写会报错,因为3.14是默认为double类型,它转换为float类型时会存在数据丢失会报错,因此要进行强制转换才行:float f=(double)3.14;或者double f=3.14f;都行。又如:int a=4;short b=4;不会报错,因为虽然4是默认int型的,但是由于4也在short的范围内,所以编译器会自动转换。如果写为:short b=40000;则会报错,因为40000超出short的范围,是int型的,转换为short时会出现报错,要想不报错,需要进行强制转换short b=(short)40000;short s=1;s=s+1;会出错,因为对于short的运算,为了保证精度会自动转换为int类型。两个short类型变量相加后为int类型,都需要进行强制转换才能为short类型。
7.Int p[]=new int[1]; fun(p); public static void main(int[] p) {p[0]=200;} //传址调用,这样p[0]=200;