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)
结论:从低的位数到高的位数没有精度损失,从高的位数到低位数有精度损失。
//两数相加窗口弹出 张雪晴 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)
结论:从低的位数到高的位数没有精度损失,从高的位数到低位数有精度损失。
相关文章推荐
- 函数回调理解—Java方式
- 【总结】Java基础总结⑺
- 回顾spring(云计算项目)
- 【总结】Java基础总结⑹
- Java序列化的机制和原理
- Java Callable测试
- 【总结】Java基础总结⑸
- 【总结】Java基础总结⑷
- 【总结】Java基础总结⑶
- eclipse快速复制一行代码(向下/向上)快捷键冲突问题
- Spring容器中Bean的生命周期
- 利用VisualVM监测Azure云服务中的Java应用
- 阿里云 ubuntu jdk安装及java环境变量设置
- java中Map,List与Set的区别
- JAXB实现JAVA BEAN与XML之间的转换
- Java如何连接SQLserver 2008数据库
- Spring自带的几种容器实现
- [深入理解Java虚拟机]第三章 HotSpot的垃圾收集算法实现
- 时间复杂度最快的排序算法 O(n) JAVA代码
- 解决eclipse启动慢