常量,变量,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编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
随机推荐
- 一、K3 Cloud 实施指导《K3 Cloud实施手册》
1.在BOS的单据体取不到序号字段 举例:单据体标识是FValueGrid,序号标识是FSeq,取到的序号标识要写成FValueGrid_FSeq才能识别到 2.k3 Cloud目前不支持在表头字段调 ...
- Unity3D Shader 高斯模糊
//Shader Shader "Hidden/GaussianBlur" { Properties { _MainTex ("Texture", 2D) = ...
- java转换图片压缩生成webp格式
http://blog.csdn.net/xu_san_duo/article/details/79085718
- I - Crossing River
A group of N people wishes to go across a river with only one boat, which can at most carry two pers ...
- 更新docker时间-需要重启docker
更新docker时间:1.docker run -d -v /etc/localtime:/etc/localtime:ro [IMAGE] 2.重启,docker-compose up -d 3.d ...
- ELK之elasticsearch集群搭建
安装配置elasticsearch不详述 环境:主elasticsearch IP 172.16.90.11 备elasticsearch IP 172.16.90.12 修改配置文件 /etc/e ...
- 蚂蚁金服研发的金融级分布式中间件SOFA背后的故事
导读:GIAC大会期间,蚂蚁金服杨冰,黄挺等讲师面向华南技术社区做了<数字金融时代的云原生架构转型路径>和<从传统服务化走向Service Mesh>等演讲,就此机会,高可用架 ...
- MySQL5.6的4个自带库详解
MySQL5.6的4个自带库详解 1.information_schema详细介绍: information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.什么是元数据呢?元数 ...
- [No0000177]详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
之前安装Linux的一些软件时,总要修改Linux的配置文件.当时也是一知半解.而且,网上有些安装教程,会说,修改配置文件后要重启Linux.但事实上是不需要重启的. Linux安装时可能要修改的配置 ...
- tensorflow的assgin方法
官网API是这么说的 This operation outputs a Tensor that holds the new value of 'ref' after the value has bee ...