您的位置:首页 > 编程语言 > Java开发

看《Core Java I 第六/八版》 1

2010-04-20 21:29 218 查看
今天看完了第二章和第三章,感觉不错~ 把笔记贴在下面~

<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:1;
mso-generic-font-family:roman;
mso-font-format:other;
mso-font-pitch:variable;
mso-font-signature:0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1073750139 0 0 159 0;}
@font-face
{font-family:"/@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->

加油!~~

float
的精度到底是多少?
书上说的,
3.40E+38F
怎么可能
10

38
次方??比
int
都大?

Java
里有八个基本变量类型:四个整数类型
(byte—1,
short—2, int—4, long—8 )
,两个浮点类型
(float—4, double—8 )
,一个字符类型
char—2

一个布尔类型
boolean—
一个
bit
。另外,有一个
String
类型,是一个
class


java
里的
String
类的修改不是直接将其中一些字符串修改了而已,而是将其中桥接到另外的去了。如
String test = “Hello”;
如果将
’o’
改成
’x’,

C++
或者
C
中就直接将指针对准它,然后改为
x
就好了,可是在
java
里是直接将前四个字符提取出来后面接上另一个字符
’x’
。这种做法在
java
里被认为是共享的好处,它被认为大于重新定义串而带来的麻烦。“
java
设计者认为共享带来的高效率超过了通过字串提取和拼接进行字符串编辑导致的低效率”。——
String

常量池问题



java

没有重载

。所以很多预定义的类型不能用什么
+-*/
之类的,这样其实很麻烦。我都觉得这样是不是太麻烦了……
java
为了避免一些简单的错误,将很多
C++
里面很好的功能给阉割了。。。真不爽!
到底为什么一定不能重用呢


java
没有指针运算,所以定义这样一个数组:
int[]
a = new int[100];
之后,不能通过
a+1
来调用
a[1]
!!
for each
函数:
for(int s : arrayA) {}

二维数组,在说
a.length
的时候说的是有多大的一维维度,
a[].length
在说多大二维维度。要访问或者修改二维数组的每一个元素,不能直接用
for each
那个函数,而要用嵌套:

for(int[] r : a)
for(int value : r)
{}

java
的数组其实是不规则数组,所谓二维数组其实是数组的数组。可以单独存取某一行列,比如
:

int[] temp = a[i];

a[i] = a[i+1];

a[i+1] = temp;

这种数组的申明定义方式如下:

int[][] okkey = new int[10][];

for(int i=0; i<10; i++)
okkey[i] = new int[i+1];

对象。
所有
java
对象都存储在

中。——问题:什么是堆,与栈有何区别


GregorianCalendar
中怎么有多个
set
函数?
这难道不是函数重载?

问题:那么构造函数是否也可以重载呢


java
的类中,每一个函数前面都要加上
public
或者其他类别的符号,不能省略。

构造器只能伴随着
new
来执行,不能在已经申明后的变量中调用。

*
构造器与类同名

*
每个类可以有一个以上的构造器

*
构造器可以有
0

1

2
……的参数

*
构造器没有返回值

*
构造器总是伴随着
new
操作一起调用。

java
中,所有的类的方法都必须在类的内部定义。但不代表它们就是内联方法。是否将方法设置为内联方法是
java
虚拟机的任务。即时编译器会监视调用那些简介、经常被调用、没有被重载以及可优化的方法。

内联方法——
inline
?

警告

:不要编写返回引用可变对象的访问器方法。——第六版
P107.

java
的关键在这里啦!——
**.java
中带有
public
访问修饰符的类一定要与文件名相匹配。一个源文件中只能有一个共有类,但可以有无限个非公有类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: