zoukankan      html  css  js  c++  java
  • 程序设计语言基础入门【笔记】

    程序设计语言基础入门【笔记】

    程序设计语言类型方面

    从类型检查方面来说

    编译时,有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数据类型

    装箱拆箱的操作

    第三个可能相等也可能不相等,因为在数据小的时候会分配同一个箱子,但是在数据大的时候,就会分配不一样的

    感谢观看,文笔有限,博客不出彩,还请多多见谅
  • 相关阅读:
    解决mac osx下pip安装ipython权限的问题
    [转载][翻译]Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[1]
    PhantomJS 基础及示例 (转)
    Go -- 别人的博客
    [转]Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误-高级
    Go -- etcd详解(转)
    对require.js 的使用进行总结
    gatsbyjs 使用
    gatsbyjs 了解
    JAMstack 最佳实践
  • 原文地址:https://www.cnblogs.com/jokingremarks/p/14464919.html
Copyright © 2011-2022 走看看