第五章 Java API

学习目标
  1. 掌握String类和StringBuffer类的使用
  2. 熟悉包装类的使用
  3. 了解system类,Runtime类,Math类和Random类。

一、String类的初始化

四种初始化方式:


1.字符串常量直接赋值
	String str1 = "abc";
	
2.空参数构造方法,创建String类对象,内容为空
	String str2 = new String();
	
3.创建一个String类对象,指定字符串内容
	String str3 = new String("abc");

4.创建一个String类对象,指定一个数组作为内容
	char[] charArray = new char []{'A','B','C'};
	Srting str4 = new String(charArray);
	

java

二、String类的常见操作

(一)String类的定位操作
String s = "abcdefg";

1. 获取字符串的长度		s.length();
2. 获取字符串的第一个字符		s.charAt(0);
3. 获取字符 x 第一次出现的位置	s.indexOf('x');
4. 获取字符 x 最后一次出现的位置	s.lastIndexOf('x');
5. 获取子串 ab 第一次出现的位置	s.indexOf('ab');
6. 获取子串 ab 最后一次出现的位置	s.lastIndexOf('ab');

在这里插入图片描述

(二)String类的转换操作

1.将字符串转换为字符数组			public char[] toChatArray();
2.将指定的int值转换为string类型	 	public static String valueOf(int n);
3.将字符串中的字符全部转换为大写字母,返回一个新的字符串
					public String toUpperCase();

在这里插入图片描述

(三)String类的替换与去除操作

1. 将原有字符串中的old字符串用new字符串替换		s.replace(old,new);
2. 去除两端的空格,返回一个新的字符串			s.trim();
3. 去除所有空格

在这里插入图片描述

(四)String类的判断操作(返回的值是布尔类型)
1. 判断字符串是否以给定字符串str开头			s.startWith();
2. 判断字符串是否以给定字符串str结尾			s.endsWith();
3. 判断字符串是否包含给定字符str			s.contains();
4. 判断字符串是否为空				s.isEmpty();
5. 判断字符串与给定字符串str内容是否相同		s.equals(); //大小写不同也不符合

在这里插入图片描述

(五)String类的截取与分割

substring方法用于截取字符串
split()方法用于可以将字符串按照某个字符进行分割

1. 从原有字符串的指定位置开始截取,到字符末尾结束。		s.substring();
2. 从原有字符串的指定位置开始,到指定位置结束。			s.substring(   ,   );
3. 按照指定字符串进行分割。					s.split();

在这里插入图片描述

三、StringBuffer类

(一)StringBuffer类的构造方法
1. 空参数构造方法			public StringBuffer();
2. 创建带有内容的字符串缓冲区	public StringBuffer( date );
(二)常用方法
1. 向缓冲区末尾添加新数据,返回StringBuffer本身。	s.append(String str);
2. 在缓冲区的指定位置上,插入指定数据。		s.insert(位置,内容);
3. 删除缓冲区指定范围内的数据。			s.delete(开始,末尾)4. 删除缓冲区指定位置上的数据。			s.deleteCharAt(位置);
5. 获取字符缓冲区的长度。				s.length();
6. 替换字符缓冲区指定范围内的字符串。			s.replace(开始,末尾,内容);
7. 替换字符缓冲区指定位置上的字符。			s.setCharAt(开始,内容)8. 字符串缓冲区数据翻转。				s.reverse();
9. 获取字符串缓冲区的内容,一字符串形式返回.		String toString();

以下依次展现主函数–添加–删除–移动替换代码截图
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、System类

(一)getProperties()方法
1. 该方法用于获取当前系统的全部属性,改方法会返回一个Properties类型的容器,其中封装了系统的所有属性,
这些属性是以“属性名 = 属性值” 的形式方法。 		   
			public static properties getPtoperties();

2. 获取指定键(属性名)所对应的系统属性值。		   
			public static String getproperty(String key);

在这里插入图片描述

(二)currentTimeMillis()方法
   该方法用于返回一个long的值,该值表示当前时间与197011000秒之间的差距,单位是毫秒,
通常也将该值称为时间戳。		public static long currentTimeMillis();

在这里插入图片描述

(三)arrayCopy(方法)
arrayCopy方法用于将一个数组中的元素快速拷贝到另一个数组,格式和参数作用如下:
格式:
arrayCopy(Object src,  int srcPos,  Object dest,  int destPos,  int length);
参数作用:
Object src : 表示源数组
int srcPos : 源数组中拷贝元素的起始位置
Object dest: 表示目标数组
int destPos: 拷贝到目标数组的起始位置
length :表示拷贝的个数

前提的有两个数组,并且在进行数组复制时,目标数组必须有足够的空间来存放拷贝的元素,否则会发生角标越界异常。

在这里插入图片描述

五、Runtime类

1. 向Java虚拟机返回可用处理器的数目。		public int available processors();
2. 返回Java虚拟机中的空闲内存量。			public long freeMemory();
3. 返回Java虚拟机使用的最大内存量。			public long maxMemory();
4. 返回与当前Java应用程序相关的运行时对象。		Runtime getRuntime();
5. 提供了一个exec()方法,该方法用于执行一个dos命令,从而实现和命令行窗口中输入dos命令同样的效果。
						public process exec(String command);

获取Runtime类对象:				Runtime rt = Runtime.getRuntime();
程序休眠:Thread.sleep(3000); 	//休眠三秒
杀掉进程:process.destory();	//关闭进程

在这里插入图片描述

六、Math类

1. 返回参数的绝对值。			public static int abs(int a);
2. 返回大于参数的最小的整数。			      double ceil(double a);
3. 返回小于参数的最大的整数。			      double floor(double a);
4. 四舍五入。					      long round(double a);
5. 返回两个数的较大值。				      float max(float a,float b);
6. 返回两个数的较小值。				      double min(double a,double b);
7. 返回一个大于等于0.0小于1.0的随机数。		      double random();


这儿所列举的只是冰山一角,大家可以自行挖掘一下:
eg: 返回两个数的最小值的数据类型可以是intlong等等。

在这里插入图片描述

七、Random类

1. 定义一个Random类。			Random r = new Random();
2. 随机生成一个0~x的整数。(包含0,不含x)	nextint(x);
3. 随机生成一个0~1.0之间的小数。		nextfloor();
4. 随机生成一个0~1.0之前的double小数。	nextdouble();

在这里插入图片描述

八、包装类

1. 装箱: 将基本数据类型转换为引用数据类型。
				通过构造方法,完成装箱操作:int --> integer   Integer(int n);
2. 拆箱:将引用数据类型转换为基本数据类型。
				Integer类的方法:int intValue()int类型返回Integer的值。

在这里插入图片描述

九、Integer类的方法

将字符串整数转换为int类型		public static int parseInt(String s);

在这里插入图片描述

十、JDK的新特性

switch语句的表达式增加了对字符类型的支持
	eg:String week = "Friday";

杂记

Java更新了第一章,第二章,第五章。第三章和第四章相对来说是一些理论上的知识,后期会补全。
历时两天下午和晚上完成,网课的知识,经过先听一个大概,知道这一章讲解的内容,接着有了写博客的心思,再听一遍的时候,慢慢来,一个知识点一个知识点的写笔记本上,最后在完成博客,写知识点的同时,写一遍代码。

本来想好在写完后记录一下想法,到最后感觉整个人都是懵的。有机会在叙一叙!
希望对你有所帮助!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的李某银

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值