程序设计语言基础入门【笔记】
程序设计语言基础入门【笔记】
程序设计语言类型方面
从类型检查方面来说
编译时,有c,c++,java,go等语言
运行时,有python,Perl,JavaScript,ruby等
从运行/编译方面来说
编译为机器代码运行:c,c++等
编译为中间代码,在虚拟机上运行:java,c#等
解释执行:python,Perl,JavaScript等
从编程范式方面来说
面向过程:c,visual basic等
面向对象:java,c#,c++,Scala等
函数式:Haskell,erlang等
数据类型(java)
在java中,有很多数据类型,比如Boolean,byte,char(两字节),short,int(32位),long(64位),float,double,还有object派生下来的string,enum,array,使用起来是有些不同的
32位int的取值范围为-231到231-1,使用直观的没法判断+0和-0的情况,因此可以使用补码的方法,补码为原码取反加一,这样就可以发现对于32位来说,第一位为符号位,-0就变成了-2^31
浮点数和定点数
浮点数的结构是符号位\指数部分\基数部分
像是java中的double,范围为+/- 10308,但是64位的double精度只有1015,后面的两百九十多位都不能保证精度
所以浮点数的比较是很麻烦的,首先a==b是不对的,math.abs(a-b)<eps也不太行,不是万无一失的
使用bigdecimal算钱的时候,最好不要使用浮点数,使用定点数比较好
java数据类型
装箱拆箱的操作
第三个可能相等也可能不相等,因为在数据小的时候会分配同一个箱子,但是在数据大的时候,就会分配不一样的
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接