java api(java常用类,集合)

Scanner

创建输入流对象

//System.in代表从键盘输入
Scanner sc = new Scanner(System.in);

获取键盘输入的字符串

String str = sc.next();

获取键盘输入的一个数字

int num = sc.nextInt();

关闭输入流

sc.close();

Random

创建对象

Random r = new Random();

获取随机int数字

int num1 = r.nextInt();

获取有范围(左闭右开)的随机int数字

int num2 = r.nextInt(10); //随机取0~9数字

Calendar

获取或设置各种日历字段的方法

创建对象

Calendar c = Calendar.getInstance();

获取本地当前时间

c.getTime().toLocaleString();

用Date获取当前时间

Date time = new Date(System.currentTimeMillis());
new SimpleDateFormat("YYYY-MM-DD hh:mm:ss").format(time);

数组

数组的创建

int[] a = new int[10];

数组转为字符串

String s = String.valueOf(c);		//c为数组
String s = Arrays.toString(c);		//以集合的形式转换为字符串

把数组变成集合

String[] s = { "a", "b", "c", "d", "e" };
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));

获取数组长度

c1.length		//返回一个整数,注意没有()

Arrays

Arrays是数组工具类。

将数组转换为字符串

String s = Arrays.toString(c);		//以集合的形式转换为字符串

给数组升序排序

Arrays.sort(a);			//a是数组
如果是数值,sort默认按照升序从小到大
如果是字符串,sort默认按照字母的升序
如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comparator接口的支持

判断两个数组是否相等

Arrays.equals(a, b)		//需要元素内容和元素顺序都相同才相等

ArrayList

Array数组长度不可改变,ArrayList集合的长度可以改变

创建ArrayList集合

//创建字符串集合
ArrayList<String> list = new ArrayList<>();
//创建整数集合
ArrayList<Integer> list = new ArrayList<>();	//泛型在尖括号内填写,只能写引用类型,不能是基本类型

输出集合

System.out.println(list);

添加字符串到集合

list.add("要添加进集合的字符串");		//返回一个布尔值提示是否添加成功

读取集合中的字符串

list.get(0);		//括号内填第几个元素下标,从0开始 ,返回对应元素

删除集合中的字符串

list.remove(0);		//括号内填第几个元素下标,从0开始,返回被删除元素

获得集合长度

list.size();		//返回集合长度

遍历集合

一:
for (int i = 0; i < list.size(); i++) {
	System.out.println(list.get(i));
}
二:
for (String str:list) {
	System.out.println(str);
}

Math

数学工具类

绝对值

Math.abs(-2.5);		//2.5

取整

Math.ceil(6.9);		//向上取整,7.0
Math.floor(6.9);	//向下取整,6.0

四舍五入

Math.round(6.9);	//7

幂运算,求n的m次方

Math.pow(3,2);		//9.0

开平方

Math.sqrt(9);		//3.0

随机数(0~1)

Math.random()

String

字符串效果是字符数组chae[ ],但底层远离是字节数组byte[ ]

可以直接"Hello"点方法

字符串内容不可改变,对字符串的所有操作都要用新字符串接受返回。

创建String字符串

//空参构造
String s = new String();
//字符数组创建
char[] c = {'a', 'b', 'c'};
String s = new String(c);
System.out.println(s);		//abc
//字节数组创建
byte[] b = {97,98,99};
String s = new String(b);
System.out.println(s);		//abc

替换字符

s.replace('o', '*')		//前者是旧字符,后者是新字符

比较字符串

s.equals(s1);			//比较s和s1内容是否相同,一般常量放前面:"abc".equals(s);
s==s1;					//比较s和s1地址值是否相同,可用于比较两个对象是否引用同一实例
s.equalsIgnoreCase(s1)  //和equals一样,但是忽略大小写差别

截取字符串

s.substring(4,10)					//截取字符串函数,包含第4位,不含第10位
s.charAt(0)							//截取下标为0的字符
====================================================================================================
//从字符串下标为4的字符开始到下标为9的字符结束截取字符串到字符数组,第四个是目标数组偏移量
Str1.getChars(4, 10, Str2, 0);

String Str1 = new String("abcdefghijklmn");
char[] Str2 = new char[6];
Str1.getChars(4, 10, Str2, 0);
System.out.println(Str2);		//efghij
====================================================================================================
String[] s1 = s.split("@")			//根据分隔符@截取字符串,用字符串数组接收,()括号中参数为正则表达式

. $ ) ( * + [ ? \ ^ { | 以上十二个特殊字符不能直接使用,要在前面添加\\
String s1 = new String("aa.bb.cc");
String[] s2 = s1.split(".");
for (String s:s2) 
	System.out.println(s);			//没有输出
String[] s3 = s1.split("\\.");
for (String s:s3) 
	System.out.println(s);			//输出aa换行bb换行cc

字符串和字符数组的转换

char[] c = s.toCharArray();		//字符串转换为字符数组
s.valueOf(c)     				//字符数组转换为字符串,c是字符数组

在尾端拼接字符串形成新字符串

s3 = s1.concat(s2)				
s3 = s1+s2;						//结果和上面一样

去掉字符串首尾空格

s.trim()

字符串大小写转换

s.toLowerCase()		//转换为小写
s.toUpperCase() 	//转换为大写

获取字符串长度

s.length()

查找字符或者子串出现的位置

indexOf('a')			//查找字符或者子串第一次出现的地方,返回对应下标,没有返回-1
lastIndexOf("abc")		//查找字符或者子串是后一次出现的地方,返回对应下标,没有返回-1

格式化字符串

String.format("a:%c",'a').sout;		//输出a:a,类似C语言的输出方法

StringBuffer

StringBuffer构造函数:

StringBuffer()
StringBuffer(int size)
StringBuffer(String str)
StringBuffer(CharSequence chars)

转换为字符串

sb.toString();

获取长度

sb.length();

颠倒StringBuffer对象中的字符

StringBuffer reverse()

截取子串

String substring(int startIndex)
String substring(int startIndex,int endIndex)

获得某个字符

char charAt(int where)

替换某个字符

void setCharAt(int where,char ch)

截取某段字符串到字符数组

void getChars(int sourceStart,int sourceEnd,char target[],int targetStart)
sb.getChars(0,3,a,0);			//截取下标为0-2的字符串到字符数组a中,数组偏移量为0

追加字符串

append()		//追加字符串到stringbuff对象末尾

插入字符串

insert()
StringBuffer insert(int index,String str)
StringBuffer insert(int index,char ch)		
StringBuffer insert(int index,Object obj)	//index指定将字符串插入到StringBuffer对象中的位置的下标。

删除字符段

StringBuffer delete(0,4)				//删除下标为0-3的字符
StringBuffer deleteCharAt(5)      		//删除下标为5的字符

替换

StringBuffer replace(0,2,"abc")		//将下标为0-2的字符串替换为abc

猜你喜欢

转载自blog.csdn.net/xxmuq/article/details/113284307