java学习笔记8

1 ,类的抽象是指将类的实现和使用分离,实现的细节被封装并且对用户隐藏,这被称为类的封装。

2,将基本数据类型值作为对象处理,
出于对性能的考虑,在java中基本数据类型不作为对象使用。
java提供了一个方便的方法将基本数据类型合并或者说包装成对象(例如,将int包装成Integer,将double包装成Double类等),在java.lang包里提供了Boolean, Character, Double, Float, Byte, Short, Integer 和 Long等。
数值包装类相互之间非常相似,每个都各自包含了doubleValue(), floatValue(), intValue(), longValue(), shortValue() 和 byteValue()等方法。
常用的两个包装类静态方法: .valueof(String s)
.parseInt(String s)

以上都是将字符串转化为基本数据类型的方法
实现代码如下

		double doubleObject = Double.valueOf("12.4");
		double doubleObject_1 = Double.parseDouble("12.4");
		System.out.println(doubleObject);
		System.out.println(doubleObject_1);

3,基本数据类型值可以使用包装类自动转换成一个对象,反之也可以。将基本类型值转换为包装类对象的过程称为装箱。相反的转换过程称为拆箱。

4,因为字符串在程序设计中是不可变的,但同时又会频繁的使用,所以java虚拟机为了提高效率并节约内存,对具有相同字符序列的字符串字面值使用同一个实例。这样的实例称为驻留字符串
因此如下代码

String s1 = "Welcome to java";
String s2 = new String("Welcome to java");
String s3 = "Welcome to java";
System.out.println("s1==s2 is " + s1==s2);
System.out.println("s1==s3 is " + s1==s3);

输出结果为
s1 == s2 is false ,s2和s1不是同一个对象
s1 == s3 is true, s1和s3是同一个对象

5,拆分字符串和替换字符串
拆分字符串:拆分字符串是一个非常有用的方法,可以有效的将传输的数据拆分,便于你读取数据
方法名为split
例如如下代码

String[] tokens = "Java#HTML#Perl".split("#");
for (int i = 0; i < tokens.length; i++){
	System.out.print(tokens[i] + " ");
	}

输出结果如下
在这里插入图片描述

替换字符串:方法replace,replaceFirst,replaceAll会返回一个源自原始字符串的新字符串。

String words = "Welcome".replace('e', 'A');

6, 正则表达式
正则表达式是一个字符串,用于描述匹配一个字符串集的模式。可以通过指定某个模式来指定,替换或拆分一个字符串。
匹配:matches
替换:replaceAll,replceFirst
拆分: split
匹配方法 matchs 功能比 equals 更强大

System.out.println("java is fun".matches("java.*"));
System.out.println("java is cool".matches("java.*"));
System.out.println("java is powerful".matches("java.*"));/*"java.*"表示以java字符串开头后面紧跟
任意0个或多个字符*/
System.out.println("440-02-4534".matches("\\d{3}-\\d{2}-\\d{4}"));/*\\d表示单个数字,\\d{3}表示三个数字*/
String s = "a+b$#c".replaceAll("[$+#]", "NNN");//替换
System.out.println(s);
String[] tokens = "Java,C?C#,C++".split("[,.:;?");//拆分
for (int i = 0; i < tokens.length; i++){
	System.out.print(tokens[i] + " ");
	}

在这里插入图片描述

7,字符串与数组之间的转换
可以借助toCharArray,将字符串转化为char型数组。与之相对应的可以使用String(char[])或者valueOf(char[])将字符数组转换成字符串。

8,可以使用String.valueOf()将任意类型的数值转化为字符串,包括boolean

9,StringBuilder和StringBuffer类
两者类似于String类,区别在于String类是不可改变的。
StringBuffer类中修改缓冲去区的方法是同步的,即只允许一个任务执行该方法。也就是说多线程条件下用StringBuffer(可防止StringBuffer损坏,读取混乱),单线程用StringBuilder更加高效。

常用方法:
.append(data: char[ ]) 追加一个字符数组到字符串构建器
append(s:String) 将一个字符串追加到字符串构建器
toString(): String 从字符串构建起返回一个字符串对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值