美文网首页
2019-04-21 jave核心代码看书笔记(三)

2019-04-21 jave核心代码看书笔记(三)

作者: 张开翔 | 来源:发表于2019-04-22 00:59 被阅读0次

    第三章

    一.数值类型之间的转换

    1.合法转换:两个数值进行二元操作时,必须把两个操作数转化为同一数据类型,装换过程如图


    image.png

    2.强制转换:
    默认:double和float转int,默认截取截断小数
    溢出:a = byte(300); //a = 44
    补充:不要在boolen类型与任何数值类型之间进行强制类型转换,必须需要使用的时候,可以使用条件表达式b?1:0

    二.StringBuffer 和 StringBuilder

    1.为什么StringBuffer可以变长?
    和String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。但是,这个字符数组,留有冗余长度 ,比如说new StringBuffer("abcd"),其内部的字符数组的初始化长度等于4+16,如图


    QQ图片20190422002044.png

    扩容算法:
    使用append()方法在字符串后面追加东西的时候,判断长度超过了该字符串存储空间了吗,如果大小了就需要进行扩容:构建新的存储空间更大的字符串,将旧的复制过去; 尝试将新容量扩为大小变成2倍+2 , if 判断一下 容量如果还不够,直接扩充到需要的容量大小。


    QQ图片20190422001823.png
    三.不规则数组

    Java只有一维数组。当一维数组中的元素又是数组时,即构成了所谓的“二维数组”,因此,每个数组元素的长度可以是不一样的,即所谓的“不规则数组”

    四.控制流程

    1.块作用域中,Java中不能在不能在镶嵌的两个块中,声明相同的变量
    2.有些老代码中,if()后面没有{},后面只有一行代码,没有用{},也是允许的,不过我们要求规范,不在写这样的代码。
    3.数组初始化:
    数字数组:所有的元素都初始化为零,
    boolean数组:所有的元素都初始化为false
    对象数组:所有的元素都是null
    允许数组长度为零

    相关文章

      网友评论

          本文标题:2019-04-21 jave核心代码看书笔记(三)

          本文链接:https://www.haomeiwen.com/subject/tvzsgqtx.html