Java中数据类型和运算符的基本知识点
1、数据类型
1.1 整型变量
//基本语法格式
int 变量名 = 初始值;
int num = 10; // 定义一个整型变量
System.out.println(num) ;
1.2 长整型变量
//基本语法格式
long 变量名 = 初始值;
long num = 10L; // 定义一个长整型变量, 初始值写作 10l 也可以 (小写的 L, 不是数字1).
System.out.println(num) ;
1.3 双精度浮点型变量
//基本语法格式
double 变量名 = 初始值;
double num = 1.0;
System.out.println(num)
1.4 单精度浮点型变量
//基本语法格式
float 变量名 = 初始值;
float num = 1.0f; // 写作 1.0F 也可以
System.out.println(num);
1.5 字符类型变量
//基本语法格式
char 变量名 = 初始值;
char ch = 'A';
1.6 字节类型变量
//基本语法格式
byte 变量名 = 初始值;
//代码示例:
byte value = 0;
System.out.println(value);
1.7 短整型变量
//基本语法格式
short 变量名 = 初始值;
//代码示例:
short value = 0;
System.out.println(value);
1.8 布尔类型变量
//基本语法格式:
boolean 变量名 = 初始值;
//代码示例:
boolean value = true;
System.out.println(value);
总的来说
Java中的变量类型主要分为四种八类
分别是整形:byte、short、int、long(默认值为0)
浮点型:double、float (默认值0)
字符型:char (默认值"\u0000")
布尔型:boolean (默认值false)
2、运算符的基本知识点
2.1 算术运算符
a)基本四则运算符 + - * / %
比较简单,值得注意的是使用除法零不能作为除数,* 表示乘法、
/ 表示取商 、% 表示取余
b)增量赋值运算符 += -= *= /= %=
int a = 10;
a += 1; // 等价于 a = a + 1
System.out.println(a);
c)自增/自减运算符 ++ --
int a = 10;
int b = ++a;
System.out.println(b);
int c = a++;
System.out.println(c);
2.2 关系运算符
关系运算符主要有六个:
== != < > <= >=
int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a <= b);
System.out.println(a >= b);
//注意: 关系运算符的表达式返回值都是 boolean 类型.
2.3 逻辑运算符
逻辑运算符主要有三个:
&& || !
注意: 逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean .
逻辑与 &&
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.
逻辑或 || 规则: 两个操作数都为 false, 结果为 false, 否则结果为 true
逻辑非 !
规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true
(这是个单目运算符, 只有一个操作数).
2.4 位运算符(重点)
Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算符主要有四个:
& | ~ ^
按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.
2.5 移位运算
移位运算符有三个:
<< >> >>>
都是按照二进制位来运算.
例如
左移 <<: 最左侧位不要了, 最右侧补 0.
int a = 0x10;
System.out.printf("%x\n", a << 1);
// 运行结果(注意, 是按十六进制打印的)
20
2.6 条件运算符
条件运算符只有一个:
表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.
// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b;