当前位置: 首页 > 知识库问答 >
问题:

为什么在Java中声明字节时不接受“300b”?[副本]

解高昂
2023-03-14

声明浮动时,我们可以通过两种方式将其接受为浮动:

      float MyFloat = (float) (5.25);
      float MyFloat2 = 5.25f;


      byte MyByte = (byte) (300);
      byte MyByte2 = 300b;         //error when converting to byte this way

在一种情况下,我可以将所有两种类型的值标记为数据类型,但在另一种情况下,我不能这样做,这是不符合逻辑的。

为什么?

共有1个答案

莫逸仙
2023-03-14

事情就是这样,你对此无能为力
此外,一个字节可以处理的最大值仅为-128到127

 类似资料:
  • 根据我的理解,类被声明为final,以防止它被扩展/继承。因此,我认为在这方面可能会有安全性,也可能会有一些性能提升。 但这背后是否有一个非常具体的设计决策?比如说:实现某种设计模式?我确实在这里绕了一个类似的线!但答案并不是我想要的

  • 我只是试图声明字段内的主方法在Java类与不同的访问说明符...但是我不能声明与访问说明符字段为公共,这是什么原因?

  • 问题内容: 在开始阅读之前:这个问题不是关于理解monad的问题,而是关于确定Java类型系统的局限性的,这会限制接口的声明。 在我的努力去理解单子我读这个由埃里克利珀SO- 答案上询问单子简单的解释问题。在那里,他还列出了可以在monad上执行的操作: 有一种方法可以将未放大类型的值转换为放大类型的值。 有一种方法可以将未放大类型的操作转换为遵循前面提到的功能组成规则的放大类型的操作 通常,有一

  • 问题内容: 有时我们有几个类,这些类的某些方法具有相同的签名,但是与声明的Java接口不对应。例如,和(在中的其他几个 )中都有一个方法 现在,假设我希望对具有该方法的对象进行一些操作。然后,我想有一个接口(或者自己定义),例如 这样我可以写: 但是,可悲的是,我不能: 此演员表将是非法的。编译器 知道 这 是不是 一个,因为类没有宣布实现该接口...... 然而“实际上”实现它 。 有时这会带来

  • 但是在scala中我需要使用: scala版本是有意义的,因为注释需要一个字符串数组。但是为什么上面的工作在java中,它不应该给出编译时错误吗? 下面的类'ArrayChecker'(我编写了一个类来说明这一点)会导致java编译时错误: