Java-变量
1.变量
1.1变量之间的运算(除boolean)(自动类型提升和强转)
1.3不同的进制(了解)
1.2引用数据类型:字符串
变量的概念:
-
内存中的一个存储区域
-
该区域的数据可以在同一类型范围内不断变化
-
变量是程序中最基本的存储单元,包含变量类型、变量名和存储的值
变量的作用:
- 用于在内存中保存数据
使用变量时应注意:
-
Java中每个变量都必须先声明,后使用
-
使用变量名来访问这块区域的数据
-
变量的作用域是在其定义的一对{}中,变量只在作用域中有效
-
同一作用域不能有重名的变量
数据类型

1.1变量之间的运算(除boolean)(自动类型提升和强转)
-
自动类型提升:容量小的数据类型的变量与容量大的数据类型的变量做运算,结果会自动转换为容量大的数据类型。
byte 、short、 char之间做运算,结果为int型
byte 、short、 char --> int --> long --> float --> double
-
强制类型转换:是自动类型提升的逆过程,使用"()"实现强转。但可能会导致精度的损失。
double d1 = 12.3;
int i1 = (int)d1;
Java字符编码方式使用:Unicode
Unicode 为世界上所有字符都分配了一个唯一的数字编号,这个编号范围从 0x000000 到 0x10FFFF (十六进制),有 110 多万,每个字符都有一个唯一的 Unicode 编号,这个编号一般写成 16 进制,在前面加上 U+。例如:“马”的 Unicode 是U+9A6C。
编号怎么对应到二进制表示呢?有多种方案:主要有 UTF-8,UTF-16,UTF-32。UTF-8、UTF-16、UTF-32 都是 Unicode 的一种实现。
UTF-8 的编码规则是:
① 对于单字节的符号,字节的第一位设为 0,后面的7位为这个符号的 Unicode 码,因此对于英文字母,UTF-8 编码和 ASCII 码是相同的。
② 对于n字节的符号(n>1),第一个字节
1.2引用数据类型:字符串
String类型变量的使用:
- 声明String类型变量时使用一对双引号 ""(对比char的单引号)
- 字符串与基本数据类型之间的运算:只能是连接运算:+ 。得到的结果仍为一个字符串
如何判断一个 + 号是加号还是连接符号,当 a + b,a与b是基本数据类型(除boolean)时,这个 + 是加号,如果a或b其中有一个或者都是字符串时,这个加号是连接符号;

1.3不同的进制(了解)
- 二进制(binary):以0b或0B开头
- 八进制(octal):以数字0开头表示
- 十进制(decimal):日常生活的十进制
- 十六进制(hexadecimal):0-9及A-F,以0x或0X开头表示
不同进制的转换:
- 十进制->二进制:除2取余的逆
- 二进制 ->八进制或者十六进制:取二进制数的3位或4位作为一位表示
原码反码和补码
正数的原码反码和补码都一样,三码合一;
负数取反时符号位除外;符号位上的进位舍弃。
计算机底层都以补码的方式来存储数据
(byte型的数据范围-128127)————为什么是-128127
- +128的原值在8位中是表达不出来的。
- -128的补码是1000 0000。
- 8位二进制 的补码组合序列有256个
0000 0000 - 0111 1111 0 ~+127
1000 0000 用来干啥好呢?
1000 0001 - 1111 1111 -1~-127
在补码中用(-128)代替了(-0),所以补码的表示范围为: (-1280127)共256个.
-128 绝对值是 128
128的二进制表示为:
1000 0000
取反
0111 1111
加1
1000 0000
这就是-128的补码

浙公网安备 33010602011771号