Chinaunix首页 | 论坛 | 博客
  • 博客访问: 39473
  • 博文数量: 17
  • 博客积分: 350
  • 博客等级: 一等列兵
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-08 00:09
文章分类
文章存档

2011年(17)

我的朋友

分类: Java

2011-03-16 20:44:55

xbjiang 标签:

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);
        }
    }
}

阅读(394) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:对象与类

给主人留下些什么吧!~~