分享
 
 
 

看"java编程思想"笔记

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这几天因为工作需要将"java编程思想"(三)再看了一遍,在看的过程中间将以前一些没有注意的细节做了下笔记,里面所写的很多是我自己归纳总结的,如果有不对,敬请指正.现在将其作为我的第一篇文章发表出来,后面的我会陆续发表出来,谢谢捧场.

第二章

1. java之间都是引用(reference),通过new关键字创建对象

2. 原始类型(primitive boolean(false), char(‘\u0000’), byte(0), short(0), int(0), long(0L), float(0.0F), double(0.0d),void

3. java中间参数的作用域在{}之间。不能有变量覆盖{int x; {int x;}}在java中非法,在java语言中的任何地方都可以定义变量。

4. 当原始类型的变量为类的成员时,有默认的值。但是非类成员变量没有默认值,否则出现编译时错误

5. 在java中,方法是类的一部份,因此,你需要通过对象来调用方法,如果对象错了,就会出现编译错误,在调用方法时,传递对象的时候,实际上是传递引用。

6. 方法如果没有返回值,必须void类型

7. java中两者注释方式。/* 多行注释 */ //单行注释,注释文档 /** */,Javadoc只会处理public和protect的成员和注释文档。

第三章

1. 在java中给primitive变量赋值比较简单。但是给对象赋值这里是reference的拷贝,在方法调用调用的时候也是传递的reference。

2. ==和!=比较的是对象的引用,不是对象的值,要比较两个对象的值。需要使用equals

3. 在java中,逻辑运算符只能应用于逻辑值上,不能用在非逻辑值上。

4. 位运算符:&,^,| ,~.前面几个可以和=运算符结合使用,<<,>>,java中有>>>(无符号右移),这个是c和c++中没有的,如果对char,byte,short进行位移,他们先变成int类型,结果也是int类型,Long型不变。移位符号可以和=结合使用,例如<<=,>>=,>>>=

5. 如果表达式以string开始,那么后面的变量比较是string,”a+b+c”+10+20+30

6. 对原始类型可以转换。但是对boolean不能转换

7. 在java中间,十六进制的数字使用0x开始,后面接数字或a-f的大小写字母。八进制使用0开始,在数字后面跟l或L表示long类型的数据,加f或F表示float类型的数据。加d或者D表示double类型的数据 (整数例如12默认是int类型,带小数点的(12.34)默认是double类型)

8. 如果数据类型比int小的数据(byte,char,short)在进行算术运算和位运算时。会提升为int类型,所以将一个结果给小类型时,需要转换

9. java中没有sizeof(),因为在java中,各个类型的数据大小固定

10. Math中的random()方法产生的double数小于1 ,大于等于0

11. goto是java中的保留字。但是并没有使用起来,我们可以使用

break和continue来完成一部份goto 的功能。这个并不是跳转,而是跳出循环的一种方法。他们的相同之处就是他们都使用了标签(label)

12. 将float和double类型的数据变为int类型时,是去掉他们的小数部分,例如int(36.7)=36

第四章

1. 构造函数是一种特殊的方法,它没有返回值,这一点和void的方法有本质上的区别,void方法什么都不返回,这个是由你决定的,你也可以在其中返回值。但是构造函数则什么都不返回,你别无选择(new表达式确实返回这个新创建对象的引用,但是构造函数本身并不返回值)

2. 每一个经过重载的方法必须有一个唯一的参数类型的列表。

3. 如果参数是原始类型,在它找不到对应的类型的时候,会进行类型的提升。但是不能自动变为类型比它小的类型

4. 如果我们没有定义构造函数(不管有没有参数的),编译器将为我们创建一个默认的无参数的构造函数。但是只要我们自己定义了一个构造函数(不管有没有参数),编译器就不会在提供默认的构造函数 。

5. this只能用在方法内部,你可以把this对象的reference当作任何对象的reference,但是在构造函数中,this表示调用匹配参数的构造函数。

6. 在java中,对象不一定被垃圾回收器回收,垃圾回收不是析构。Finalize方法存在的原因是因为java可以调用本地方法。在本地方法中可能来分配内存。

7. 变量的初始化次序:类变量的初始化优于任何方法,甚至在构造方法的前面。对于static变量,也是一样的,如果变量是原始类型,那么它得到一个标准的原始类型的初始值,如果是一个对象的引用,除非你创建了一个新的对象给这个引用,否则就是null。Static变量只有在需要的时候才会进行初始化,并且在这个类的构造函数和所有其他普通变量之前调用,static之后就不再进行初始化了。就是先初始化static变量,再初始化非static变量

8. 在java中定义数组时,不允许指定数组的大小,int a[]; int [] a; int a[]={1,2,3,4,5},数组可以直接赋值,int a[],int b[], a=b;是正确的。对数组我们可以使用计算长度的函数。Length。如果在写程序的时候不知道有多少个元素,可以在程序运行时通过new来直接创建数组中的元素,int a[]; a=new int[10];当然,数组定义和数组的初始化可以合并在一起:int a[]=new int[10];如果你创建的数组不是原始类型,而是对象数组,那么必须使用new。Integer b[]={new Integer(1), new Integer(2), new Integer(3)};第二种方式:Integer b[]=new Integer{new Integer(1), new Integer(2), new Integer(3)};

9. 多维数组的处理。可以先确定一维,再确定其他的 。Integer a[][]=new Integer[3][];并且各个向量可以是任意长度,例如上面的数组可以 a[0]=new Integer[4],a[1]=new Integer[5]等

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有