Scjp笔记 (1)
[ 来源:互网络 | 更新日期:2007-10-02 05:43:28 | 浏览次数:8393]
简介:Identifiers:开头以Unicode letter,”_”和”$”。后面可以跟数字;(中文变量,方法名居然都可以!!!牛)大小写敏感;没有长度限制。Warning:类名必须是ASCII的字母。因为很多文件系统不支持UNICODE
Object-Oriented Programming
1.Constructor
没有返回值
如果只定义一个带参数的constructor,则lose缺省的无参数的constructor,new xx()会出错。
2.Source file layout:
定义顺序:Package ?C >import ?C> class declaration
一个文件至少应该有一个class,只能有一个public class,文件名必须要和public class的名称一致,如果没有public class,对文件名没有限制。
3.Package:
如果文件中没声明Package,则class属于缺省包,即没有名字的包
Identifiers,Keywords,and Type
1.Identifiers:
开头以Unicode letter,”_”和”$”。后面可以跟数字;(中文变量,方法名居然都可以!!!牛)
大小写敏感;
没有长度限制。
Warning:
类名必须是ASCII的字母。因为很多文件系统不支持UNICODE.(不过我试了一下,类名是中文的,Compile的时候是可以通过,Runtime时throw java.lang.NoClassDefFoundError)
2.Keywords:
几个 很生僻的Keywords:
transient,strictfp,volatile
没有goto和const;没有sizeof()。
4.Basic Java Type:
共8种。
Boolean和integer Type之间不能转化。
5.Integral:
Byte:8bit -2的7次方~2的7次方-1
short:16bit
int:32bit
long:64bit
6.Floating point
float:32bit
double:64bit
浮点形默认是double.
float a = 1.02 //compile error
float a = 1.02f or float a = 1.02F //correct
7.类型的取值范围
Data TypeSize (bits)Initial ValueMin ValueMax Value
boolean1false falsetrue
Byte80-128 (-27)127 (27 ?C 1)
Short160-215 215 - 1
Char16‘u0000’‘u0000’ (0)‘uFFFF’ (216 ?C 1)
Int320-231 231 - 1
Long640L-263 263 - 1
Float320.0F1.4E-453.4028235E38
Double640.04.9E-3241.7976931348623157E308
8.Assignment of Reference Type
基本类型的赋值是值的赋值;int x =6; int y = x;相当于复制x的内容到y上。
对象的赋值不会赋值内容,两个对象的指针都是指向同一个object..
9.Pass by Value
Pass argument by Value. 当方法的参数是对象的引用时,参数的值是对象的地址,对象是可以在参数调用时改变的。
Public class test{
Public static void changeObject(MyDate ref){
Ref = new MyDate(1,2,2002);
}
public static void main(String[] arv){
MyDate d = new MyDate(3,3,1988);
ChangeObject(d);
}
}
结果是d还是为1988,3,3;因为对象的地址是不变的。
10.Java Coding Convention(编码惯例)
Package ?C 名词且小写
Class--名词且第一个字母大写
Interface?同Class
Methods-动词且第一个字母小写,分隔词第一个字母大写,不用”-“
Variable?第一个字母小写,不用”_”,”$”(对于inner class有意义)
Constants?大写并用”_”
Expression and Flow Control
1.
Local variables?Variable defined in method
Instance variables?Variable defined outside method
Instance variable initialize:
byte,short,int,long,float,double:0
boolean:false
char:’u0000’
all reference type:null
2.Bitwise logic Operators
位逻辑运算符作用于整形。(byte,char,short,int,long)
3.>>
右移是把第一个操作数/2的第二个操作数次方
e.g
128>>4 returns 128/(2的4次方)
4.优先级
助记词 运


您的位置:
