Java新手:包装类、正则表达式的知识点

包装类

由于基本数据类型只能做一些简单的操作和运算,,所以Java为每一种基本数据类型提供了包装类。

基本数据类型 byte short char int long float double boolean
包装类 Byte Short Character Integer Long Float Double Boolean

例如Integer:

  1. 构造方法:
    1、Integer(int value):构造一个新分配的Integer对象,表示指定的int值
    2、Integer(String s):构造一个新分配的Integer对象,表示String参数指定的int值
  2. String转换成int:int intValue()或static int parseInt(String s)
  3. int转换成String:+“”或 使用String toString()
public static void main(String[] args) {
		Integer i =new Integer(10);
		String s = i.toString();
		System.out.print("s+20=");
		System.out.println(s+20);
		Integer i2 = new Integer("11");
		int a = i2.intValue();
		System.out.print("a+20=");
		System.out.println(a+20);
		int b =Integer.parseInt("12");
		System.out.print("b+20=");
		System.out.println(b+20);
		String str =b+"";
		System.out.print("str+30=");
		System.out.println(str+30);
	}

输出结果:

s+20=1020
a+20=31
b+20=32
str+30=1230
包装类的自动装箱和拆箱

基本数据类型可以直接使用运算符进行计算,而引用类型不可以,引用数据类型变量的值必须是new出来的内存空间地址值,而这些基本数据类型和包装类够可以转换。
自动拆箱:对象转成基本数值,
自动装箱:基本数值转成对象

public static void main(String[] args) {
       //自动装箱
		Integer i =10;//等于Integer i =new Integer(10);
       //自动拆箱
        int a =i;	//等于int a=i.intValue();	
	}

正则表达式

正则表达式是专门解决字符串规则匹配的工具。正则表达式中明确区分大小写字母。

  1. 正则表达式的规则:
字符 含义
x 字符x
\\ \
[abc] 字符a、b或c
[^abc] 除了字符a、b或c以外的任何字符
[a-zA-Z] 代表匹配的是一个大写或者小写字母
[0-9] 匹配的是一个数字
[a-zA-Z_0-9] 匹配的是一个字母或者是一个数字或一个下滑线
. 匹配的是一个任意字符,用“.”的话,需要使用“\\.”表示
\d 匹配的是一个数字,等于[0-9]
\w 需要匹配的是一个字母或者是一个数字或一个下滑线,等于[a-zA-Z_0-9]
X* X出现零次或多次
X+ X出现一次或多次
X{n} X出现恰好 n 次
X{n,} X出现至少 n 次
X{n,m} X出现至少 n 次,但是不超过 m 次
  1. boolean matches(String regex):判断当前字符串是否匹配指定的正则表达式。
    案例:校验qq号,要求必须是5-15位,0不可以开头,必须都是数字。
//正则表达式的方法
public static void main(String[] args) {
		String qq="1234a54";
		boolean flag =qq.matches("[1-9][0-9]{4,14}");
		//第一个字符不能为0,所以是[1-9],之后的字符是数字,所以[0-9],必须是5-15位,去了第一位,还有4-14位。
		System.out.println(flag);
	}
	//非正则表达式的方法
	public boolean check(String qq){
		int length =qq.length();
		if(length<5||length>15){
			return false;
		}
		if(qq.startsWith("0")){
			return false;
		}
		for(int i=0;i<qq.length();i++){
			char c =qq.charAt(i);
			if(c<'0'||c>'9'){
				return false;
			}
		}
		return true;
	}

猜你喜欢

转载自blog.csdn.net/w_e_i_1201/article/details/83618721