变量:用于保存数据输入、数据输出或中间值。
将数据指定给某个变量,就是将数据存储到对应的内存空间,用户调用该变量时就调用了相应内存中的数据。
变量的作用域
变量所具有的作用范围,称为变量作用域。
根据变量定义位置的不同,其发挥作用的范围也不同。
两个主要的作用域:
通过方法和类定义的
一:类的作用域适合于整个类的范围;
二:方法的作用域只适合于该方法。其作用域只适合于方法所在的大括号里。
注意:变量仅仅在其作用域内有效,也是说它的生存期就限定在它的作用域中
常量 使用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