Day14java常见API

1.String

1.1概述
java.lang.String:是字符串 底层就是一个final修饰的char数组,所以String很多特性就是数组的特性
比如一旦确定,长度不能更改
1.字符串一旦创建,这个字符串对象不能再更改
2为了提升字符串的访问和存储效率,java虚拟机采用了一种缓存机制,把字符串都保存在了字符串常量池中
3在程序执行过程中,假如要用到一个字符串a String s1 = ‘‘a’’;先去字符串常量池中检索,是否有a,如果没有就创建一份
假如有了 String s2 = “a”;就不再创建,把已有的这个a返回
所以导致 String s1 = “a” String = “a” 此时使用s1 == s2 他也是因为他们指向同一个字符串对象 就是 a在这里插入图片描述
1.2基本使用

在这里插入图片描述
1.3不要频繁拼接

在这里插入图片描述在这里插入图片描述

1.4构造方法
在这里插入图片描述
在这里插入图片描述1.5常用方法

在这里插入图片描述

// 1 char charAt (int index ) : 返回该字符串中,指定位置的字符
		String s1 = "qwehihasd";
		char c1 = s1.charAt(2);
		// e
		System.out.println(c1);

		// 2 boolean endsWith(String suffix) : 判断该字符串是否以指定字符串结尾
		// boolean startsWith(String prefix) : 同上,判断开始
		System.out.println("Hello.java".endsWith(".java"));
		// 注意空格 , 有空格就匹配不上了
		System.out.println("Hello.java".endsWith(".java "));

		// 3 boolean equalsIgnoreCase(String str) : 不区分大小写比较两个字符串是否相等
		System.out.println("abc".equalsIgnoreCase("aBc"));

		// 4 byte[] getBytes() : 把字符串转换为字节数组并返回
		byte[] bytes = "abc".getBytes();
		for (int i = 0; i < bytes.length; i++) {
			System.out.println(bytes[i]);
		}

		// 5 char[] toCharArray() : 把字符串转换为字符数组并返回
		char[] chars = "abc".toCharArray();
		for (int i = 0; i < chars.length; i++) {
			System.out.println(chars[i]);
		}

		// 6 int indexOf(String str) : 获取该字符串中指定字符串的起始索引,找不到返回-1
		System.out.println("askdhqwbe".indexOf("kd")); // 2
		System.out.println("askdhqwbe".indexOf("kda")); // -1
		// 7 int indexOf(String str,int index) :
		// 从指定位置开始查找(包含),获取该字符串中指定字符串的起始索引,找不到返回-1
		System.out.println("askdhaqwbe".indexOf("a", 5)); // -1

		// 8 index lastIndexOf(String str) : 同上,最后一次出现的索引 找不到返回-1
		System.out.println("askdhaqwbe".lastIndexOf("a")); // 5

		// 9 int length() : 返回该字符串的长度
		System.out.println("abc".length());

		// 10 String replaceAll(String regex . String replacement);
		// 替换指定字符,支持正则表达式
		// String replace (String str . String replacement); 不支持正则表达式
		// 用1 把 a 替换了并返回新的字符串
		// 支持正则表达式,但是没有写正则表达式 是没有区别的
		System.out.println("hucgasdqweasd".replaceAll("a", "1"));
		System.out.println("hucgasdqweasd".replace("a", "1"));
		// 因为 . 在正则表达式中,代表任意字符
		System.out.println("qwe.rty.yui.uio".replaceAll(".", ","));
		// 可以使用 \ 转义
		System.out.println("qwe.rty.yui.uio".replaceAll("\\.", ","));
		System.out.println("qwe.rty.yui.uio".replace(".", ","));

		// 11 String[] split(String regex) : 分割字符串,返回字符串数组,支持正则表达式,注意 .....
		// 点,需要转义
		String s2 = "2022.1.14";
		String[] arr = s2.split("\\.");
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}

		// 12 String substring(int begin);获取该字符串中,以某个下标起始的子字符串(包含)
		System.out.println("abcdef".substring(2));// cdef

		// 13 String substring(int begin, int end) :
		// 获取该字符串中,以某个下标起始(包含)到某个下标结束的子字符串(不包含)
		System.out.println("abcdef".substring(2, 4));// cd

		// 14 String trim() : 去除字符串两边的空格
		System.out
				.println("            a                    d                  sadasd                      ");
		System.out
				.println("            a                    d                  sadasd                      "
						.trim());

		// 15 String toUpperCase() : 转大写
		// String toLowerCase() : 转小写
		System.out.println("asd".toUpperCase());

		// 16 static String valueOf(Object obj) :
		// 调用该对象的toString方法,如果为null,则不再调用toString而是返回字符串null
		String_05 s = null;
		// 打印一个引用类型的时候,会自动调用String的valueOf 所以 会自动调用toString方法
		System.out.println(s);

1.6注意
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
2.StringBuffer和StringBuilder
2.1概述
在这里插入图片描述
2.2基本使用
在这里插入图片描述2.3常用方法

在这里插入图片描述
3包装类
3.1概述
【问】想要对基本类型数据进行更多的操作,怎么办?
【答】最方便的方式就是将其封装成对象。因为在对象描述中就可以定义更多的属性和行为
对该基本数据类型进行操作。我们不需要自己去对基本类型进行封装,JDK已经为我们封装好了。
【概念】

  1. 装箱就是自动将基本数据类型转换为包装器类型
  2. 拆箱就是自动将包装器类型转换为基本数据类型
    在这里插入图片描述

3.2 使用
在这里插入图片描述

3.3 Integer
3.3.1 基本使用
在这里插入图片描述

3.3.2 相互转换
在这里插入图片描述

3.3.3 常用方法

在这里插入图片描述

3.3.4 自动装箱和自动拆箱

在这里插入图片描述
在这里插入图片描述

3.3.5 深入整型常量池
在这里插入图片描述

// 判断当前这个数值 是否在 -128~127之间
如果不再范围内 就直接new对象

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.3.6 总结

在这里插入图片描述

  1. System
    4.1 概述
    System类提供的public static long currentTimeMillis()用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
    此方法适于计算时间差。

System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。 该类位于java.lang包。
由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实 例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便 的进行调用。
成员变量
System类内部包含in、out和err三个成员变量,分别代表标准输入流
(键盘输入),标准输出流(显示器)和标准错误输出流(显示器)。
成员方法
native long currentTimeMillis():
该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时
间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。
void exit(int status):
该方法的作用是退出程序。其中status的值为0代表正常退出,非零代表
异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
4.2 常用方法
在这里插入图片描述

  1. Date
    5.1 概述
    获取时间和时间操作
    5.2 构造方法
    在这里插入图片描述

5.3 常用方法
在这里插入图片描述

5.4 格式化
在这里插入图片描述

5.5 Calendar
在这里插入图片描述

  1. Random
    6.1 概述
    随机数 从 0 开始
    6.2 使用

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值