运行结果: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. list变成String类型

    list变成String类型 CollectionUtils.isEmpty(vo.getImgs())?"" : String.join(";", (Stri ...

  2. VUE学习-列表渲染

    列表渲染 v-for <!-- v-for="(v,k,i) in arr/obj" --> <ul id="app"> <li ...

  3. 工作日统计工具(python)

    一.前言 最近在整理之前写过的工具,发现这个虽然写得很简单,但是现在回头看看还挺有趣,就放出来LOL 记得应该是因为当初写立项书的时候,总是得算10个工作日之后是几号,或者到几号结束还剩下多少个工作日 ...

  4. 2022-04-29内部群每日三题-清辉PMP

    1.在一价值200万美元项目的测试阶段,团队发现了一些缺陷.由于截止期限很紧,团队成员承认他们可能无法修复所有缺陷.若要确定应集中哪些工作,项目经理应该使用什么工具或技术? A.帕累托图 B.矩阵图 ...

  5. RabbitMQ的安装与基本使用(windows版)

    基本结构 windows安装 1.  先安装erlang开发语言,然后安装rabbitmq-server服务器(需要比对rabbitmq版本和erlang版本对应下载安装,我项目中选用的版本为otp_ ...

  6. gitlab-CICD共享runner基本配置

    gitlab-CICD共享runner基本配置 使用docker部署runner 多个项目使用共享runner 部署机器与runner不在同一台服务器上(使用ssh部署) 部署runner 部署镜像 ...

  7. Centos 7.9 基于二进制文件部署kubernetes v1.25.5集群

    简述 Kubernetes(简称为:k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器 ...

  8. chrome驱动版本与python不一致时

    图片: 解决办法: 1.先去chrome浏览器找到版本号:在chrome找到帮助-关于Google chrome 2.通过网址:https://npm.taobao.org/mirrors/chrom ...

  9. 通过ESP8266WiFi模块调用“心知天气”接口 获取天气信息

    在分析代码之前,首先介绍 ArduinoJson 库的安装及"心知天气"的ID申请 一.安装 ArduinoJson 库 进入 Arduino 开发环境后,选择菜单栏-->工 ...

  10. element ui form 表单 校验upload是否有上传

    查到资料 可以绑定在一个多选上,校验此绑定的值 1 <el-form-item label="上传图片" prop="双向绑定值"> 2 <e ...