cat writebug.cn/history

一个开发者的技术博客。

java入门精粹

第一章 java开发入门

  1. java类只支持单继承,但接口之间支持多继承。
  2. jdk包括java编译器,java运行时,java文档工具,java打包工具等。
  3. jdk安装目录内的db目录,这是java实现的开源数据库javaDB,支持jdbc。
  4. java源文件扩展名是.java, 编译后的字节码文件扩展名是.class。
  5. HelloWrold.java
class HelloWorld {
    public static void main(String[] args){
        System.out.println("hello world");
    }
}
  1. 使用javac HelloWrold.java编译。生成HelloWorld.class。javac参数是文件名。
  2. java HelloWorld运行。java参数是类名。
  3. java相关环境变量。PATH环境变量用来寻找java和javac等。CLASSPATH变量是java虚拟机用来加载字节码文件的路径。如果CLASSPATH没有设置,默认就是.(当前目录)

第二章 java编程基础

  1. java代码的基本格式修饰符 class 类名 { 代码 }
  2. java中一个字符串中间不能分在两行写, 需要分成两个字符串用+连接起来。
  3. java中的注释包括 单行注释//, 多行注释/*注释内容*/,文档注释/**注释内容*/。javadoc命令用来把文档注释提取来生成帮助文档。
  4. java中的标识符可以包括大小写字母,数字,下划线_,和美元符号$,不能以数字开头,且不能是java关键字。
  5. 建议的java命名规范
1. 包名所有字母小写
2. 类名和接口名每个单词首字母大写
3. 常量名所有字母大写单词间用下划线连接
4. 变量名和方法名第一个单词首字母小写从第二个单词开始首字母大写
  1. java关键字
abstract boolean break byte case 
catch char const class continue 
default do double else extends 
final finally float for goto
if implements import instanceof int
interface long native new package
private protected public return short
static strictfp super switch this
throw throws transient try void
volatile while synchronized
所有关键字都是小写的
  1. java中的整形常量支持二进制八进制十进制十六进制表示,二进制八进制十六进制分别以0b/0B,0, 0x/0X开头。
  2. java浮点型常量,单精度后面用F/f结尾,双精度后面用D/d结尾。d可以不写,默认是双精度。
  3. java字符常量,要用英文单引号引起来,java使用unicode字符集,支持转义字符,支持 '\u0000'。
  4. java布尔常量包括true 和false。
  5. null类型常量只有一个值null,表示对象的引用是空。
  6. 十进制转二进制是一个不断除以2区余数的过程。把要转换的数除以2,得到商和余数,把商继续除以2,直到商为0.
  7. 二进制转十进制要从右到左用二进制位上的每个数乘以2的相应次方。
  8. java是强类型的语言。数据类型分成基本数据类型和引用数据类型。基本数据类型包括数值型(byte short int long float double)和字符型char,布尔型boolean。引用数据类型包括类class, 接口interface,数组,枚举enum,注解annotation。
  9. 占用空间,(单位字节)byte类型 1,short 2, int 4, long 8.
  10. long型变量赋值时候右面的常量需要用L结尾。
  11. char类型变量占用2个字节。也可以把char赋值为0-65535之间的整数。
  12. boolean类型变量取值是true或false。
  13. 强制类型转换目标类型 变量 = (目标类型)值
  14. 变量在表达式中进行运算时,可能会发生自动类型转换,比如byte自动转换为int.
  15. java中的算术运算符包括+(正号) -(负号)+ - * / % ++(前) ++(后)--(前)--(后)
  16. 在进行除法运算时,当除数和被除数都是整数时,得到的结果也是整数,如果除法运算有小数参与,得到的结果是小数。
  17. 在进行取模运算时,运算结果的正负取决于被模数(左边的数)的负号,与模数(右边的数)的符号无关。
  18. 赋值运算符包括= += -= *= /= %=。赋值运算符是有返回值的,可以用一条语句为多个变量赋值,比如a=b=c=5;
  19. 用=为变量赋值时,在目标类型取值范围小于源类型时,比如将int变量赋值给short类型变量,需要显示的强制类型转换。用+= -= *= /= %=为变量赋值时,强制类型转换会自动完成。
  20. 比较运算符包括== != < > <= >=
  21. 逻辑运算符用于对布尔类型的数据运算,结果也是布尔类型数据。包括& | ^异或 !非 && ||
  22. &&是短路与,&不短路。||是短路或,|不短路。
  23. ^表示异或。
  24. 位运算符包括&按位与 |按位或 ~去反 ^按位异或 <<左移 >>右移 >>>无符号右移
  25. 运算符优先级,. [] ()优先级最高,赋值运算符优先级最低。
  26. 选择结构语句支持if(){}else{},和C一样。支持判断条件?表达式1:表达式2三元运算符。
  27. switch语句用法和C里面一样,但支持了String。
  28. while,do...while,for,break,continue用法和C中一样,但break和continue额外支持标记,多层循环时,用来跳出外层循环。用法是
itcast: for(i=0; i<10; i++){
    for(j=0; j<10; j++){
        ...
        break itcast; //跳出外层循环
    }
}

已经读完了page58/426。 后面的内容有机会补充