常量,变量,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编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
随机推荐
- VBA RemoveDuplicates方法去重复项
RemoveDuplicates后边必须跟参数否则不起作用 ActiveSheet.Range("G21:R36").RemoveDuplicates Columns:=12, H ...
- Solve Error : Undefined function or variable ‘setInitialWorkingFolder’. Error in matlabrc (line 197)
When compile program using Visual Studio 2015, Matlab 2016b, and OpenCV 3.1.0, one might get the err ...
- 170828、Eclipse Java注释模板设置详解以及版权声明
编辑注释模板的方法:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素 ...
- Linux内核编译指定输出目录
# kbuild supports saving output files in a separate directory.# To locate output files in a separate ...
- db2 MON_GET_PKG_CACHE_STMT 表函数 抓取分析SQL
MON_GET_PKG_CACHE_STMT 表函数 还可以使用 MON_GET_PKG_CACHE_STMT 表函数来查询当前 PACKAGE CACHE 中 SQL 语句(包括动态 SQL 和静态 ...
- hdu3746 Cyclic Nacklace【nxt数组应用】【最小循环节】
Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- javascript中的数字玩法,颠覆你的眼睛
1.JavaScript中的数字中有一些很奇葩的现象. 在Chrome控制台中可以自己做一下实验: 1 === 1.0 ; //true 习惯了强类型语言,如java,c,OC看到这个结论还是有点小迷 ...
- Flannel配置详解
1.简介 Flannel是一种基于overlay网络的跨主机容器网络解决方案,也就是将TCP数据包封装在另一种网络包里面进行路由转发和通信, Flannel是CoreOS开发,专门用于docker多机 ...
- 2012年蓝桥杯省赛A组c++第4题(电视台答题比赛)
/* 某电视台举办了低碳生活大奖赛.题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度. 答对的,当前分数翻倍:答错了则扣掉与题号相同的分数(选手必须回答问题,不 ...
- 【PyQt5-Qt Designer】QLineEdit 文本输入
QLineEdit 文本输入 一.QlineEdit 基本方法 setAlignment() 按固定值方式对齐文本 Qt.AlignLeft:水平方向靠左对齐 Qt.AlignRight:水平方向靠右 ...