Java数据类型和运算0224

引用数据类型

  • 接口
  • 数组
  • 枚举

运算符

int型相除,除数为0, 抛出算术异常

浮点数相除,除数为0, 结果无限大

**字符串的比较用equal方法不用== **

​ 那么int数据的地址是怎样的呢,String又是怎样的呢?

对于基本数据类型(byte,short,char,int,float,double,long,boolean)来说,他们是作为常量在方法区中的常量池里面以HashSet策略存储起来的,对于这样的字符串 “123” 也是相同的道理,在常量池中,一个常量只会对应一个地址,因此不管是再多的 123,“123” 这样的数据都只会存储一个地址,所以所有他们的引用都是指向的同一块地址,因此基本数据类型和String常量是可以直接通过==来直接比较的。

另外,对于基本数据的包装类型(Byte, Short, Character,Integer,Float, Double,Long, Boolean)除了Float和Double之外,其他的六种都是实现了常量池的,因此对于这些数据类型而言,一般我们也可以直接通过==来判断是否相等。那么再出一个问题考考大家

img

结果是 true,false。没想到吧!其实是因为 Integer 在常量池中的存储范围为[-128,127],127在这范围内,因此是直接存储于常量池的,而128不在这范围内,所以会在堆内存中创建一个新的对象来保存这个值,所以m,n分别指向了两个不同的对象地址,故而导致了不相等。

版权声明:本文为CSDN博主「CoderLC」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lcsy000/article/details/82782864

基本数据类型和包装类型

基本数据类型和包装类型的区别

  • 包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址,基本类型不是。
  • 包装类型是引用的传递,基本数据类型是值的传递
  • 声明方法式不同,基本数据类型不需要new关键字,而包装类型需要new在堆内存中进行new来分配内存空间
  • 存储位置不同,基本数据类型直接将值保留在栈中,包装类型是把对象放在堆中,然后通过对象的引用来调它们
  • 初始值不同,基本数据类型初始值为0,包装类型初始值为null(Boolean初始值为false)
  • 使用方式不同,基本数据类型直接赋值使用就好,包装类型是在集合如collection 、Map时会使用

版权声明:本文为CSDN博主「乐哥的博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_50172764/article/details/108810526

注意表达式中的数据类型转换

逻辑运算符
  • && 短路与,前面条件为假,不计算之后的表达式

  • & 位与,继续计算之后的表达式

位运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MoGnvz8I-1645696834039)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220224175841111.png)]

控制流语句

流程图:用图形表示程序执行的流程。

流程图的组成:

a.矩形 表示执行

b.菱形 表示判断

c.平行四边形 表示输入或输出

d.椭圆或圆角矩形 表示程序开始或结束

a.矩形 表示执行

b.菱形 表示判断

c.平行四边形 表示输入或输出

d.椭圆或圆角矩形 表示程序开始或结束

e.直线 表示流程线

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值