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