Javase 0731
包装类
为了对基本数据类型进行更多操作,Java针对基本数据类型,都提供了一些包装类型( 引用类型) 常见操作如对基本类型和字符串的之间的转换
基本类型和包装类的对应:
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
( 1 ) Integer : 在对象中包装一个基本类型 int 的值
( 2 ) int -- - String:
A: int -- String
a: String str= str+ "" ;
b: public static String valueOf ( int i)
c: int -- Integer -- String
d: public static String toString ( int i)
B: String -- int
a: String -- Integer -- intValue ( ) ;
b: public static int parseInt ( String s)
( 3 ) 自动拆装箱:JDK1. 5 之后,引入自动装箱:将基本数据类型转换成包装类型,拆箱就是将包装类型转为基本类型。举例:
Integer a = new Integer ( 100 ) ;
Integer b = new Integer ( 100 ) ;
int c= a+ b;
int i= a. intValue ( ) ;
int j= b. intValue ( ) ;
int num= 10 ;
Integer NUM= num;
int num= 10 ;
Integer integer= Integer. valueOf ( num) ;
注意: 自动装箱需判断是否为 null , null 则空指针异常
自动装箱时,值为- 128 - + 127 之间时,valueof中会使用IntegerCache这个类,提前 new 了256 个对象,可以直接放,所以若输入两个相同的值且值在这个区间呢,不会new 新对象
char :
正则表达式
正则表达式:指正确规则的表达式,是指一个用来描述或者匹配一系列符合某个语法规则的单个字符串,规则字符在java. util. regex Pattern类中
A: 字符
x 字符 x。举例:'a' 表示字符a
\\ 反斜线字符。
\n 新行(换行)符 ( '\u000A' )
\r 回车符 ( '\u000D' )
B: 字符类
[ abc] a、b 或 c(简单类)
[ ^ abc] 任何字符,除了 a、b 或 c(否定)
[ a- zA- Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
[ 0 - 9 ] 0 到9 的字符都包括
C: 预定义字符类
. 任何字符。我的就是. 字符本身,怎么表示呢? \.
\d 数字:[ 0 - 9 ]
\w 单词字符:[ a- zA- Z_0- 9 ]
在正则表达式里面组成单词的东西必须有这些东西组成
\s 匹配空格字符
D: 边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
就是不是单词字符的地方。
举例:hello world? haha; xixi
E: Greedy 数量词
X? X,一次或一次也没有 比如"" 空串 就是没有
X* X,零次或多次 大于等于1 次 都算多次
X+ X,一次或多次
X{ n} X,恰好 n 次
X{ n, } X,至少 n 次
X{ n, m} X,至少 n 次,但是不超过 m 次
举例:
校验手机号
String regex= "[1][3|5|7|8][0-9]{9}" ;
校验网易邮箱
String regex= "[a-zA-Z][0-9a-zA-Z]{5,17}" + "@163.com" ;
正则方法:name. split 根据正则来切,返回的是一个字符串数组
正则表达式的获取功能:
Pattern和Matcher的结合使用
举例:
public static void main ( String[ ] args) {
String s = "da jia ting wo shuo,bu shang wan zi xi" ;
String regex= "\\b[a-z]{3}&&\\b" ;
Pattern pattern= Pattern. compile ( regex) ;
Matcher matcher = pattern. matcher ( s) ;
while ( matcher. find ( ) ) {
String str= matcher. group ( ) ;
System. out. println ( str) ;
}
}
MATH 类
Math类包括常见的数学运算方法,在java. util中 ,Scanner 也在。
包括两个成员变量: E PI
成员方法有:pow sqrt round abs等
注意:取整上有:
public static double ceil ( double a) 向上取整
public static double floor ( double a) 向下取整
public static int round ( float a) 四舍五入
Random类
随机类的构造方法:
public Random ( ) 没有给定种子, 使用的是默认的( 当前系统的毫秒值)
public Random ( long seed) 给定一个long 类型的种子, 给定以后每一次生成的随机数是相同的
所以,空参的随机就是先随机一个种子函数,再用这个种子函数随机,保证每次随机的不一样。即计算机的伪随机
C: 成员方法
public int nextInt ( )
public int nextInt ( int n)
void nextBytes ( byte [ ] bytes) 生成随机字节并将其置于用户提供的空的 byte 数组中。
System类
System类的概述
System 类包含一些有用的类字段和方法。它不能被实例化。
成员方法
public static void gc ( )
public static void exit ( int status)
public static long currentTimeMillis ( )