《疯狂JAVA》读书笔记-第三章数据类型和运算符

本章要点:注释、8种基本类型、自动类型转换、强制类型转换等

1、注释
  • 单行注释和多行注释
  • 文档注释
2、标识和关键字
  • 分隔符:分号(;),花括号({}),方括号([]),圆括号(()),空格和圆点(.)
  • 标识符:用以给变量,方法和类命名,有以下规则
    1. 可有字母,下划线,美元符($),数字组成,但数字不能打头(首位)
    2. 不包含空格
    3. 区分大小写,ADC和adc是不同的符号
    4. 字母可以是中文,日文等
    5. 不能是java的关键字和保留字,但可包含关键字和保留字
    6. 不能是@#等其他特殊符号
3、java关键字
4、数据类型分类

java是强类型语言,变量必须先定义声明后使用,定义的类型变量必须与赋值类型匹配。java支持的类型分两类:

基本类型和引用类型。

  • 基本类型(8种):boolean型和数值类型,数值类型又分整型(byte,int,short,long,char)和浮点型(float,double)

    • char的赋值用单引号,String的赋值用双引号
    • char可以赋值给整型
    • 正浮点数/0=Infinity(正无穷大),负浮点数/0=Infinity(负无穷大),整数/0报错,正无穷大都是相等的,负无穷大都是相等的
    • 其他基本类型不能转换boolean型,布尔型和字符连接运行,会转为字符型
  • 引用类型:类、接口、数值和null类型。null不能转换成基本类型,所以不能把null赋值给基本类型变量

  • 类型转换

    • 自动转换:任何范围小的数据类型都可以向范围大的数据类型自动转换,反之报错。如int向float转,而byte不能向char转等。任何基本数据类型与字符转连接,都转转成字符串,所以如何想把基本类型数据变成字符输出,直接和空字符进行连接运算即可。
    • 强制转换:范围大的数据类型向范围小的数据类型转换,也叫缩小转换。因为有可能溢出造成数据丢失。
    • 表达式的自动提示:1、所有的byte、short和char类型都将向int;2、整个表达式的算术数据类型都将提高到最高等级操作数的数据类型。
  • 直接量

    • 通过源代码直接给定的值,能直接指定直接量的只有三种类型:基本类型,null和字符
    • null可以直接赋值给任何引用类型变量,包括String.
    • sting类型的直接量不能赋给其他类型变量,boolean类型的直接量只能赋值给Boolean类型变量,不能给其他任何类型变量
    • 因为String是不可变类,当Java程序第一次使用字符串直接量是,会用常量池缓存改直接量,当后面再次使用该直接量时,会直接使用常量池中的直接量。

    常量池:是指在程序编译期间就被确定下来的,并保存在.class文件中的一些数据。常包含类、方法和接口的常量,还有字符串直接量。

  • 运算符

    • 算术运算符:加减乘除和求余,求余:因为求余其实也是除法运算,所以如果两个操作数都是整数的话,不允许第二个操作数为0;相反如果两操作数有一个或者两个为浮点数,则允许第二操作数为0或者0.0,但是求余结果都是非数:NaN。0或者0.0求余任何非零数结果都是0。(正负看第一操作数)例子:

      4 % 0 = 报错

      5.0 % 0 = NaN

      5 % 0.0 = NaN

      0 % 0.0 = NaN

      0.0 % 0 = NaN

      0 % 5 = 0

      0.0 % 5 = 0.0

      -5 % 3 = -2

      5 % -3 = 2

      3 % -5 = 3

      -3 % 5 = -3

    • 赋值运算符

    • 比较运算符:基本类型的变量和值不能和引用类型的比较,布尔类型不能与其他类型比较,没有父子关系的引用类型变量不能比较。一些== 的情况:97 == 97.0 ,‘a’ == 97等,引用变量要指向同一对象才是相等

    • 逻辑运算符

    • 位运算符

    • 类型相关运算符

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2015-2020 谭家俊
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

微信