1.运行EnumTest.java,并分析结果,得出结论。

其源代码以及运行结果截图如下:

枚举类型的常量以字符串的形式顺序储。源代码中s和t不是原始数据类型。getCLass():取得当前对象所属的Class对象 ;isPrimitive:用来判断指定的Class类是否为一个基本类型;s.getClass().isPrimitive()用来判断s是否是基本类型。Size u=Size.valueOf("SMALL");用来转化数据类型。Size.value()可遍历Size中的所有元素。使用“==”和equals()方法直接比对枚举变量的值。

2.阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟源码这几个概念,然后编写实例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算结果进行对比,看看Java中的数是采用上述哪种码表示的。

原码:原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值。

反码:正数:正数的反码与原码相同。负数:负数的反码,符号位为“1”,数值部分按位取反。可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算。

补码:正数的补码就是其本身。负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)。对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值。

3.Java变量遵循“同名变量的屏蔽原则”,请课后阅读相关资料弄清楚相关知识,然后自己编写一些测试代码,就象本示例一样,有意识地在不同地方定义一些同名变量,看看输出的到底是哪个值。

每个变量都有一个“有效”的区域,成为有效域,出了这个区域,变量将不再有效。

4.查看Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?

基本数据类型有:

int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits);

float长度数据类型有:单精度(32bits)、双精度(64bits double);

Boolen类型变量的取值有:ture、false;

Char数据类型有:unicode字符;

16位对应的类类型有:Integer 、Float、Boolean、Character、Double、Short、Byte、Long

结论:从低精度向高精度转换、基本类型向类类型转换、类类型向字符串转换、基本类型向字符串的转换

5.为什么double类型的数值进行运算得不到“数学上精确”的结果?

float 和double类型主要是为科学计算和工程计算而设计的,他们执行二进制浮点运算,这两种类型在计算机中的储存分为三部分:符号位、指数为、尾数部分。数据以二进制存储在计算机时,会出现无线循环系列,在数据转化中会出现错误。十进制不能准确的表示1/3,同样二进制不能精确的表示1/10。

在构建BigDecimal对象时应使用字符串而不是double数值,否则,仍有可能引发计算精度问题。(为什么会这样呢?)

double+、-不能准确的代表BigDecimal(String) 16位有效数以上的数字在使用BigDecimal时,应用*、/构造器创建对象才有意义。BigDecimal所创建的对象不能使用传统的等算术运算符直接对其对象进行数学运算,而必须调用相对应的方法。方法中的参数必须是BigDecimal的对象。

6.

以下代码的输出结果是什么?

int X=100;

int Y=200;

System.out.println("X+Y="+X+Y);

System.out.println(X+Y+"=X+Y");

为什么会有这样的输出结果?

输出结果如下:

X+Y=100200

300=X+Y

原因:System.out.println(str)其本身输出的就是字符串,而根据运算符的优先级规则,System.out.println("X+Y="+X+Y);语句则是输出字符串X(100)之后再次输出字符串Y(200),故该语句的输出结果为X+Y=100200;而System.out.println(X+Y+"=X+Y");语句则是先将字符串X和Y转化为ASCALL码,然后相加输出相加之后的结果300,故输出结果为300=X+Y。

00-JAVA语法基础--动手动脑的更多相关文章

  1. java语法基础--动手动脑问题及课后实验问题

    ---恢复内容开始--- 动手动脑: 1:仔细阅读示例:EnumTest.java,运行它,分析运行结果 结果 :枚举类型是引用类型!枚举类型不属于原始数据类型,它的每个具体指都引用一个特定的对象.相 ...

  2. java第二节课 java语法基础动手动脑

    动手动脑1:枚举变量   运行EnumTest.java package test2; public class EnumTest {  public static void main(String[ ...

  3. Java语法基础动手动脑

    仔细阅读示例:EnumTest.Java,运行它,分析运行结果? 你能得到什么结论?你掌握了枚举类型的基本用法了吗? EnumTest.java public class EnumTest { pub ...

  4. Java语法基础动手动脑实践

    输出结果为: 0.05+0.01=0.0600000000000000051.0-0.42=0.58000000000000014.015*100401.49999999999994123.3/100 ...

  5. Java语法基础课 动手动脑

    1.枚举类型 它的每个具体值都引用一个特定的对象.相同的值则引用同一个对象. 枚举类型不是java原有数据类型 2.为什么double类型的数值进行运算得不到“数学上精确”的结果? 我们给出的数值,在 ...

  6. JAVA 数组作业——动手动脑以及课后实验性问题

    JAVA课后作业——动手动脑 一:阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 1.源代码 // PassArray.java // ...

  7. Java语法基础(1)

    Java语法基础(1) 1.      Java是一门跨平台(也就是跨操作系统)语言,其跨平台的本质是借助java虚拟机 (也就是JVM(java virtual mechinal))进行跨平台使用. ...

  8. JAVA语法基础作业——动手动脑以及课后实验性问题 (八)

    一.动手动脑 运行AboutException.java示例,了解Java中实现异常处理的基础知识. 1)源代码 import javax.swing.*; class AboutException ...

  9. Java语法基础课后作业

    1.动手动脑 运行它EnumTest.java,分析运行结果 s和t分别引用的是SMALL和LARGE,枚举类型不是原始数据类型,s和u的赋值方式不同,但结果一样,列出它的所有值:SMALL,MEDI ...

随机推荐

  1. C#标准体重判断

  2. 终于,我还是下决心学Java后台了

    我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了.最近计划学习Java后台,因为最近接了私活的问题,好多都要Java后台和前端一起做.平常我在做什么,当然是忙着赚钱了 除了敲代码,你还有什么副业 ...

  3. Confluence 6 在你用户宏中使用参数

    你可以为你的用户宏指定参数.这样的话,用户可以使用参数来决定 Confluence 页面的显示情况. 如何在 Confluence 页面中使用你的宏参数 当添加一个宏到 Confluence 页面中的 ...

  4. 【supervisor】监控服务

    写了一个ftp服务,用supervisor监控一下 1.先写一个配置文件,路径和名称为/etc/supervisord.conf.d/ftp-server.ini [program:ftp-serve ...

  5. laravel 多对多关联 attach detach sync

    用户表和角色表,多对多关联,一个用户有多个角色,一个角色属于多个用户 添加多对多关联 attach: 给1号用户添加1号角色,并把关联表的column字段赋值为$value,后边的数组需要的时候再添加 ...

  6. spring cloud 路由网关zuul的高可用

    Zuul的高可用非常关键,因为外部请求到后端微服务的流量都会经过Zuul.故而在生产环境中,我们一般都需要部署高可用的Zuul以避免单点故障. 笔者分两种场景讨论Zuul的高可用. Zuul客户端也注 ...

  7. hexo+github page +markdown问题汇总

    1.没有权限提交 解决办法:把git版本由2.x改为1.9 未完待续

  8. 微信公众号之:JSSDK接入以及invalid signature等常见错误问题

    最近在搞微信公众号开发,进行到网页开发部分被坑了一天,最坑的问题就是invalid signature,而网上大部分解答这个问题的都没有说清楚,都直接丢文档.博主认为这样很不好.本文是博主结合自身遇到 ...

  9. centos安装pg以及pg配置ssl

    https://blog.csdn.net/iteye_21194/article/details/82645389 https://blog.csdn.net/rudy5348/article/de ...

  10. Java数据结构与算法结构图