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

java中不允许添加任何文字的datatype字节

凤经国
2023-03-14
class Test {
public static void main (String [] args){
    byte b = 10;
    b = b + 10;
}
D:\java\Test.java:4: possible loss of precision
b++;
b+=10;

完全可以,这是什么原因?

共有1个答案

支彭亮
2023-03-14

您必须将原始代码编写为

b = (byte)(b + 10);

问题是B+10是int类型,因为字节被扩展为int。

这样做的原因是,如果b是,比方说,120,就会有概念上的歧义。那么B+10等于130,还是等于-126?

 类似资料:
  • 我一直在捕捉非数字时遇到问题。 我试过了,但抓不住。如果我让它捕获非数字,但不让用户再次尝试输入。。。它完全停止了我的代码。 这是我的密码:

  • 问题内容: 我正在处理长度为25的DNA序列(请参见下面的示例)。我有一个230,000的列表,需要查找整个基因组中的每个序列(弓形虫寄生虫)。我不确定基因组有多大,但是比230,000个序列长得多。 我需要查找25个字符的每个序列,例如()。 基因组被格式化为连续字符串,即() 我不在乎它在哪里或被发现多少次,无论它是否存在。 我认为这很简单- 但是我也要找到一个在任何位置(只有一个位置)被定义

  • 问题内容: 为什么Python 3允许“ 00”作为原义的0,却不允许“ 01”作为原义的1?有充分的理由吗?这种矛盾使我感到困惑。(我们正在谈论的是Python 3,它故意打破了向后兼容性以实现诸如一致性之类的目标。) 例如: 问题答案: 根据https://docs.python.org/3/reference/lexical_analysis.html#integer- literals :

  • 我的要求是: 字符串应至少包含4个字符(仅允许字母数字、点和连字符) 除此之外,任何地方(开始、中间或结束)都可以使用星号 它不应包含上文第1点和第2点中提及的任何其他字符 例如,以下是有效的字符串: 以下是无效字符串: 我的正则表达式看起来像: 我在第1点和第2点中提到的基本验证是有效的。但正则表达式允许其他特殊字符,如

  • 问题内容: 我有一个要添加位列的表,对于所有现有数据,我希望将其默认设置为false。 如何更改表,使其在为现有行插入false之前可以指定NOT NULL? 我是否应该将其创建为可为空,而不是将其切换为不可为空? 问题答案: 您可以添加该列并提供用于所有现有行的默认值。

  • 问题内容: 如何只允许在数字中使用而已? 问题答案: 基本思想是: 使用受控组件(使用值和输入字段的onChange属性),并在onChange句柄内部检查输入的值是否为正确的数字。仅当输入的值是有效数字时才更新状态。 为此使用此 正则表达式 : onChange处理程序将为: 工作示例: