Java语言程序设计课后小结
运行结果:Size s = Size.SMALL;此时,s = SMALL。Size t = Size.LARGE;此时t = LARGE。
System.out.println(s==t)。由于s和t并不引用同一个对象,所以输出false。System.out.println(s.getClass().isPrimitive());用于判断枚举类型当中的各个元素引用的是否是原始数据类型,最后返回false,证明引用的不是原始数据类型,Size u = Size.valueof(“SMALL”)通过字符串的转换使u = SMALL,System.out.println(s==u),此时s = SMALL,u = SMALL,返回true。for(Size value:Size.values())遍历这个枚举类型当中的元素,System.out.println(value)将其输出,并且最后一个输出的为最大值。enum Size{SMALL,MEDIUM,LARGE}为枚举类型引用对象。
结论:枚举类型中的各个元素都不属于基础数据类型,无论这个元素的实际值是否是其他数据类型,我们都认为它不是一种基础数据类型。且枚举类型也可以使用valueof()方法来返回一个值给枚举实例,且在循环中可以不像数组那样用下标进行遍历,并且不仅可以列出枚举类型当中的所有元素,还可以找出它的最大值。
运行结果:输出结果令我十分意外,按照正常人的思维来说,0.05+0.01=0.06即可,在C语言以及C++的学习中,这个结果也不过是0.06000000而已,可是在Java语言当中,以上四个算式的每一个结果都出人意料。
结论:Java语言当中的double和float类型进行计算,都不能得到精确的结果。在查阅相关资料后我了解到,这是由于二进制不能准学的表示十进制的浮点数,由十进制转换为二进制的方法可以知道,如果最后一位不是0或5,长度是无限的。float和double类型主要是为了科学计算和工程计算而设计的,它们执行二进制浮点。
运行结果:System.out.println(“X+Y=”+X+Y)语句输出的结果是“X+Y=100200”,即先将引号内的“X+Y=”原封不动的输出之后,输出了100和200。System.out.println(X+Y+”=X+Y”)语句输出的是“300=X+Y”,
结论:Java中输出时遵循从左至右的规则,且‘+’号运算符在两边都是整形的情况下,会优先对其进行加法运算求和之后再往后运行输出,第一句之所以是100200的结果,就是因为X左边的加号的意义并不是求和运算,而是字符串的衔接,所以编译器从左往右运行时,在“X+Y”+X这里,进行的是字符串拼接,所以到了“X+Y”+X+Y最后一个加号时,由于Y的左边是字符串,所以进行的是字符串的拼接,所以有了“X+Y=100200”的结果。而第二个语句X+Y+”=X+Y”之所以是300=X+Y,就是因为第一个加号运行时,由于两边都是整形,所以优先进行了加法运算,Y之后的加号由于右边是字符串,所以进行了字符串的拼接。我学习到的是,加号运算符当两边都是数字时,一定进行的是加法运算,而当有一边是字符串时,一定进行的是字符串的衔接。
原码补码和反码:
原码:最高位是符号位,0代表整数,1代表复数,非符号位为该数字绝对值的二进制。
补码:正数的补码和原码一致,负数的补码是对原码按位去反加1,符号位不变。
反码:正数的反码和原码一致,负数的反码是对原码按位去反,只是最高位不变。
比如十进制数字5,由于5 = 2^2+2^0,按二进制来算就是101加上符号位,就是4位数字。
原码:0101
反码:0101
补码:0101
比如十进制数字-5
原码:1101
反码:1010
补码:1011
最新文章
- 通过数据库查看EBS的登录地址
- Bootstrap系列 -- 43. 固定导航条
- 大熊君大话NodeJS之------Global Objects全局对象
- 常用AWK命令
- Extend ComboGrid Editors for DataGrid Of JQuery EasyUI
- InnoDB与MyISAM引擎区别
- 超简单的php缓存类
- Xcode中的全局异常断点
- matplot画图kill问题,形成思路
- 关于fftshift----将零频率的分量移到频谱的中心
- jenkins 修改log路径
- solr概况
- Java新帮派——数组
- 8 . IO类-标准IO、文件IO、stringIO
- .NET并行计算和并发8-QueueUserWorkItem异步
- 1024 Palindromic Number int_string转换 大整数相加
- beautifulsoup4 安装教程
- Swift coreAnimation 加计时器写的游戏《飞机大战》
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
- VS2010开发MFC ActiveX,摄像头拍照上传Webservice(2)