比如:

byte a=1;

byte b=2;

byte c;

c=a+b; //这样是计算不出c,是错误的

c=a+1; //这样也是不能计算c的

c=64+1; //为什么这样就能计算c,在Java中这是什么原理啊?



运算符对基本类型的影响



当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:



只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型;

否则,只要两个操作数中有一个是float类型的,另一个将会被转换成float类型,并且结果也是float类型;

否则,只要两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型;

否则,两个操作数(包括byte、short、int、char)都将会被转换成int类型,并且结果也是int类型。



原文来自:雨枫技术教程网 http://www.fengfly.com

原文网址:http://www.fengfly.com/plus/view-170775-1.html



c=a+b时,符合第四个项,a+b的结果将转为int类型,把int赋值给byte是不可以的

c=a+1时,同样符合第四项

至于c=64+1,64+1是个在编译时就可以确定的常量,而且范围没有超出byte的取值范围,这个关系式就相当于c=65,因而不会报错。

Java中Byte类型数据在运算中的问题的更多相关文章

  1. Java的各类型数据在内存中分配情况详解

    1.      有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构.说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但 ...

  2. DELPHI中枚举类型数据的介绍和使用方法

    在看delphi程序的时候看到aa=(a,b,c,d);这样的东西,还以为是数组,同事说是函数,呵呵,当然这两个都不屑一击,原来这样式子是在声明并付值一个枚举类型的数据.下边写下来DELPHI中枚举类 ...

  3. .SQL Server中 image类型数据的比较

    原文:.SQL Server中 image类型数据的比较 在SQL Server中如果你对text.ntext或者image数据类型的数据进行比较.将会提示:不能比较或排序 text.ntext 和 ...

  4. Android java传递string类型数据给C

    本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...

  5. Android java传递int类型数据给C

    本文根据<Android jni简便开发流程>中的开发流程来实现一个java传递int类型数据给C 新建项目,进行简单的布局 <LinearLayout xmlns:android= ...

  6. 关于JAVA中Byte数据类型二进制赋值运算报错问题

    自从JDK7更新之后,新增了二进制变量的表示,支持将整数类型用二进制来表示,用0b开头: 例如: byte b= (byte) 0b1000_0001; short s = (short) 0b100 ...

  7. Java 中 byte 类型初始化问题

    很早的时候由于工作需要,接触过一点 Java,于是有了这个坑,今天回头看到自己在 Stackoverflow 上提的问题发现了它,于是再记录下. 在使用中,需要将 byte 类型的的每一位都置 1.我 ...

  8. 关于JAVA中Byte类型的取值范围的推论(*零为正数,-128在计算机中的表示方法...)

    先看一段推理<*一切都是在8个比特位的前提下,讨论二进制的符号位,溢出等等,才有意义*> +124:0111 1100 -124:1000 0100 +125:0111 1101 -125 ...

  9. Java中Double类型数据比较大小

    方法一:转成字符串之后比较 如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接实现比较两个double数据是否相等.注意这种方法 ...

随机推荐

  1. 【论文阅读】End to End Learning for Self-Driving Cars

    前言引用 [1] End to End Learning for Self-Driving Cars从这里开始 [1.1] 这个是相关的博客:2016:DRL前沿之:End to End Learni ...

  2. ORB-SLAM3论文阅读:ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

    简介 ORB-SLAM3是第一个能在单目.双目.RGBD鱼眼相机和针孔相机模型下运行视觉.视觉-惯导以及多地图SLAM的系统.其贡献主要包括两方面:提出了完全依赖于最大后验估计的紧耦合视觉-惯导SLA ...

  3. Day7 break continue goto 以及打印三角形练习.

    break break在任何循环语句中的主体部分,均可以用break控制循环流程.break用于强行退出循环,不执行循环中剩余的语句. (break语句也在switch中使用) package com ...

  4. 【LeetCode】137. 只出现一次的数字 II(剑指offer 56-II)

    137. 只出现一次的数字 II(剑指offer 56-II) 知识点:哈希表:位运算 题目描述 给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 .请你找出并返回 ...

  5. vue3如何编写挂载DOM的插件

    vue3 跟 vue2 相比,多了一个 app 的概念,vue3 项目的创建也变成了 // main.jsimport { createApp } from 'vue' import App from ...

  6. debian9 python环境设置

    file /usr/bin/python which python2 which python3 mv /usr/bin/python /usr/bin/python_bk ln -s /usr/bi ...

  7. mysql实现主从复制、读写分离的配置方法(二)

    由于接触主从复制,读写分离的时间比较短,应用还不够熟练,目的是能通过MyCat实现基础的读写分离操作. 其核心功能是分库分表,配合数据库的主从模式还可实现读写分离. 1. 测试环境 一台win10主机 ...

  8. form 表单提交的另一种方式 js

    <html> <head> <script type="text/javascript"> function formSubmit() { fm ...

  9. oracle(enquences & latches )lock (oracle 锁大全)

    资料来自官方文档: https://docs.oracle.com/database/121/CNCPT/consist.htm#CNCPT1333 https://docs.oracle.com/d ...

  10. 比@EnableMongoAuditing功能强大的实现

    问题出现 以前通过@EnableMongoAuditing.@CreateDate.@LastModifiedDate进行实体类创建时间.修改时间的自动管理. 但为了实现多数据源的管理以及切换,自己覆 ...