常量,变量,a++,++a,+=等
常量:数据在程序里面进行运算时不能发生改变的数据,成为常量。
变量:可变动的数据。
变量的定义: 数据类型 变量名 = 初始值。
基本数据类型:整数型:byte 1字节
short 2字节
int 4字节
long 8字节 整数后跟一个l(小写的L) 例如:99999999999999999999999l
浮点型:flot 4字节 数字结尾跟一个f 例如:9.6f
double 8字节
布尔类型:boolean 1字节
字符型:char 2字节
变量运算时的坑:(int以下的数据类型运算时所出现的坑)
byte a=3;
a=a+2;此时会出现精度缺失,因为整数2类型默认为int,进行运算时a会自动提升类型为int,当两个都是int类型是再进行运算,然后int类型赋值给byte类型会出现精度缺失的问题(二进制中byte只占1个直接int占4个字节,需要把4个字节强制赋值到1个字节中去则会只保留二进制右边的1个字节,自动把二进制左边的字节省略掉)
此时就需要强制转换:a=(byte)(a+2);
-----------------------------------------------------------------------------------------------------
byte a =3;
byte b=2;
byte c;
c=a+b;此时也会报精度溢出的错误,原因是因为进行运算的是变量,从而无法判断其变量值是否在byte这个范围中并且两组进行运算会提升为int类型进行运算,所以需要强制转换。
更改为:c=(byte)(a+b);
-----------------------------------------------------------------------------------------------------
int a=3;
int b;
b=a++;
其结果为:a=4 b=3
a++;在运行时会按照以下的方式进行计算,因为a++是先把初始值预存,然后再自增,然后自增后,a=4,再把预存的初始值3赋值给b
temp a=3;
a=3+1;
b=temp;
-----------------------------------------------------------------------------------------------------
int a=3;
int b;
b=++a;
其结果为:a=4 b=4 ++a为直接自增后赋值
-----------------------------------------------------------------------------------------------------
int i=3;
i=i++;
其结果为:i=3 因为在计算时会把i的初始值3预存,然后计算i++=4,但是此时只是右边的计算才刚刚完成,预存的的初始值再赋值给i所以i=3;其公式为
temp i=3;
i=3+1;
i=temp;
-----------------------------------------------------------------------------------------------------
short a=3;
a+=5;这个可以执行成功因为其执行时内部有自动转换过程。
a=a+5;这个会提示精度溢出,因为5是int类型,a会自动提升为int类型,所以需要人为强制转换
常量,变量,a++,++a,+=等的更多相关文章
- Swift入门学习之一常量,变量和声明
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...
- 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句
[源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
- C#1 输入输出 常量变量
C# 输入输出 常量变量 //输出 Console.WriteLine("这是一行文字"); 自动回车的. Console.Write("Hello world&qu ...
- JAVA_SE基础——7.常量&变量
上一篇,我讲了标识符&关键字 这篇我来解释下变量&常量~~~ 变量与常量这两个概念相信大家都不会感到陌生,在数学中就已经涉及了变量与常量.理解变量与常量,可以举这样一个例子: 例 ...
- java常量,变量,静态变量的理解
最近考试出了一个很简单的题,看看他们对java常量,变量,静态变量的理解,代码如下: public class TestVar { /** * JAVA基础,常量,变量,静态变量 */ public ...
- swift学习第一天---常量变量基础数据类型
import Foundation /** * 1.常量 变量 知识要点:常量的定义用let 变量的定义用var 常量一旦定义便不可再更改. 变量定义之后可以在定义之后的程序中任意地方进行修改. */ ...
- 1.常量&变量
简单体验 // 定义变量 var i = 10 println(i) i = 15 println(i) let j = 20 // 常量一经定义不能自改数值 // j = 25 println(j) ...
- swift 2.0 语法 常量变量
import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
随机推荐
- linux下git怎么保存账号密码
我是用 shell 命令来执行 git 操作的,所以就决定在 --global 配置一下用户名和密码,不用每次手动输入了. 设置步骤 1. 首先需要 ftp 连接到你的 Linux 服务器,在根目录( ...
- sonar-scanner的执行流程和对ClassLoader,动态代理的使用
最近项目上使用了sonarqube来提供静态代码检查的服务,在看sonar-scanner的源码的时候,发现sonar-scanner用来分析的jar包是从sonar的服务器上下载下来的,使用自定义的 ...
- 网络推送通知:及时,相关和准确 (navigator.serviceWorker.register(), window.PushManager, new Notification)
google网络推送通知 https://developers.google.cn/web/fundamentals/push-notifications/ 服务工作线程:简介server worle ...
- 《Node.js在CLI下的工程化体系实践》成都OSC源创会分享总结
背景: 随着开发团队规模不断发展壮大,在人员增加的同时也带来了协作成本的增加,业务项目越来越多,类型也各不相同.常见的类型有组件类.活动类.基于React+redux的业务项目.RN项目.Node.j ...
- xml配置
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name=& ...
- MySql 远程连接的条件
1.首先看服务器防火墙 引用:http://www.cnblogs.com/silent2012/archive/2015/07/28/4682770.html CentOS 7.0默认使用的是fir ...
- EF将IEnumerable<T>类型转换为Dictionary<T,T>类型
x 无标题 #region 博客Code {DBEntities}生成EFModel的时候自己命名的 using ({DBEntities} db = new { DBEntities }()) { ...
- ML.NET速览
什么是ML.NET? ML.NET是由微软创建,为.NET开发者准备的开源机器学习框架.它是跨平台的,可以在macOS,Linux及Windows上运行. 机器学习管道 ML.NET通过管道(pipe ...
- /etc/apt/sources.list" E212: Can't open file for writing解决方案
:w !sudo tee % > /dev/null 解决.
- php值callback类型和匿名函数(闭包)
callback.callable类型 自PHP5.4起可以使用callable类型制定回调类型callback. 本文档基于同样理由使用callback类型信息. 一些函数如call_user_fu ...