深入了解java和javascript-杂谈章

关于类型:

一.
1.编译器直接支持的类型-基元类型->编译器熟悉基元类型的占用空间和初始化方式和各种规则
2. 非基元类型
二.
1. 简单数据类型:包含一个数据项的
2. 复杂数据类型,包含多个数据项,比如list,map等
三.
1. 值类型:存放原始值
2. 引用类型:需要用指针引用
3. java自定义的值类型:自定义的数据结构struct–自定义值类型存放在栈里,由于栈的大小限制所以不能大于16字节,如果大于的话可以用引用类型,引用类型存放在堆里—–其中值类型反应快空间小,引用类型反应慢,空间大。

相对于javascript:

一.
1. 没有自定义值类型(没有struct),只有值类型也是基元数据类型
2. 引用类型分为
* 内置引用类型:一般不是本语言编写(一般是c),屏蔽物理层复杂性,提供api接口。
* 自定义引用类型

关于隐式转换

隐式转换是容易出现代码bug的地方
在吧不同类型数值类型相互赋值的时候,编译器会尽量转换,如果超出相应类型的有效范围,就会出现高位溢出或者地位丢失,如果是隐式转换,高位溢出会抛出错误,低位丢失不会报错,这里会引起错误。
如果是强制显示转换(int a = (int)float;),编译器不会处理,导致高位溢出和低位丢失都不会报错(c语言也是这样)。
而实参和形参的转换也会出现隐式转换错误

javascript小记

javascript是动态类型,综合起来有3中变量类型也就是基元变量,undefined(值是0000),number(数值,双精度浮点数,可存证书和浮点数,无穷大时是+infinity),非数值类型NaN(相当于null)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值