《大话Java:从零基础到数据库,Web开发》读书笔记

第一篇  Java基础语法与面对对象概念

chapter1 Java简介与基本概念

  • java开发工具名为JDK( Java Development Kit )
  • JDK主要包含编译程序,JVM与Java函数库(Libraries) ,  JRE 中只有JVM与Java函数库
  •  在bin目录下有两个重要的文件:[  javac.exe  ] 和  [  java.exe  ] 分别是编译程序和JVM
  • class Helloworld { }
  • 关键字  标识符
  • 1 Byte =8 bits,每个bit有1和0两种变化,共有2^8 个整数,但要分成正负数,所以要除以2,得到正负数各有2^7个;负数为 -2^7~ -1,正数是0~2^7-1(因为0占了一个数)
  •   浮点数中,1744.2会存成1.7442E3 (等同于1.7442* 10^3)       
  •   char字符类型,范围 \u 0000~\u ffff ( Unicode字符 )
  • char  abc= ' abc ',错误,变量abc是字符类型,最多只能装下一个字符

chapter2 Java的运算与流程控制

  •  []数组索引 ()方法调用 。成员调用

    ++ -- +正号 - ~NOT运算(又称补码运算) !逻辑NOT运算 (type)转型 new建立对象实例

    * / %

    +加 - +字符串连接

    <<带符号左移 >>带符号右移 >>>无号右移

    >大于 >= < <= == !=

    &AND运算 |OR运算 ^XOR运算
    &&逻辑AND运算 ||逻辑OR运算

    ?:条件运算 =赋值运算
  • 以上运算符号优先级从高到底,右结合有:new , ?:,=
  •  Java函数库的string 类,所属的concat()方法,只能连接字符串而无法连接数字,用+,可以让字符串与字符或数字连接在一起                                             
  •  在位运算中,X&-1=X, X^Y^Y=X
  • 位运算符号和逻辑运算符号几乎一模一样,其中只有NOT运算符号 [ ~ ]与之前逻辑运算的NOT运算符号 [ ! ]不同
  • 位运算应用在整数类型;逻辑运算应用在boolean值上

chapter3 数组

  •   new代表建立一个新的实例(Instance)
  •   for-each循环会自动将数组内的元素由第一个依次取至最后一个 ,如 for(int  price:prc)  
  •   arraycopy(prcVan,0,prcLisa,0,prcVan)
  •   (数组源,从源数组索引值为0的元素开始复制,目的数组,从目的数组索引值为0的位置开始赋值,需要复制元素的长度)
  •   sort() 方法,可做升序排序,从小到大

chapter4 面向对象程序设计

                       -————面向对象特色之一:继承

  •   子类  extends 父类   ,只能继承一个父类
  • 改写(override)只发生在继承关系中 ,区别于 重载(overload)
  • 改写方法规则:1.方法名称要相同;2.参数个数与数据类型要一样;3.返回值的数据类型要一样;4.final方法不能被改写
  • 重复利用的利器(this,super)
  • 构造函数,一般没有任何参数的构造函数称为默认构造函数,特点:1.没有返回值;2.与类名称相同
  • Java修饰符,访问权限从高到低:public——>protected——>default——>private

       ————面向对象特色之二:封装

  • 抽象类(abstract):1.不能产生对象实例;2.子类继承父类也必须为父类,Implement
  • 接口(interface)算是抽象类的一种,规则:1.只能拥有public抽象方法;2.不能产生对象实例;3.子类要实现抽象方法;4.子接口只可继承父接口;5.属性必须赋初始值;6.没有构造函数

      ————面对对象特色之三:多态

  •  对象转型:分自动转型和强迫转型
  •  避免对象强迫转型产生错误——善用instanceof 运算符号
  • 当JVM真正到内存中看实例内容,结果发现实例内容与你要转型的类型根本不符合,就会发生[  ClassCastException  ]
  • 用instanceof来验证对象实例是否属于要强迫转型的类型,true表示可以转型
  • Java类架构的根类——Object 类
  • 其中有一个重要的方法——toString();

chapter5 对象,变量的生命周期与枚举类型

  •  类变量(Class variable),生命周期与类一样长
  • 实例变量(Instance variable)
  • 方法变量(Method variable),局部变量(Local variab)的一种
  • 区块变量(Block variab),隶属于if,switch或循环等区块的变量,属于局部变量
  • 枚举类型(Enumerated Type)会自动继承java.lang.Enum,三大优点:1.具有数据类型安全性(Typesafe);2.属性值更具意义;3.switch-case支持枚举类型

你可能感兴趣的:(读书笔记)