JavaSE 02

JavaSE 02


1. 异常

1.1 Java中的异常指的是继承于Throwable下的Exception,与其同级的是Error

在这里插入图片描述
Exception主要分为两种:

  • 编译时异常,Exception下的红色异常类
  • 运行时异常,Exception下的蓝色异常类

1.2 关于错误和异常的结构,记住下面一张图即可
在这里插入图片描述
1.3 常见错误和异常

常见错误:

  • StackOverFlowError
  • OutOfMemoryError

常见异常:

  • 空指针异常:调用toString方法和equals时容易出现
  • 类型转换异常:将“qwe”转为Date时
  • 数字转换异常:将“abc”转为数字时
  • 数字异常:除数为0时
  • 数组下标越界异常:超过数组长度时

2. Java进制相关

2.1 二进制

表示方式,标志位是 0b

int x = 0b11; //正确,最终值是3
int x = 0b2; //错误,2进制中不能出现大于等于2的值

2.2 八进制

表示方式,标志位是 0

int x = 012; //正确,最终值是10
int x = 08; //错误,8进制中不能出现大于等于8的值

2.3 十六进制

表示方式,标志位是 0x

int x = 0xf; //正确,最终值是15
int x = 0x12g; //错误,16进制中不能出现大于等于16的值(g是16)

3. Float相关

1823
表示该浮点数的正负,1正,0负第一位表式乘或除法,后面7位表示指数值23位有效数字

举例说明: 11.9的内存存储格式
(1) 将11.9化为二进制后大约是" 1011. 1110011001100110011001100…"。
(2) 将小数点左移三位到第一个有效位右侧: "1. 011 11100110011001100110 "。 保证有效位数24位,右侧多余的截取(误差在这里产生了 )。
(3) 这已经有了二十四位有效数字,将最左边一位“1”去掉,得到“ 011 11100110011001100110 ”共23bit。将它放入float存储结构的第22到第0位。
(4) 因为11.9是正数,因此在第31位实数符号位放入“0”。
(5) 由于我们把小数点左移,因此在第30位指数符号位放入“1”。
(6) 因为我们是把小数点左移3位,因此将3减去1得2,化为二进制,并补足7位得到0000010,放入第29到第23位。
最后表示11.9为: 0 1 0000010 011 11100110011001100110


4. 整数类型

  • 用加号运算整数后的结果,默认是int,即使是两个byte相加,结果也是int
  • 常数的默认类型是int,比如 long x = 123456789000 报错
  • 加减乘除运算符会先将左右的数据类型统一

5. 运算符相关

5.1 一元运算符(a++ ,++a )> 乘除 > 加减

int a = 1;
int j = a++ + ++a * a++;  //结果为10 ,先算 a++ , ++a ,再算乘法,最后加

5.2 操作数栈

int a = 1;
a = a++; //输出a为1,原理复杂,待消化

5.3 位运算符:'>>‘对应有符号移动,’>>>'对应无符号移动

注意:所有的运算符(算数运算符,逻辑运算符)在底层执行的时候都是位运算符

第一点:3>>-1 其实就是 3>>31, 3>>-2 就是3>>30

第二点:负数有符号右移左边补1,其他所有 有无符号的移动都需要补0

重点:首位符号位不参与原码,反码,补码的操作都不用处理,但是需要参与有无符号的左右移动操作

注意:所有的移动都是基于补码移动的,最后通过补码得到源码就是结果

如下示例:
在这里插入图片描述


Tips:世界上最遥远的距离,是我在if里你在else里,似乎一直相伴又永远分离

上一章:JavaSE 01
下一章:JavaSE 03

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值