运行结果: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

Java语言程序设计课后小结的更多相关文章

  1. JAVA语言程序设计课后习题----第八单元解析(仅供参考)

    1 本题主要考的是方法的克隆,与c++里面的拷贝有点相似,具体看书本p147 import java.util.Objects; public class Square implements Clon ...

  2. JAVA语言程序设计课后习题----第七单元解析(仅供参考)

    1 本题水题,就是想让你理解继承的含义 public class Animaal { public double weight; public void eat(){ } } public class ...

  3. JAVA语言程序设计课后习题----第六单元解析(仅供参考)

    1 本题就是基本函数的用法 import java.util.Scanner; public class Poone { public static void main(String[] args) ...

  4. JAVA语言程序设计课后习题----第五单元解析(仅供参考)

    1 本题是水题,题目要求你求最大值.最小值,建议你用Arrays.sort函数进行排序,最大值.最小值就可以确定了 import java.util.Arrays; import java.util. ...

  5. JAVA语言程序设计课后习题----第四单元解析(仅供参考)

    1 本题水题,主要理解题目的意思即可,访问方法和修改方法可以通过快捷方式alt+insert选中你需要的成员变量即可 public class Person { public String name; ...

  6. JAVA语言程序设计课后习题----第三单元解析(仅供参考)

    1 本题水题,记住要知道输入格式即可 import java.util.Scanner; public class test { public static void main(String[] ar ...

  7. JAVA语言程序设计课后习题----第二单元解析(仅供参考)

    1 注意不同类型转换 import java.util.Scanner; public class Ch02 { public static void main(String[] args) { Sc ...

  8. JAVA语言程序设计课后习题----第一单元解析(仅供参考)

    1 本题是水题,基本的输出语句 public class test { public static void main(String[] args) { // 相邻的两个 "" 要 ...

  9. Java语言程序设计-助教篇

    1. 给第一次上课(软件工程)的老师与助教 现代软件工程讲义 0 课程概述 给学生:看里面的第0个作业要求 2. 助教心得 美国视界(1):第一流的本科课堂该是什么样?(看里面的助教部分) 助教工作看 ...

  10. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

随机推荐

  1. Java实现简单薪水计算器相关操作代码

    /** * 薪水计算器 * 1.通过键盘输入用户的月薪,每年是几个薪水 * 2.输出用户年薪 * 3.输出一行字"如果年薪超过10万,恭喜你超越了90%的国人:如果年薪超过了20万,恭喜你超 ...

  2. class和struct区别

    类(class) 引用类型:将一个对象赋值给另一个对象时,系统不会对此对象进行拷贝,而会将指向这个对象的指针赋值给另一个对象,当修改其中一个对象的值时,另一个对象的值会随之改变. 结构体(struct ...

  3. pyinstaller打包后运行提示“No module named 'PyQt5' "

    记录遇到的一个很傻的问题 脚本用到了PyQt5模块,安装成功脚本可以正常运行,但是使用pyinstaller 打包后,运行 exe文件提示 No module named 'PyQt5' 原因: 因为 ...

  4. monkey自动化脚本

    获取第三方安装包:手机需root,adb shell>cd data/app>ls(获取相应app信息)>cd +相应app信息>base.apk(安装包) 获取第三方安装包: ...

  5. java猜数小游戏

    问题: 程序自动生成一个1~100之间的随机数字,使用程序猜出这个数字是多少: Random可以随机生成一个随机数 使用方法: 导包 创建对象 Random r = new Random(); //只 ...

  6. ssr 学习总结

    自己构建ssr 前提:了解  koa, koa-router, koa-static, webpack 文件结构 ssr  中的router store 都是  一个工厂函数 在服务器端渲染(SSR) ...

  7. deepinlinux安装golang

    Download 从 Google 官方获取安装包,不用FQ直接访问 http://golang.google.cn,选择 Linux 的安装包如 go1.14.linux-amd64.tar.gz ...

  8. react toolkit 异步请求之后调取其他函数

    在slice切片文件中,页面dispatch执行action之后,异步请求完成后调取另外一个异步请求,要在异步请求的 第二个参数添加   thunkAPI,调取thunkAPI的dispatch方法即 ...

  9. 01爬取豆瓣网电影数据进行numpy的练习

    level 2:10.案例:编写爬虫爬取豆瓣电影排行榜(电影名称,评分),保存为csv文件 a.用numpy加载csv数据 b.把评分列转换成float64类型 c.计算电影的平均评分 d.求评分最高 ...

  10. Android 切换wifi小记

    我手机是Android 7.1的魅族.相关网络权限注册之后,还有一个特别的权限就是<uses-permission android:name="android.permission.A ...