java核心技术卷Ⅰ笔记(1)

对之前学习的Java基础进行补充

  • 字符
    char 数据类型是一个采用 UTF-16 编码表示 Unicode 码点的代码单元
    强烈不建议使用char类型,除非需要处理UTF-16代码单元,最好将字符串作为抽象数据类型处理

  • 判断Java字母

System.out.println(Character.isJavaIdentifierStart('$'));  // true
System.out.println(Character.isJavaIdentifierPart('$'));  // true

在Java中 ‘$’ 也算一个字母 但是给变量取名的时候不要使用

  • Unicode编码也可以在字符串中进行拼接
System.out.println("\u0022+\u0022");  // 此结果为空串"" \u0022就是对"的转义
  • 除零操作
    整数类型除零会出现by zero的异常,但是浮点类型除零会出现无限大(Infinity)
 System.out.println(2.0/0);  // Infinity
 System.out.println(1/0);  // / by zero异常
  • 模运算
    例入用模运算来实现长度为4的循环队列[0,1,2,3],正常会使用(index%4)来计算,但是当index为负数时该结果也会产生负数,(这是由于设计最早的计算机时,必须有人制定规则,明确整数除法和求余对负数操作数该如何处理。数学家们几百年来都知道这样一个最优(或“欧几里德”)规则:余数总是要>=0。不过,最早制定规则的人并没有翻开数学书好好研究,而是提出了一些看似合理但实际上很不方便的规则。) 可以使用优化过的Math.floorMod()来代替,但是这个方法对于负除数,floorMod会得到负数结果,不过这种情况在实际中很少出现

  • 图解
    循环队列里的余数

System.out.println(-1%4);  // -1 正常取余运算,此时出现负数
System.out.println(Math.floorMod(-1,4));  // 3 当除数是正数时可以完全保证结果在0-3之间

今天就先到这!虽然不多 但要坚持 晚安

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值