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类型变量的使用:

  1. 声明String类型变量时使用一对双引号 ""(对比char的单引号)
  2. 字符串与基本数据类型之间的运算:只能是连接运算:+ 。得到的结果仍为一个字符串

如何判断一个 + 号是加号还是连接符号,当 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

  1. +128的原值在8位中是表达不出来的。
  2. -128的补码是1000 0000。
  3. 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的补码

posted @ 2021-08-02 15:47  Wiiiimp  阅读(52)  评论(0)    收藏  举报