基本数据类型
Java 语言支持 8 种基本数据类型:byte
,short
,int
,long
,float
,double
,char
和 boolean
整形
java
// 声明一个整型变量age
int age = 10;
// 声明一个整型变量 score
int score = 100;
// 整型除了 int 类型,还有 short 和 long 类型,也就是短整型和长整型,他们用于存放不同范围的整数值。需要注意的是,long 类型的值后面要以大写字母 L 或小写字母 l 结尾
// tips: 对于长整型,推荐后面总以大写字母 L 结尾,因为小写字母 l 与数字 1 容易混淆。
// 声明一个短整型变量a
short a = 20;
// 声明一个长整型变量b
long b = 100l;
// 声明一个长整型变量c
long c = 100L;
// 前缀 0x 表示十六进制,前缀 0b 表示二进制
// 十进制表示数字10
int decimalValue = 10;
// 十六进制表示数字10
int hexadecimalValue = 0xA;
// 二进制表示数字10
int binaryValue = 0b1010;
浮点型
浮点型又可分为单精度浮点型 (
float
) 和双精度浮点型 (double
)。需要注意的是,float
类型的值必须要以大写字母F
或小写字母f
结尾
java
float f1 = 1.2f;
float f2 = 10.56F;
// double 类型的值可以以字母 D 或 d 结尾,不强制
// 声明三个double类型变量,其值都为123.3
double d1 = 123.3;
double d2 = 123.3D;
double d3 = 123.3d;
// 另外浮点类型也可以使用字母 E 或 e,后面跟上次方的数值,来表示数学中的科学计数法
// 科学计数法表示的 123.4
double d2 = 1.234e2;
float f1 = 1.234e2f;
// 科学计数法表示 200022.1
double d3 = 2.000221e5
布尔类型
java
boolean b1 = true;
boolean b2 = false;
字符类型
字符类型
char
表示一个字符。Java 中的char
类型除了可表示标准的ASCII
外,还可以表示一个Unicode
字符
java
public class CharType {
public static void main(String[] args) {
// 存放一个 ASCII 码
char a = 97;
// 存放一个Unicode字符
char zh = '慕';
System.out.println(a);
System.out.println(zh);
}
}
char 和 String
\ n | 换行(0x0a) |
---|---|
\ r | 回车(0x0d) |
\F | 换页(0x0c) |
\ b | 退格(0x08) |
\ s | 空格(0x20) |
\ t | 制表符 |
" | 双引号 |
’ | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符(ddd) |
\ uxxxx | 十六进制 Unicode 字符(xxxx) |
运算符
算术运算符
运算符 | 描述 |
---|---|
+ | 加法运算符 (也用于字符串连接) |
- | 减法运算符 |
* | 乘法运算符 |
/ | 除法运算符 |
% | 取余运算符 |
++ | 自增运算符 |
-- | 自减运算符 |
注意下面情况
关系运算符
运算符 | 描述 |
---|---|
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 |
位运算符
运算符 | 描述 |
---|---|
&(按位与) | 如果相对应位都是1,则结果为1,否则为0 |
|(按位或) | 如果相对应位都是 0,则结果为 0,否则为 1 |
^(按位异或) | 如果相对应位值相同,则结果为0,否则为1 |
〜(按位取反) | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 |
<< (左位移) | 按位左移运算符。左操作数按位左移右操作数指定的位数。 |
>> (右位移) | 按位右移运算符。左操作数按位右移右操作数指定的位数。 |
>>> (零填充右移) | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
逻辑运算符
运算符 | 描述 |
---|---|
&&(逻辑与) | 当且仅当两个操作数都为真,条件才为真。 |
|| (逻辑或) | 如果任何两个操作数任何一个为真,条件为真。 |
!(逻辑非) | 用来反转操作数的逻辑状态。如果条件为真,则逻辑非运算符将得到假。 |
赋值运算符
运算符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符。将值从右侧操作数分配给左侧操作数。 | c = a + b将a + b的值赋给c |
+= | 加和赋值运算符。它将右操作数添加到左操作数,并将结果分配给左操作数。 | c + = a等于c = c + a |
-= | 减和赋值运算符。它从左侧操作数中减去右侧操作数,并将结果分配给左侧操作数。 | c -= a等效于c = c – a |
*= | 乘和赋值运算符。它将右操作数与左操作数相乘,并将结果分配给左操作数。 | c _= a等效于c = c _ a |
/ = | 除和赋值运算符。它将左操作数除以右操作数,并将结果分配给左操作数。 | c /= a等于c = c / a |
其他运算符
条件(三元)运算符
java
package operator.arithmetic;
public class demo8 {
public static void main(String[] args) {
int age = 59;
System.out.println(age > 60 ? "及格" : "没及格");
}
}
instanceof 运算符
java
package operator.arithmetic;
public class demo9 {
public static void main(String[] args) {
String name = "wuchendi";
boolean b = name instanceof String;
System.out.println("结果为:" + b);
}
}