动手动脑及课后实验性作业
2015-10-08 17:52
211 查看
1.第一个动手动脑:
package test2;
public class EnumTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t);//
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size {SMALL,MEDIUM,LARGE};
枚举类型是引用类型不属于原始数据类型,它的每个具体值都引用到一个特定的对象,相同的值则引用同一个对象。
S=Size.SMALL,t=Size.LARGEs和t引用的不是同一个值所以就不是同一个对象,所以输出false
System.out.println(s==t);属于枚举类型,而枚举类型不属于原始数据类型,所以输出false
因为u=Size.valueOf(“SMALL”)System.out.println(s==u);枚举变量的值是相同的,所以是正确的所以输出true
最后因为枚举的value中三个值是SMALL,MEDIUM,LARGE,所以输出这三个值。
得出结论:
枚举需要将字串转化为枚举Java中除了int,float等几个数据类型,其余的数据类型都用来引用对象。
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以用“==”和“equals()”方法直接比对枚举变量的值。
2.课后练习:
在计算机内,定点数有3种表示发:原码、反码和补码
反码
作用:储存数值(多数计算机不采用反码表示数值)
原码
所谓的原码就是二进制定点的表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值大小
3.动手动脑二:
结论是图画错了,float->double只有在strictfp的模式下才是无精度损失的;byte->short->float的转换也是无精度损失的,理应在short到flost之间画一道实线;char->float之间也应该有一道实线;int->double也是无精度损失,应将虚线改成实线;long可以转换到float,在long和float之间也应该有一条虚线。
4.动手实验:
意外,使用double类型的数值进行计算,其结果是不精确的。
Double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差,简单地说就是我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来,而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。
5.动手动脑:
“+”放前面代表字符串的连接
“+”放后面代表运算
1.第一个动手动脑:
package test2;
public class EnumTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t);//
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size {SMALL,MEDIUM,LARGE};
枚举类型是引用类型不属于原始数据类型,它的每个具体值都引用到一个特定的对象,相同的值则引用同一个对象。
S=Size.SMALL,t=Size.LARGEs和t引用的不是同一个值所以就不是同一个对象,所以输出false
System.out.println(s==t);属于枚举类型,而枚举类型不属于原始数据类型,所以输出false
因为u=Size.valueOf(“SMALL”)System.out.println(s==u);枚举变量的值是相同的,所以是正确的所以输出true
最后因为枚举的value中三个值是SMALL,MEDIUM,LARGE,所以输出这三个值。
得出结论:
枚举需要将字串转化为枚举Java中除了int,float等几个数据类型,其余的数据类型都用来引用对象。
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以用“==”和“equals()”方法直接比对枚举变量的值。
2.课后练习:
在计算机内,定点数有3种表示发:原码、反码和补码
反码
作用:储存数值(多数计算机不采用反码表示数值)
原码
所谓的原码就是二进制定点的表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值大小
3.动手动脑二:
结论是图画错了,float->double只有在strictfp的模式下才是无精度损失的;byte->short->float的转换也是无精度损失的,理应在short到flost之间画一道实线;char->float之间也应该有一道实线;int->double也是无精度损失,应将虚线改成实线;long可以转换到float,在long和float之间也应该有一条虚线。
4.动手实验:
意外,使用double类型的数值进行计算,其结果是不精确的。
Double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差,简单地说就是我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来,而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。
5.动手动脑:
“+”放前面代表字符串的连接
“+”放后面代表运算
package test2;
public class EnumTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t);//
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size {SMALL,MEDIUM,LARGE};
枚举类型是引用类型不属于原始数据类型,它的每个具体值都引用到一个特定的对象,相同的值则引用同一个对象。
S=Size.SMALL,t=Size.LARGEs和t引用的不是同一个值所以就不是同一个对象,所以输出false
System.out.println(s==t);属于枚举类型,而枚举类型不属于原始数据类型,所以输出false
因为u=Size.valueOf(“SMALL”)System.out.println(s==u);枚举变量的值是相同的,所以是正确的所以输出true
最后因为枚举的value中三个值是SMALL,MEDIUM,LARGE,所以输出这三个值。
得出结论:
枚举需要将字串转化为枚举Java中除了int,float等几个数据类型,其余的数据类型都用来引用对象。
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以用“==”和“equals()”方法直接比对枚举变量的值。
2.课后练习:
在计算机内,定点数有3种表示发:原码、反码和补码
反码
作用:储存数值(多数计算机不采用反码表示数值)
原码
所谓的原码就是二进制定点的表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值大小
3.动手动脑二:
结论是图画错了,float->double只有在strictfp的模式下才是无精度损失的;byte->short->float的转换也是无精度损失的,理应在short到flost之间画一道实线;char->float之间也应该有一道实线;int->double也是无精度损失,应将虚线改成实线;long可以转换到float,在long和float之间也应该有一条虚线。
4.动手实验:
意外,使用double类型的数值进行计算,其结果是不精确的。
Double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差,简单地说就是我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来,而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。
5.动手动脑:
“+”放前面代表字符串的连接
“+”放后面代表运算
1.第一个动手动脑:
package test2;
public class EnumTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Size s=Size.SMALL;
Size t=Size.LARGE;
//s和t引用同一个对象?
System.out.println(s==t);//
//是原始数据类型吗?
System.out.println(s.getClass().isPrimitive());
//从字符串中转换
Size u=Size.valueOf("SMALL");
System.out.println(s==u); //true
//列出它的所有值
for(Size value:Size.values()){
System.out.println(value);
}
}
}
enum Size {SMALL,MEDIUM,LARGE};
枚举类型是引用类型不属于原始数据类型,它的每个具体值都引用到一个特定的对象,相同的值则引用同一个对象。
S=Size.SMALL,t=Size.LARGEs和t引用的不是同一个值所以就不是同一个对象,所以输出false
System.out.println(s==t);属于枚举类型,而枚举类型不属于原始数据类型,所以输出false
因为u=Size.valueOf(“SMALL”)System.out.println(s==u);枚举变量的值是相同的,所以是正确的所以输出true
最后因为枚举的value中三个值是SMALL,MEDIUM,LARGE,所以输出这三个值。
得出结论:
枚举需要将字串转化为枚举Java中除了int,float等几个数据类型,其余的数据类型都用来引用对象。
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。
可以用“==”和“equals()”方法直接比对枚举变量的值。
2.课后练习:
在计算机内,定点数有3种表示发:原码、反码和补码
反码
作用:储存数值(多数计算机不采用反码表示数值)
原码
所谓的原码就是二进制定点的表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值大小
3.动手动脑二:
结论是图画错了,float->double只有在strictfp的模式下才是无精度损失的;byte->short->float的转换也是无精度损失的,理应在short到flost之间画一道实线;char->float之间也应该有一道实线;int->double也是无精度损失,应将虚线改成实线;long可以转换到float,在long和float之间也应该有一条虚线。
4.动手实验:
意外,使用double类型的数值进行计算,其结果是不精确的。
Double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差,简单地说就是我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来,而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。
5.动手动脑:
“+”放前面代表字符串的连接
“+”放后面代表运算
相关文章推荐
- 1-2 如何将主机WIN7中文件共享到虚拟机中的Mac中
- 加快XCode的编译链接速度(200%+)——XCode编译速度慢的解决方案
- 1-1 win7 vmware虚拟机 中 mac系统无法上网
- mysql下float类型使用一些误差详解
- 1-1 win7 vmware虚拟机 中 mac系统无法上网
- Java将视频转为缩略图--ffmpeg
- linux服务器加入windows域时报错Ticket expired
- java.lang.RuntimeException: Assetmanager has been closed
- Swift数据永久存储
- ubuntu 安装flash插件
- ubuntu查看文件大小
- 使用archiver在nodejs下打包
- 颜色分类
- 在storyboard中给控制器添加导航栏控制器和标签控制器
- 1 在虚拟机上安装Mac OS
- Linux中环境变量文件及配置(转载)
- linux 输入子系统(1) -Event types
- 警惕! ”黑帽子“的社会工程学攻击
- 软考中级职称 软件工程师 学习知识点记录
- C++ string 用法总结