1、基本数据类型与包装类型
1、整数类型
数据类型 | 内存空间 | 取值范围 |
---|---|---|
byte | 8位(1个字节) | -128~127 |
short | 16位(2个字节) | -32768~32767 |
int | 32位(4个字节) | -2147483648~2147483647 |
long | 64位(8个字节) | -9223372036854775808~9223372036854775807 |
2、浮点类型
数据类型 | 内存空间 | 取值范围 |
---|---|---|
float | 32位(4个字节) | 1.4E-45~3.4028235-E38 |
double | 64位(8个字节) | 4.9E-324~1.7976931348623157E-308 |
3、字符类型
数据类型 | 内存空间 | 取值范围 |
---|---|---|
char | 16位(2个字节) | 0~65535 |
4、布尔类型
数据类型 | 内存空间 | 取值范围 |
---|---|---|
boolean | 8位(1个字节)或32位(4个字节) | true,false |
当声明一个 boolean
变量时占用4个字节,当声明一个 boolean
数组时占用1个字节。
5、包装类型
基本类型对应的包装类型
基本类型 | 包装器类 |
---|---|
boolean | Boolean |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
装箱与拆箱
装箱:基本数据类型转换成包装数据类型
如:int
转换成 Integer
拆箱:包装数据类型转换成基本数据类型
如:Integer
转换成 int
2、数组操作
1、遍历
1、通过索引遍历
1 | public static void ergodic(int arr[]) { |
2、使用 foreach
遍历
1 | public static void ergodic(int arr[]) { |
2、填充
1 | /* |
3、排序
1 | /* |
4、复制
1 | /* |
3、字符串操作
1、查找
1 | /* |
2、替换
1 | /* |
3、比较
1 | /* |
4、分割
1 | /* |
5、格式化
常规转换符
1 | /* |
转换符 | 说明 | 示例 |
---|---|---|
%b、%B | 结果被格式化为布尔类型 | true、TRUE |
%h、%H | 结果被格式化为散列码 | 42628b2、42628B2 |
%s、%S | 结果被格式化为字符串类型 | Hello、HELLO |
%c、%C | 结果被格式化为字符类型 | a、A |
%d | 结果被格式化为十进制整数 | 16 |
%o | 结果被格式化为八进制整数 | 20 |
%x、%X | 结果被格式化为十六进制整数 | 10、10 |
%e | 结果被格式化为用计算机科学计数法表示的十进制数 | 1.600000e+01 1.600000E+01 |
%a | 结果被格式化为带有效位数和指数的十六进制浮点值 | 0x1.0p4 0X1.0P4 |
%% | 结果为字面值 % |
% Hello |
时间和日期格式转换符
1 | /* |
转换符 | 说明 | 示例 |
---|---|---|
%tH | 2位数字的24时制的小时(00~23) | 23 |
%tI | 2位数字的12时制的小时(01~12) | 05 |
%tk | 2位数字的24时制的小时(0~23) | 9 |
%tl | 2位数字的12时制的小时(1~12) | 6 |
%tM | 2位数字的分钟(00~59) | 44 |
%tS | 2位数字的秒数(00~60) | 52 |
%tL | 3位数字的毫秒数(000~999) | 558 |
%tN | 9为数字的微秒数(000000000~999999999) | 558000000 |
%tp | 制定语言环境上下午标记 | 下午 |
%tz | 相对于GMT RFC 82 格式的数字时区偏移量 | +0800 |
%tZ | 时区缩写形式的字符串 | CST |
%ts | 1970-01-01 00:00:00 到现在经过的秒数 | 1595951092 |
%tQ | 1970-01-01 00:00:00 到现在经过的毫秒数 | 1595951092558 |
%tF | “年-月-日”格式(4位年份) | 2020-07-28 |
%tD | “月/日/年”格式(2位年份) | 07/28/20 |
%tc | 全部日期和时间信息 | 周二 7月 28 23:44:52 CST 2020 |
%tr | “时:分:秒 PM(AM)”格式(12时制) | 11:44:52 下午 |
%tT | “时:分:秒”格式(24时制) | 23:44:52 |
%tR | “时:分”格式(24时制) | 23:44 |
6、StringBuilder
1 | /* |
7、扩展:正则表达式
1 | /* |
正则表达式中的元字符
元字符 | 正则表达式中的写法 | 含义 | |
---|---|---|---|
. | . |
代表任意一个字符 | |
\d | \\d |
代表0~9 的任何一个数字 |
|
\D | \\D |
代表任何一个非数字字符 | |
\s | \\s |
代表空字符,如\t 、\n |
|
\S | \\S |
代表非空字符 | |
\w | \\w |
代表可用作标识符的字符,但不包括$ |
|
\W | \\W |
代表不可用于标识符的字符 | |
\p{Lower} | \\p{Lower} |
代表小写字母{a~z} |
|
\p{Upper} | \\p{Upper} |
代表大写字母{A~Z} |
|
\p{ASCII} | \\p{ASCII} |
代表 ASCII 字符 | |
\p{Alpha} | \\p{Alpha} |
代表字母字符 | |
\p{Digit} | \\p{Digit} |
代表十进制数字{0~9} |
|
\p{Alnum} | \\p{Alnum} |
代表数字或字母字符 | |
\p{Punct} | \\p{Punct} |
代表标点符号 ```!@#$%^&*()-=_+[]\{}\ | ;:’”,<.>/?`~``` |
\p{Graph} | \\p{Graph} |
代表可见字符[\p{Alnum}\p{Punct}] |
|
\p{Print} | \\p{Print} |
代表可打印字符[\p{Graph}\x20] |
|
\p{Blank} | \\p{Blank} |
代表空格或制表符\t |
|
\p{Cntrl} | \\p{Cntrl} |
代表控制字符[\x00-\x1F\x7F] |
正则表达式中的限定符
限定修饰符 | 意义 | 示例 |
---|---|---|
? | 0次或1次 | A? |
* | 0次或多次 | A* |
+ | 0次或多次 | A+ |
{n} | 正好出现n次 | A{2} |
{n,} | 至少出现n次 | A{3,} |
{n,m} | 出现 n~m 次 | A{2,6} |
方括号中元字符含义
字符 | 含义 |
---|---|
[abc] |
表示a、b或者c |
[^abc] |
表示除a、b、c以外的字符 |
[a-zA-Z] |
a~z 或A~Z 的任何字符 |
[a-d[m-p]] |
a~d 或m~p 的任何字符 |
[a-z&&[def]] |
表示d、e或者f |
[a-z&&[^bc]] |
除b、c以外a~z 的所有字符 |
[a-z&&[^m-p]] |
除m~p 以外a~z 的所有字符 |