变量:用于保存数据输入、数据输出或中间值。
将数据指定给某个变量,就是将数据存储到对应的内存空间,用户调用该变量时就调用了相应内存中的数据。
变量的作用域
变量所具有的作用范围,称为变量作用域。
根据变量定义位置的不同,其发挥作用的范围也不同。
两个主要的作用域:
通过方法和类定义的
一:类的作用域适合于整个类的范围;
二:方法的作用域只适合于该方法。其作用域只适合于方法所在的大括号里。
注意:变量仅仅在其作用域内有效,也是说它的生存期就限定在它的作用域中
常量 使用final关键字定义一个常量。
final dataType variableName
常量定义后不能再改变。
运算符
% 取模运算 连接两个变量或常量进行除法运算的余数 a%b
一元运算符
- 取反 改变整数的符号
~ 逐位取反 属于位运算
++ 自加1
-- 自减1
逻辑操作符
&& 逻辑与 操作符 &
|| 逻辑或
! 非
public class TestW { public static void main(String[] args) { int a1 = 12&5; int a2 = 12|5; int a3 = 12^5; System.out.println(a1); System.out.println(a2); System.out.println(a3); /* * 12:00000000 00000000 00000000 00001100 * 5: 00000000 00000000 00000000 00000101 * & 00000000 00000000 00000000 00000100 对应十进制为4 * | 00000000 00000000 00000000 00001101 对应十进制为13 * ^ 00000000 00000000 00000000 00001001 对应十进制为9 * */ System.out.println("-----------------"); int a4 = 12>>>1; int a5 = 12>>>2; int a6 = 12>>1; int a7 = 12<<1; System.out.println(a4); System.out.println(a5); System.out.println(a6); System.out.println(a7); /* * 12: 00000000 00000000 00000000 00001100 * 逻辑右移操作 * >>>1 000000000 00000000 00000000 0000110 对应十进制为6 * >>>2 0000000000 00000000 00000000 000011 对应十进制为3 * 算术移位操作 * 右移一位是将最右边的0去掉,添加到最左边 * 12 00000000 00000000 00000000 00001100 * >>1 000000000 00000000 00000000 0000110 对应十进制为6 * 左移一位是将最左边的0去掉,添加到最右边 * 12 00000000 00000000 00000000 00001100 * <<1 0000000 00000000 00000000 000011000 对应十进制24 * * */ } }
运行结果
4 13 9 ----------------- 6 3 6 24
图片如下:
三元操作符
也称条件操作符,可理解为if else语句的简化形式。
需要3个操作数。 true ? i : c