变量是什么?
变量是一块存储数据的存储器. 变量的名字代表变量在存储器中的位置. 变量的类型代表存储器的大小和如何对存储器中的数据的含义进行解释.
一个变量代表事物的状态的一方面(事物的一种特征), 例如: 某一个具体的人的身高, 体重, 年龄等, 都是变量..
值
数据(值)用于描述事物的具体状态. 例如某个人的身高的是1.73米, 这里的1.73米就是值.
变量和值
变量用于保存数据(值). 数据(值)用于描述事物的具体状态.
一个变量代表事物的状态的一方面(事物的一种特征). 事物的通常由多个方面的状态, 需要用多个变量描述事物的各个方面的状态.
事物状态的改变, 通过变量的值(变量中保存的数据)的变化表达.
运算是什么?
运算是计算机能够执行的动作. 计算机(CPU)能够执行的最基本的动作, 用符号表示, 就是运算符.
不同的类型的变量(值)能够进行的运算是不同的.
基本的数据类型可以分为数字类型, 逻辑类型, 以及同种类型的多个变量构成的数组. 计算机的运算是围绕这些基本数据类型进行的.
Java的基本数据类型
整数, 有理数, 字符, 字符串, 字节, 逻辑值/布尔值, 对象的名字
数据类型名称 | 占用内存大小 | 中文名称 | 示例 | 说明 |
---|---|---|---|---|
byte | 8位 | 字节 | 0x1A, 26, 0b0001_1010 | 16进制,10进制,2进制 |
char | 16位 | 字符 | ’m’, ‘\u0000’, ‘\uffff’ | 16-bit Unicode字符 |
short | 16位 | 短整数 | 998 | 16-bit有符号整数 |
int | 32位 | 整数 | 123456789 | 32-bit 有符号整数 |
long | 64位 | 长整数 | 123_456_789_000_000L | 64-bit有符号整数 |
float | 32位 | 浮点数 | 123.456 | 32-bit IEEE 754 |
double | 64位 | 双精度浮点数 | 123.456789 | 64-bit IEEE 754 |
boolean | 不应当知道 | 逻辑值/布尔值 | true, false | 猜测是1位 |
名字变量 | 不应当知道 | 名字 | 对象名称, 代表对象 | 猜测是32位 |
Java的运算符及其优先级
中文名称 | 优先级 |
---|---|
后缀 | expr++, expr-- |
一元运算 | ++expr, --expr, +expr, -expr, ~, ! |
乘法及其相关的 | *, /, % |
加减 | +, – |
移位 | <<, >>, >>> |
大小关系运算 | <, >, <=, >=, instanceof |
相等 | ==, != |
二进制与 | & |
二进制异或 | ^ |
二进制或 | | |
逻辑与 | && |
逻辑或 | || |
三元运算 | ? : |
赋值 | =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>= |
- expr表示表达式
- ~按位取补码(Unary bitwise complement). 例如~5等于-6
- instanceof 用于判断名字变量是否是某个类(class)类型的.
- << Signed left shift 带符号位的向左移位
- >> Signed right shift 带符号位的向右移位
- >>> Unsigned right shift 不带符号位的向右移位
记不住优先级就加括号!