2011年(17)
分类: Java
2011-03-16 20:44:55
1、Java对大小写敏感;
2、Java的类名定义规则:单词完整拼接,单词首字母大写;方法定义规则:单词完整拼接,首单词全小写,非首单词首字母大写;
3、源代码文件名必须与public类的名字相同;
4、类中必须有一个main方法,main方法必须声是为public;
5、在java中通用的语法为,object.method中的(.)是用来调用方法的,而不是后者属于前者;
6、java的注释不能嵌套,用于生成文档的注释形式为:/** …*/;
7、java一共提供8种基本类型(primitive type):int(4byte),short(2byte),long(8byte),float(4byte),double(8byte),char(2byte unicode),boolean;
8、java的基本类型占用字节与运行java代码的机器平台无关,慎用float,常用double,用f/d类型数据做相等判断应注于精度控制的截取导致的后果;
9、整型和布尔型之间不能直接相互转换,所以在用整型做判断时应先将整型值做转换处理;
10、变量声明尽可能靠近第一次使用的地方,并且需对其进行显式初始化;
11、final用于声明常量,该常量只能赋值一次,通常大写,类常量的定义位于main方法外部;
public class Test(){
public static void main(){
}
public static final double PI = 3.14159265
}
12、java支持三元操作:condition?expression1:expression2.
13、逻辑”与””或”采用的短路运算方式;
14、Math类中的方法操作的不是对象,这样的方法叫静态方法,静态导入方式:import static java.lang.Math.*,导入后再使用方法不需要再加类名Math;
15、对两个不同类型的数值进行二元运算时,以不损失精度为前提进行精度转换后再运算;
16、强制转换语法(cast),如果想让浮点数舍入最接近的整数,可以使用Math.round()方法;强制方法如果不满足不损精度的条件的话,可能导致数截断成一个完全不同的值。
17、枚举类型enum Size{A,B,C},声明变量时可以用:Size s=Size.A,在应用于switch语句时可以直接用case ;
18、String类的方法:子串提取(substring),字串拼接(+),字串比较(equals),获取字串所占代码单元个数(length),获取实际长度用(codePointcount);
public class CodePoint {
public static void main(String[] args){
String greeting="Hello j ";
int n=greeting.length();
System.out.println("Hello can be stored in "+n+" code units");
int cnt=greeting.codePointCount(0, n);
System.out.println("Hello string count is "+cnt);
}
}
19、一个代码点就是一个Unicode编码,一个Unicode字符编码有可能需要两个代两码单元才能完整表示(一个代码点可能含两个[特殊字符]或一个代码单元);
20、文件操作(Scanner(File ) PrintWriter)时,可能会报“FileNotFoundException”,这时需对main方法后加注 throws IOException 子句标记,用以忽略程序中对可能产生的找不到文件的异常的处理,Myeclipse的文件存放于工作目录,与bin,src位于同一目录。对File对象用append,nextLine方法可以写数据和读数据;
21、块-{…};
22、switch类型的case标签应为整数或者枚举类型,使用枚举类型时,不必在每个标签中指明枚举名,可以由switch的表达式值确定。
Size sz=…
switch(sz){
case A:
}
23、带标签的break语句,标签必须放在希望跳出的最外层循环之前,并且其必须紧跟一个冒号,使用方法:
public class BreakTest {
public static void main(String[] args){
int i=0;
int j=8;
tag:
while(i<10){
i++;
j--;
System.out.println("i="+i+" j="+j);
if(j<5)
break tag;
}
if(i!=10)
System.out.println("I use break to get out ");
}
}
24、for each用法:(variable:collection) statement
25、java中允许长度为0的数组的存在,如new a[0];
26、通常用Arrays.copyOf(original Array,length)来增加数组的大小,如:numbers=Arrays.copyOf(numbers,2*number.length);
27、java中[]运算符会检查数组边界,且没有指针运算,不能通过:数组名+1得到数组的下一个元素;
28、java的main方法未将程序名存储于args数组中,故args[0]即为java程序运行时所带的第一个参数;
29、二分法查找必须保证数据是有序的;
30、教材P81页第二行写错,应为static type copyOfRange(type[] a,int start,int end);
import java.util.Arrays;
public class CopyArray {
public static void main(String[] args){
int[] number={6,2,3,1,5,5,8};
Arrays.sort(number);
int order=Arrays.binarySearch(number,2);
System.out.println("order "+order);
int j=0;
for(int i:number){
System.out.println("numer"+ ++j +"="+i);
}
String number2=Arrays.toString(number);
System.out.printf("%s",number2);
System.out.println();
Arrays.fill(number, 5);
j=0;
for(int i:number){
System.out.println("numer"+ ++j +"="+i);
}
}
}