Java技能树之“常用类”(上)

举报
Mr.Z事顺意 发表于 2023/03/14 19:22:28 2023/03/14
【摘要】 讲起Java中的类,不得不提一局,首先肯定是常用的输入输出。无论如何编程语言,相比我们入门程序都是Hello,World!,那么这么一个简单的输出语句,在java中还有哪些方法讷,跟着我一起走下去吧。一,System类在API中system类介绍的比较简单,我们给出定义,system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。注意,system类不能手动创建对象,因为构造方法...

讲起Java中的类,不得不提一局,首先肯定是常用的输入输出。无论如何编程语言,相比我们入门程序都是Hello,World!,那么这么一个简单的输出语句,在java中还有哪些方法讷,跟着我一起走下去吧。

一,System类

在API中system类介绍的比较简单,我们给出定义,system中代表程序所在系统,提供了对应的一些系统属性信息和系统操作。
注意,system类不能手动创建对象,因为构造方法被私有化(即被private关键字修饰),组织外界创建对象(即不能用new关键字生成一个对象)。System类中的都是静态方法(static关键字修饰),类名访问即可。在JDK中,有许多这样的类。在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。

常用方法有:

//控制台输出
System.out.println();
//当前系统时间 毫秒
System.currentTimeMillis();
// 终止当前正在运行的 Java 虚拟机
System.exit(0);
//运行垃圾回收器。
System.gc();
//确定当前的系统属性。
System.getProperties();
//用来实现将源数组部分元素复制到目标数组的指定位置
/**
 * Object arr:要复制的原数组;
 * Int srcPos:数组源的起始索引;
 * Object dest:复制后的目标数组;
 * int destPos:目标数组起始索引;
 * int length,指定复制的长度;
 */
System.arraycopy(arr, 3 , copy, 0 , 2);


其中控制台输出Hello,World就是第一个方法。

二、String类

这个类直接上常用方法和代码:

常用方法

    charAt():传入一个int类型参数,返回指定位置的字符

    String():构造器,生成一个String对象

    compareTo()与参数比较,相同返回0,小于返回-1,大于返回1

    concat():将参数字符串连接到字符串串尾

    contains():查找字符串中是否包含某字符

    equals():字符串值比较

    intern():返回对象的值(调用该方法时,返回值在常量池中)

    length():返回字符串的长度

    isEmpty():判断是否是空字符串

    toLowerCase():将所有字符串转换为小写

    toUpperCase():将字符串所有字符转换为大写

    trim():返回字符串副本,忽略首部和尾部空白

    equalsIgnoreCase():与equals类似,忽略大小写

    substring():截取字符串

    toCharArra():将字符串转换为字符数组

    split():以指定字符分割字符串

    getBytes():将字符串以字节数组返回

//将此字符串与指定对象进行比较。
public boolean equals (Object anObject);
//将此字符串与指定对象进行比较,忽略大小写。
public boolean equalsIgnoreCase (String anotherString);
//返回此字符串的长度
public int length ();
//将指定的字符串连接到该字符串的末尾。
public String concat (String str);
//返回指定索引处的 char值。 
public char charAt (int index);
//返回指定子字符串第一次出现在该字符串内的索引。
public int indexOf (String str);
//返回一个子字符串,从beginIndex开始截取字符串到字符串结尾。
public String substring (int beginIndex);
//返回一个子字符串,从beginIndex到endIndex截取字符串。含beginIndex,不含endIndex。
public String substring (int beginIndex, int endIndex);
//将此字符串转换为新的字符数组。
public char[] toCharArray ();
//使用平台的默认字符集将该 String编码转换为新的字节数组
public byte[] getBytes ();
//将与target匹配的字符串使用replacement字符串替换
public String replace (CharSequence target, CharSequence replacement);
//将此字符串按照给定的regex(规则)拆分为字符串数组。
public String[] split(String regex ;
//判断字符串中是否包含指定字符。
boolean contains(CharSequence s);

其中:对于StringBuffer和StringBuilder而言

常用方法:

append():在字符串后面添加字符,可以是大部分数据类型

charAt():传入一个int类型参数,返回指定位置的字符

delete():删除指定区间的字符

insert():在指定位置插入元素

setCharAt():替换指定位置字符,参数为char类型

reverse():字符串反转

replace():替换指定区间字符

三,Arrays类

Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。

  • 此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
  • 除非特别注明,否则如果指定数组引用为 null,则此类中的方法都会抛出 NullPointerException。
//将参数数组变成字符串
Arrays.toString(arr);
/**
 *  如果是数值,sort默认按照升序从小到大
 *	如果是字符串,sort默认按照字母的升序
 *	如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持
 */
Arrays.sort()
//填充数组
Arrays.fill(); 
	int[] arr = new int[5];//新建一个大小为5的数组
	Arrays.fill(arr,4);//给所有值赋值4
	String str = Arrays.toString(arr); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
//二分查找法找指定元素的索引值(下标)
Arrays.binarySearch();	
	int[] arr = {10,20,30,40,50};
	System.out.println(Arrays.binarySearch(arr, 30));
    //输出:2 (下标索引值从0开始)
 //截取数组   
Arrays.copeOf() 和Arrays.copeOfRange(); 
	int[] arr = {10,20,30,40,50};
	int[] arr1 = Arrays.copyOf(arr, 3);
	String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
	//输出:[10, 20, 30] (截取arr数组的3个元素赋值给姓数组arr1)
	/**-------------------------------**/
	int []arr = {10,20,30,40,50};
	int []arr1 = Arrays.copyOfRange(arr,1,3);
	String str = Arrays.toString(arr1); // Arrays类的toString()方法能将数组中的内容全部打印出来
	System.out.print(str);
	//输出:[20, 30] (从第1位(0开始)截取到第3位(不包括)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。