一.变量的一些补充
1.字符串类型变量(string)
1)Java 使用 双引号 + 若干字符 的方式表示字符串字面值.
2)String 不是基本类型, 而是引用类型.
3)字符串中的一些特定的不太方便直接表示的字符需要进行转义(/").
4)字符串的 "+" 操作, 表示字符串拼接,当一个 "+ "表达式中存在字符串的时候, 都是执行字符串拼接行为.
2.类型转换
1)不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型.
2)如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失.
3)将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查.
3.类型提升
1)不同类型的数据混合运算, 范围小的会提升成范围大的.
2)对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.
4.变量与常量
变量在程序运行时取出数据;常量在程序编译时得知数据.
二.运算符
1.算术运算符
1)基本四则运算符 + - * / %
% 表示取余, 不仅仅可以对 int 求模, 也能对 double 来求模
2)自增/自减运算符 ++ --
如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.
如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前 的值.
2 关系运算符
关系运算符主要有六个: == != < > <= >=
3.逻辑运算符(重点) 逻辑运算符主要有三个: && || !
逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean .
1)逻辑与
&& 规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.
2)逻辑或
|| 规则: 两个操作数都为 false, 结果为 false, 否则结果为 true.
3)逻辑非
! 规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true.
4.位运算符
位运算符主要有四个: & | ~ ^
位操作表示 按二进制位运算. 计算机中都是使用二进制来表示数据的(01构成的序列), 按位运算就是在按照二进制位的 每一位依次进行计算.
1)按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
2)按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
3)按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0.
4)按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.
5.移位运算
1) 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
2) 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
3) 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
6.条件运算符.
条件运算符只有一个: 表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值;
当 表达式1 的值为 false 时, 整个表达式的值为 表达式 3 的值.
三. 二进制,十进制,十六进制的转换.
在进行数字的进制转换时,需先将十进制的常规数字转换成二进制,具体方法为:
(95)10 = 2^6 + 0^5 + 2^4 + 2^3 + 2^2 + 2^1 +2^0,即
= (1 0 1 1 1 1 1)2
= ( 5E)16



