常量,变量,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 调用动态库so文件
记录一个面试被问到的问题. extern 有什么用途? 除了多文件共享全局变量外还有呢? extern "C" 的功能? 我想看完这篇文章就可以知道第三个问题了. 关于动态调用动态 ...
- Spring.NET依赖注入框架学习--实例化容器常用方法
Spring.NET依赖注入框架学习---实例化容器常用方法 本篇学习实例化Spring.NET容器的俩种方式 1.通过XmlObjectFactory创建一个Spring.NET容器 IResour ...
- sencha touch Model validations 自定义验证 二选一输入验证、重复验证、时间验证、比较验证、条件验证(2015-1-14)
项目初始化时执行以下代码 //重写模型,方便进行自定义验证 Ext.define("Ext.zh.data.Model", { override: "Ext.data.M ...
- JSP页面嵌套乱码解决
项目中审批过程需要将业务表单嵌套在审批的页面中.由于业务表单很多,前台已经axjx到了本次选择的表单的地址.本来做的就是把这个链接放在审批页面上,但现在需求的就是直接把这个biz表单嵌套在审批的页面中 ...
- java中常用的加密方式
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- Windows Server 2008 R2远程协助选项 灰色
管理工具——〉服务器管理器——〉功能——〉添加功能 窗口中"远程服务器管理工具"下边的"远程协助"打上对钩"再点击"下一步"再 ...
- 更换title上的ico
var rurl = "/static/dashboard/img/favicon.ico"; var a = ''; var links = document.getElemen ...
- C# 调用存储过程 Sql Server存储过程 存储过程报错,程序中的try
C#程序调用Sql Server存储过程,存储过程中报错情况,返回值... 0.SQL存储过程 USE [Opos] GO /****** Object: StoredProcedure [dbo]. ...
- 深度学习中将类别标签映射到one_hot向量
有时我们的样本标签,都是标记从0开始直至到类别的个数.在模型训练的时候,这些标签需要变成one_hot向量,这样才能够跟softmax出来的概率做互熵损失,计算loss. 那么,映射的方法如下: de ...
- Java NIO 读取文件、写入文件、读取写入混合
前言 Java NIO(new/inputstream outputstream)使用通道.缓冲来操作流,所以要深刻理解这些概念,尤其是,缓冲中的数据结构(当前位置(position).限制(limi ...