标签:
动手动脑
(一)仔细阅读示例 EnumTest.java,运行它,分析运行结果?
运行结果
false
false
true
SMALL
MEDIUM
LARGE
分析运行结果:首先判断是否引用同一个对象,然后判断是不是是原始数据类型,接着从字符串中转换,最后
列出它的所有值。
(二)你能得到什么结论?你掌握了枚举类型的基本用法了吗?
枚举类型是引用类型,
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。
相同的值则引用同一个对象。枚举类型的常量以字符串的形式顺序储存,构造函数和覆写
toString()的方法可给枚举类型赋值
。也可以使用“==”和equals()方法直接比对枚举变量的值
,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。
(三)为什么double类型的数值进行运算得不到“数学上精确”的结果?
float 和double类型主要是为科学计算和工程计算而设计的,他们执行二进制浮点运算,
然而无论是单精度还是双精度在计算机中的储存都分为三个部分:符号位(0代表正,1代表负)、
指数位(用于储存科学计数法中的指数数据,并且采用移位存储)、尾数部分。数据以二进制存储在计算机时,会出现无线循环系列,比如
8.25的科学计数法表示为:十进制8.25*10^0,二进制1.0001*2^3,这些数以二进制形式存储在计算机里时,
会出现00110011001100110011……的无限循环系列,
在数据转化中会出现错误。十进制不能准确的表示1/3,同样二进制不能精确的表示1/10。
(四)以下代码的输出结果是什么?
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
那么为什么会有这样的输出结果呢?
因为输出语句1里的“+”为连接字面量,计算结果是将X和Y将两数据连接;而输出语句2里第一个“+”为加法运算符,对X和Y求和,第二个“+”为
连接运算符,所以就出现了以上结果。
(五)编写一个程序,用户输入两个数,求出其加减乘除,并用消息框显示计算结果
源代码
import java.util.Scanner;
import javax.swing.JOptionPane;// import class JOptionPane
public class Operation {
public static void main( String args[] ){
Scanner input=new Scanner(System.in);
System.out.println("请输入两个整数:");
System.out.println("请输入第一个整数:");
System.out.println("请输入第二个整数:");
double n,m;
n=input.nextDouble(); //输入第一个数
m=input.nextDouble(); //输入第二个数
double sum,difference,product,quotient;
sum=n+m;
difference=n-m;
product=n*m;
quotient=n/m;
//输出对话框显示结果
JOptionPane.showMessageDialog(
null, "The sum is " + sum +"\n"+
"The difference is "+ difference +"\n"+
"The product is "+product+"\n"+
"The quotient is "+quotient,"Results",
JOptionPane.PLAIN_MESSAGE );
System.exit( 0 );
}
}
标签:
原文地址:http://www.cnblogs.com/Jiao827/p/4859741.html