Java语法基础,课后实践

2、数值的二进制表示

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

答:在计算机内,定点数有3种表示法:原码、反码和补码。反码是数值存储的一种,但是由于补码更能有效表现数字在计算机中的形式,所以多数计算机一般都不采用反码表示数。

原码:二进制的定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

反码:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

补码:正数的补码与其原码相同,负数的补码是在其反码末位加1;

Java是采用补码表示

3、变量的作用域

每个变量都有一个“有效”的区域(称为“作用域”),出了这个区域,变量将不再有效。

枚举类型是引用类型!枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。

可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

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

  首先得从计算机本身讨论这个问题。计算机并不能识别除了二进制数据以外的任何数据。无论我们使用何种编程语言,在何种编程环境下工作,都要先把源程序翻译成二进制的机器码后才能被计算机识别。事实上,浮点数并不适合用于精确计算,而适合进行科学计算。Float和double型用来表示带有小数点的数,这些数都以科学计数法的形式存储。当一个数如50.534,转换成科学计数法的形式为5.053e1,它的小数点移动到了一个新的位置(即浮动)可见,浮点数本来就是用于科学计算的,用来进行精确计算实在是太不合适了!

时间: 2024-10-13 02:59:36

Java语法基础,课后实践的相关文章

Java语法基础----课后实践作业

1.Enumtest.Java 代码: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换 Size u=Size.va

Java语法基础

Java语法基础 1.  关键字 某些单词对编译器有着特殊的含义,并且不能作为标示符使用,全部是小写字母 Java语言关键字 abstract boolean break byte case catch char class try do default continue double else extends assert final finally float for If implement import instanceof int interface long native new g

java语法基础一

Java语法基础一 Java代码基本格式 Java中所有程序代码都必须存在于一个类中,用class关键字定义类,在class之前可以有一些修饰符.格式如下: 修饰符 class 类名 { 程序代码 } 注:1.Java是严格区分大小写的. 2.Java程序中一句连续的字符串不能分开在两行中写. Java程序的注释 Java里的注释有三种类型: 1.单行注释 在注释内容前面加“//”,格式为: 代码; //注释内容 2.多行注释 以斜杠加星号开头,以星号加斜杠结尾. 3.文档注释 以斜杠加两个星号

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //

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

一.动手动脑 1)源代码 public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue(

Java语法基础动手动脑实践

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

JAVA语法基础(课堂ppt问题总结)

一:运行源代码EnumTest.java,分析运行结果. 代码如下: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t); // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //从字符串中转换

JAVA语法基础课堂例子验证

一 枚举类型 源代码: public class EnumTest {  public static void main(String[] args) {   Size s=Size.SMALL;   Size t=Size.LARGE;   //s和t引用同一个对象?   System.out.println(s==t);  //   //是原始数据类型吗?    System.out.println(s.getClass().isPrimitive());    //从字符串中转换   Si

Java语法基础练习2

---恢复内容开始--- 1.仔细阅读示例:EnumTest.java分析结果 代码: 运行结果: 分析:枚举类型就是一个类,枚举中的常量就是枚举类型中的实例,可把字符串转化为枚举:而且他本身是一个类,所以不是原始数据类型,同时也不能被继承.同时由于s与t引用的不是同一个数据对象,所以不相等.也不是原始数据类型. 2.   原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值.故他的取值范围是[-127, 127].原码是人脑最容易理解和计算的表示方法. 反码:正数的反码是他本身,负