首页 > 编程语言 >程序员世界大冒险d16

程序员世界大冒险d16

时间:2024-09-24 19:13:54浏览次数:7  
标签:d16 大冒险 System SMALL 程序员 枚举 println out Size

 仔细阅读示例: 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};
运行结果为:

其中第一个输出是因为代码中的System.out.println(st);
是要判断s是否等于t的,而
Size s=Size.SMALL;
Size t=Size.LARGE;
s和t指向的是不同的值,所以输出为false;
第二个输出是因为代码中的System.out.println(s.getClass().isPrimitive());
s.getClass()返回的是class对象,而isPrimitive() 方法检查该类是否为原始数据类型,枚举是对象数据类型,所以输出为false;
第三个输出是因为代码中的System.out.println(s
u);
而因为Size.valueOf("SMALL") 将字符串 "SMALL" 转换为对应的枚举常量,由于 s 和 u 都指向 Size.SMALL,所以比较结果为 true;
第四五六个输出是for(Size value:Size.values())
{
System.out.println(value);
}
因为values方法是返回所有枚举类型的常量,所以就输出了SMALL, MEDIUM, LARGE;
 你能得到什么结论?你掌握了枚举类型的基本用法了吗?
可以发现

  1. 枚举是一种特殊的类,代表固定的常量集合。
  2. 枚举实例是单例对象,因此可以通过 == 操作符比较它们是否相同。
  3. 枚举本质上是对象类型而不是原始数据类型。
  4. 可以通过字符串值获取枚举常量,并列出所有常量。

 请运行以下代码(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));
}

}
运行结果为:

 你看到了什么样的输出,意外吗?
可以看到运算的结果和人工计算的结果并不相同,这是因为在计算机中,每个浮点数都有一个有限的精度。double 类型通常有 15 到 17 位数的有效数字,而 float 类型的有效数字约为 6 到 9 位数字。由于数值的有限精度,计算结果可能会受损;

 按要求编写代码:
一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。
我编写的Java代码如下:
 import java.util.Random;

public class Math4 {
public static void main(String args[])
{
Random r2 = new Random();
for(int i=1;i<=30;i++)
{
int r1 = r2.nextInt(100);
int m=r2.nextInt(4);
int n = r2.nextInt(100);
int t = r2.nextInt(100);
switch(m)
{
case 0:
System.out.print(n+"+"+t+"="+(n+t)+"\t");
break;
case 1:
System.out.print(n+"-"+t+"="+(n-t)+"\t");
break;
case 2:
System.out.print(n+""+t+"="+(nt)+"\t");
break;
case 3:
if(n%t0) {
System.out.print(n + "/" + t + "=" + (n / t) + "\t");
}else {
double n1=n;
double t1=t;
System.out.print(n + "/" + t + "=" + (n1 / t1) + "\t");
}
break;
}
if(i%5
0)
{
System.out.println("\n");
}
}
}
}

标签:d16,大冒险,System,SMALL,程序员,枚举,println,out,Size
From: https://www.cnblogs.com/3012193641qq/p/18429821

相关文章

  • 期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
    在AI程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。他需要做的,只是输入包含几句话的提示词。数秒钟后,大模型就生成了代码,还列出了环境需求,复制完代码就可以使用了。这不是程序员父亲带自家小孩做的网红项目,而是人人都......
  • 期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
    在AI程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。他需要做的,只是输入包含几句话的提示词。数秒钟后,大模型就生成了代码,还列出了环境需求,复制完代码就可以使用了。这不是程序员父亲带自家小孩做的网红项目,而是人人都......
  • 期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
    在AI程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。他需要做的,只是输入包含几句话的提示词。数秒钟后,大模型就生成了代码,还列出了环境需求,复制完代码就可以使用了。这不是程序员父亲带自家小孩做的网红项目,而是人......
  • 期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
    在AI程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。他需要做的,只是输入包含几句话的提示词。数秒钟后,大模型就生成了代码,还列出了环境需求,复制完代码就可以使用了。这不是程序员父亲带自家小孩做的网红项目,而是人......
  • 分享C++程序员面试八股文(九)
    以下是C++常见八股文(九):一、模板元编程(TemplateMetaprogramming)解释模板元编程的概念和优势概念:模板元编程是一种在编译期进行编程的技术,利用C++模板的强大功能,通过模板参数和特化等机制,在编译期执行各种计算和类型操作。它可以被看作是一种将程序的一部分逻辑在编译......
  • 半路出家程序员感受:非科班出身如何转行程序员?
    非科班出身是指那些大学专业为非计算机相关专业的人群,多数人对于计算机基础了解比较少,甚至零基础。这部分人群中有相当多一部分处于对于编程的兴趣和外界了解的印象想转行成为一名程序员。非科班出身与计算机科班出身相比有着天然的劣势,在计算机基础和编程认知上缺失,但如果......
  • 程序员如何90天成功转行黑客(网络安全)?
    程序员的真实内情程序员这行,外人看来高大上,高薪,体面,能力强,改变世界。实际情况是加班多,有时候熬夜,也要不断学习,通过开发无数的系统,方便了民众的生活,提供了民众生活的品质,所以程序员是可爱的一群人;程序员以后的路怎么走?程序员这行,大多数情况,35岁之后,是不易继续写代码的,尤......
  • 程序员不是修电脑的,设计师也分为N多类型,别闹笑话。
    过年了,亲戚朋友问你是干啥的,你说是程序员。亲戚问你程序员说,你说和计算机打交道的。来吧,给俺孙子修修电脑。现在分工越来越细致了,设计师也分为很多种,甚至单纯的UI设计师,也分出了很多类型,本文为大家梳理下。设计师的常见类型设计师分为多种类型,主要包括:平面设计师:主要负责......
  • 最新整理Java面试八股文(程序员必备)
    1.面向对象的三大特性?封装:核心思想就是“隐藏细节”,对外提供访问属性的方法。保证了数据的安全和程序的稳定。继承:将子类共性的属性或者方法抽取出来成为父类,子类继承后就不用重复定义父类的属性和方法,只需要扩展自己的个性化。强制继承父类非私有的属性和方法,破坏了封装性原......
  • 28岁的程序员,如何转型做AI项目经理?
    最近收到很多网友发给我的私信,说自己在AI领域做了5-6年开发,现在想转型做AI项目经理,但不知道从何下手,有没有什么好的建议?今天,我就来聊一聊这个问题。1转型的可能性首先,需要明确的是,无论你是程序员、产品经理还是技术主管,其实都是可以往AI项目经理这个方向去转型。但是,这......