首页 > 其他分享 >动手动脑

动手动脑

时间:2024-09-28 10:34:05浏览次数:4  
标签:动脑 System SMALL 动手 枚举 println Size out

对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.valueOf("SMALL");
		System.out.println(s==u);  //true
		//列出他的所有值
		for(Size value:Size.values()){
			System.out.println(value);
		}
	}
}
 enum Size{SMALL,MEDIUM,LARGE};


Size s = Size.SMALL; 和 Size t = Size.LARGE; 分别创建了两个枚举实例的引用s和t,它们分别指向Size枚举中的SMALL和LARGE。

System.out.println(s == t); 比较s和t是否引用同一个对象。由于s指向的是SMALL,而t指向的是LARGE,它们是不同的枚举常量,因此输出结果为false。

System.out.println(s.getClass().isPrimitive()); 这行代码检查s的类是否为原始数据类型。因为枚举不是原始数据类型,所以输出结果为false。

Size u = Size.valueOf("SMALL"); 这行代码通过静态方法valueOf根据字符串"SMALL"获取对应的枚举常量,这会返回一个与s相同类型的枚举实例,实际上就是s引用的对象。

System.out.println(s == u); 输出的结果是true,这是因为s和u都引用了相同的枚举常量对象SMALL。

最后,通过for循环遍历Size.values()数组,打印出枚举Size的所有可能值。这里将依次输出:

SMALL
MEDIUM
LARGE

测试TestDouble.java

点击查看代码
public class TestDouble {

    public static void main(String args[]) {
        System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
        System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
        System.out.println("4.015 * 100 = " + (4.015 * 100));
        System.out.println("123.3 / 100 = " + (123.3 / 100));
    }
}


IEEE 754 标准
IEEE 754标准规定了浮点数的表示方法。对于double类型,它使用64位来表示一个浮点数,包括1位符号位、11位指数位和52位尾数位。

计算机内部表示
在计算机内部,0.05和0.01这样的小数会被近似表示为二进制形式。具体来说:

0.05 的二进制表示是 0.0000101000111101011100001010001111010111000010100011110...
0.01 的二进制表示是 0.00011001100110011001100110011001100110011001100110011...
由于这些小数在二进制中是无限循环的,所以在计算机内部只能用有限位数来近似表示。这就会导致最终计算结果出现微小的误差。

代码运行分析

点击查看代码
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

问题在于+与""的链接上,""后接+将x的值输出,也将后边的+变为了连接作用

实现随机出题

点击查看代码
public class Math4 {
public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	Random ran=new Random();
	int flag=0;
	while(flag<30) {
	int x=ran.nextInt(100);
	int y=ran.nextInt(100);
	int s=ran.nextInt(4);
	switch(s) {
	case 0:System.out.printf("%2d+%2d=",x,y);break;
	case 1:System.out.printf("%2d-%2d=",x,y);break;
	case 2:System.out.printf("%2d*%2d=",x,y);break;
	case 3:System.out.printf("%2d/%2d=",x,y);break;
		default:break;
	}
	System.out.println();
	flag++;
	}
}
}

标签:动脑,System,SMALL,动手,枚举,println,Size,out
From: https://www.cnblogs.com/liuzh-blog/p/18436745

相关文章

  • 动手动脑
    EnumText无法运行...TextDouble0.05+0.01=0.061.0-0.42=0.584.015*100=401.5123.3/100=1.233X+Y=100200300=X+Y第一个加号具有拼接字符串的作用,第二个加号是加法的意思生成四则运算importjava.util.Random;importjava.util.Scanner;publicclass......
  • 9.28博客(动手动脑)
    importjava.util.Random;publicclassRandomStr{publicstaticvoidmain(String[]args){//调用generateRandomString方法生成验证码StringverificationCode=generateRandomString();//输出生成的验证码System.out.println("生成的验证码为:"+verificationCode);......
  • 9.26博客(动手动脑)
    阅读相应教材,或者使用互联网搜索引擎,弄清楚反码、补码跟原码这几个概念,然后编写示例程序,对正数、负数进行各种位操作,观察输出结果,与手工计算的结果进行比对,看看Java中的数是采用上述哪种码表示的。原码:在计算机中,用二进制表示数时,最高位是符号位(0表示正数,1表示负数),其余位表示数的......
  • 动手动脑动手实验
    (1)枚举类型是引用类型!枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象。相同的值则引用同一个对象。可以使用“”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“”和equals()方法执行的结果是等价的。(2)(3)(4)在Java中,变量的“同名变量的屏......
  • 动手动脑01
    动手动脑01重新编写java测试00PlaninformationpublicclassPlanInformation{//变量id为整型,表示日报流水号,依次加一。//变量planid为字符串类型String,表示产品生产批次号(例如:2312-110,有8位字符组成,前四位表示年月,后三位表示序号)。//变量planname为字符串类......
  • java动手动脑-2024/9/27
    publicclassEnumTest{publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s==t);////是原始数据类型吗?System.out.println(s.getClass().i......
  • 动手动脑
    根据运行结果,我们可以得出以下结论:System.out.println(s==t);//false结论:在枚举类型中,即使它们属于同一个枚举类,不同的枚举常量也是不同的对象。因此,比较操作符==在这里返回false,说明s和t引用的是不同的枚举常量。System.out.println(s.getClass().isPrimitive())......
  • 动手动脑——数据类型的转换
    1.整数大小:整数类型的位数越大,能够表示的数值范围也越大。byte和short类型适合用于节省空间的场合,而int是最常见的整数类型,因为它提供了足够的范围和较好的性能。long类型则用于需要更大数值范围的场合。2.字符表示:char类型专门用于表示Unicode字符,其大小固定为16位,可以表示任何......
  • 动手动脑——原码,反码,补码
    在计算机科学中,原码、反码和补码是数字在计算机内部表示的一种方式,主要用于二进制数的运算,特别是负数的表示和运算。原码:原码是最直接的二进制表示方法,其中最高位是符号位,0表示正数,1表示负数。剩下的位表示数值的大小。例如,十进制数5的原码表示为:00000101(假设使用5位二进制数......
  • 动手动脑——同名变量的屏蔽原则
    在Java中,变量的“同名变量的屏蔽原则”通常指的是变量作用域的问题。当在不同的作用域中定义了同名的变量时,内部作用域的变量会“屏蔽”外部作用域的变量。这意味着在内部作用域中访问该变量名时,将会访问到内部作用域中定义的变量,而不是外部作用域中的变量。下面是一个简单的示例......