short s=1;s=s+1;short s=1;s+=1;有什么区别?
short s = 1;
s = s + 1;
这个编译一定是不通过的,会提示损失精度。
short s = 1;
s += 1;
这个编译反而可以通过。
隐式类型转换可以由小到大自动转,即byte →short →int →long,如果反过来会损失精度,必须进行显式类型转换。
s+=1的意思与s=s+1不同
s=s+1这句话先执行s+1,然后把结果赋值给s,因为1是int类型,所以s+1的值就成了int型,这叫自动类型提升。
编译器自动进行了隐式类型转换,所以将一个int类型的值赋给了short就会出错。
而s+=1不同由于是+=操作符,在解析的时候s+=1就等价于s=(short)(s+1),也就是说s+=1↔s=(s的类型)(s+1)
short s=1;s=s+1;short s=1;s+=1;有什么区别?的更多相关文章
- java音视频编解码问题:16/24/32位位音频byte[]转换为小端序short[],int[],以byte[]转short[]为例
		
前言:Java默认采用大端序存储方式,实际编码的音频数据是小端序,如果处理单8bit的音频当然不需要做转换,但是如果是16bit或者以上的就需要处理成小端序字节顺序. 注:大.小端序指的是字节的存储顺 ...
 - c# unchecked关键字。byte 合并short
		
参考MSDN 代码: public class BytesOperate { /// <summary> /// 计算校验和,SUM /// </summary> public ...
 - char,short ,int ,long,long long,unsigned long long数据范围
		
from:http://www.cnblogs.com/A123456A/archive/2013/01/25/2876634.html char,short ,int ,long,long long ...
 - HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,short col1,int row1,short col2, int row2)
		
public HSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, short col1, int row1, short col2, int ...
 - byte数组与int,long,short,byte转换 (转载)
		
byte数组和short数组转换 public short bytesToShort(byte[] bytes) { return ByteBuffer.wrap(bytes).order(ByteO ...
 - [五]基础数据类型之Short详解
		
Short 基本数据类型short 的包装类 Short 类型的对象包含一个 short 类型的字段 原文地址:[五]基础数据类型之Short详解 属性简介 值为 215-1 ...
 - 从JDK源码角度看Short
		
概况 Java的Short类主要的作用就是对基本类型short进行封装,提供了一些处理short类型的方法,比如short到String类型的转换方法或String类型到short类型的转换方法,当然 ...
 - c/c++ int,float,short 大小端转换函数
		
unsigned int(uint32_t)大小端转换函数 unsigned int BLEndianUint32(unsigned int value) { return ((value & ...
 - JDK源码分析:Short.java
		
Short是基本数据类型short的包装类. 1)声明部: public final class Short extends Number implements Comparable<Short ...
 
随机推荐
- springboot学习随笔(二):简单的HelloWorld
			
接上章搭建好springboot环境后,开始开发入门级HelloWorld 一.构建简单的springboot项目 1.新建项目,选择Spring/Spring Starter Project 2.N ...
 - 使用 nodeJs 开发微信公众号(配置服务器)
			
流程如下: 1. 申请微信公众号:企业号.服务号.订阅号(前两个要钱) 2. 配置微信公众号后台 选择基本配置,获得 AppId 和 AppSecret ,点击服务器配置 URL:你服务器地址,不能是 ...
 - [转]MTK6252 11B添加模块、task实例
			
原网址 http://blog.sina.com.cn/s/blog_6b2328a201014l26.html ###############模块的添加################## 1 ...
 - Django07-cookie和session
			
一.Cookie 1.Cookie的由来 大家都知道HTTP协议是无状态的.无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响 ...
 - 二.第一个自动化demo,打开APP-如何获取包名和activity。(真机)
			
环境配置成功后,我们就可以进行第一个自动化测试了.用真机则不需要安装安卓模拟器.以一个简单的打开APP为例. 一.获取包名和activtity 启动一个app,我们需要知道它的平台.版本号. ...
 - rem_750
			
/* fix the code flash the page */ var globalWidth = document.documentElement.clientWidth;//window.in ...
 - 2017.2.6Redis连接问题排查
			
现象:早8:15起开始收到redis主从不停切换的报警短信,某系统连接流控redis报超时. 排查:1.查看zabbix,看流控系统的redis服务器是否正常——正常: 2.查看redis监控,red ...
 - SQL Server 常用SQL
			
--查询所有表 select * from sysobjects where xtype='u' ORDER BY name ASC
 - .Net23种设计模式
			
C#常见的设计模式 一.概要: 模式分为三种,设计模式.体系结构模式与惯用法.其中惯用法是一种语言紧密相关的模式,例如,定界加锁模式其实是一种惯用法. 在C#项目开发过程中,很多情况下您已经使用了某些 ...
 - windows yii2 配置redis
			
1 安装redis https://blog.csdn.net/gaotanpan3666/article/details/83047081 安装redis 2 yii安装redis扩展 compo ...