您的位置:首页 > 编程语言 > Java开发

java的窗口弹出和动手动脑

2015-10-05 18:13 411 查看
窗口弹出

//两数相加窗口弹出 张雪晴 2015/10/3
import javax.swing.JOptionPane;
public class Addition {

public static void main(String[] args) {
// TODO 自动生成的方法存根
String firstNumber,secondNumber;
int number1,number2,sum,jian,cheng,chu;
firstNumber=JOptionPane.showInputDialog("Enter first integer");//在窗口上提示输入第一个数
secondNumber=JOptionPane.showInputDialog("Enter second integer");//在窗口上提示输入第二个数
number1=Integer.parseInt(firstNumber);
number2=Integer.parseInt(secondNumber);//把输入的数转换为int型
sum=number1+number2;//求和
jian=number1-number2;//求差
cheng=number1*number2;//求积
chu=number1/number2;//求商
JOptionPane.showMessageDialog(null,"和为: "+sum+" 差为:"+jian+" 积为:"+cheng+" 商为:"+chu,"Results",JOptionPane.PLAIN_MESSAGE);//在窗口上显示结果
System.exit(0);//释放空间

}

}

运行结果:







动手动脑

(一) 仔细阅读示例: EnumTest.java,运行它,分析运行结果?

你能得到什么结论?你掌握了枚举类型的基本用法了吗?

//动手动脑 张雪晴 2015/10/3

public class Exercise {

public static void main(String[] args) {

// TODO 自动生成的方法存根

Size s=Size.SMALL;

Size t=Size.LARGE;

System.out.println(s==t);

System.out.println(s.getClass().isPrimitive());

Size u=Size.valueOf("SMALL");

System.out.println(s==u);

for(Size value:Size.values()){

System.out.println(value);

}

}

}

enum Size{SMALL,MEDIUM,LARGE};



枚举类型的基本用法:

1.其实枚举类型也是一个类,直接继成了java.lang.Enum这个类,拥有这个类的方法。

2.枚举类型可以使用在switch语句中。

3.因为变量只有一个值所以要选取枚举类型中的一个值进行赋值。

例:Size s=Size.SMALL;

Size t=Size.LARGE;

4.枚举类型可以直接使用父类的函数。

例:ordinal(),valueOf()和name()等。

5.枚举类型是引用类型!

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

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

(二)请运行以下代码(TestDouble.java)



你看到了什么样的输出,意外吗?

运行结果:



这就是使用浮点类型会造成误差的一种。

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

int X=100;

int Y=200;

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

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

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



前一个是字符串的连接,只要在后面的X+Y上加上括号就可以输出300了。

后一个是数字相加的意思。

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

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

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

原码10010= 反码11101 (10010,1为符号码,故为负)

(11101) 二进制= -13 十进制

补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

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





(虚线有精度损失 实线无精度损失)

byte(8),short(16),int(32), long(64),float(32), double(64)

结论:从低的位数到高的位数没有精度损失,从高的位数到低位数有精度损失。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: