字符串 String
是一个不可变的字符串。
StringBuffer:
StringBuilder:
package com.huadian.test0325;
public class StringTest {
public static void main(String[] args) {
String str="abcbc";
System.out.println(str.hashCode());
System.out.println("长度:"+str.length());
System.out.println("查找:"+str.indexOf("a"));
System.out.println("取值"+str.charAt(1));
System.out.println("比较是否相等"+str.equals("abc"));
System.out.println("替换"+str.replace("b","dd"));
//分割
String[] item = str.split("");
for (String item1:item
) {
System.out.println(item1);
}
System.out.println("子字符串"+str.substring(1,3));
System.out.println("去除2端空格"+str.trim());
System.out.println("格式化" +String.format("%sddd%d","abc",55));
System.out.println("-------------------华丽的分割线———————————");
System.out.println("同步"+"synchronize");
StringBuffer sb=new StringBuffer();
sb.append("a");
System.out.println(sb);
sb.append(1);
sb.append(2);
sb.append("dd");
System.out.println("末尾添加"+sb);
sb.insert(0,11);
System.out.println("在 x 插入"+sb);
sb.deleteCharAt(2);
System.out.println("删除x位置"+sb);
sb.delete(1,2);
System.out.println("删除x1到x2的元素"+sb);
sb.replace(1,3,"ab");
System.out.println("替换start到end的元素"+sb);
sb.setCharAt(0,'a');
System.out.println("将x位置的元素设置成"+sb);
System.out.println("反转"+sb.reverse());
}
}
Arrays
构造器是私有,不能new对象,
里头所有的方法都是静态的,访问:Array.XXXs
package com.huadian.test0325;
import java.util.Arrays;
import java.util.Comparator;
public class ArraysTest {
public static void main(String[] args) {
int [] a={55,22,99,77,66,11};
System.out.println(Arrays.toString(a));
Arrays.sort(a);
System.out.println("排序"+Arrays.toString(a));
int index =Arrays.binarySearch(a,66);
System.out.println("二分查找"+index);
int []b;
b= Arrays.copyOf(a,15);
b[13]=1;
System.out.println("复制"+Arrays.toString(b));
b=Arrays.copyOfRange(a,0,1);
System.out.println("form 到to 的范围复制"+Arrays.toString(b));
b=Arrays.copyOf(a,15);
Arrays.fill(b,1);
System.out.println("填充值"+Arrays.toString(b));
Integer[] c={55,22,99,77,66,11};
/***
* 返回-1 交换位置
* i1-i2 >0 return -1 降序
* i1-i2<0 return -1 升序
*/
Arrays.sort(c, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
int i1=o1.intValue()/10+o1.intValue()%10;
int i2=o2.intValue()/10+o2.intValue()%10;
if (i1-i2==0)
return 0;
else if (i1-i2<0)
return 1;
return -1;
}
});
System.out.println(Arrays.toString(c));
}
}
Math
数学函数,
所有的方法都是静态的
abs,ceil,floor,round,max,min,exp,log,pow,sqrt,random,三角函数
案例:掷骰子
package com.huadian.test0325;
public class MathTest {
public static void main(String[] args) {
System.out.println("abs绝对值"+Math.abs(1-2));
System.out.println("ceil 向上取整"+Math.ceil(1.2));
System.out.println("round 向下取整"+Math.round(1.8));
System.out.println("max取最大值"+Math.max(1,8.8));
System.out.println("min取最小值"+Math.min(1,8.8));
System.out.println("exp e为底数的指数函数"+Math.exp(1));
System.out.println("log 对数 函数 "+Math.log(2));
System.out.println("pow x的y次方"+Math.pow(2,3));
System.out.println("sqrt x的开方" +Math.sqrt(2));
System.out.println("x的开n 1/3次方"+Math.pow(2,(double)1/3));
//sin cos tan
System.out.println("sin="+Math.sin(Math.PI/2));
System.out.println("asin=Math.PI/2"+Math.asin(1));
System.out.println(Math.sinh(Math.PI/2));
System.out.println(Math.tan(Math.PI/4));
}
}
Date Calendar SimpleDateFormat
(线程不安全)
package com.huadian.test0325;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Date date=new Date();//创建当前时间
System.out.println("当前时间"+date);
long time=date.getTime();
System.out.println("时间戳"+time);//时间戳:1970-1-1到现在的毫秒数
time+=24*60*60*1000;//一天的毫秒数
Date date1=new Date(time);
System.out.println("明天"+date1);
System.out.println("计算机时间起点"+new Date(0));
//因为用32位来表示时间的最大间隔是68年,
// 而最早出现的UNIX操作系统考虑到计算机产生的年代和应用的时限
// 综合取了1970年1月1日作为UNIX TIME的纪元时间(开始时间),
// 而java自然也遵循了这一约束。
System.out.println("———————华丽的分隔线——————————");
Calendar calendar=Calendar.getInstance();
System.out.println(calendar);
System.out.println("日历时间"+calendar.getTime());
System.out.println("日历时间:年"+calendar.get(Calendar.YEAR));
//第一个月是JANUARY ,值为0 ,结果加1
System.out.println("日历时间:一月的值为0 所以结果要加1:"+(calendar.get(Calendar.MONTH)+1));
//第一天为SUNDAY周日,值为1 ,结果减1
System.out.println("日历时间:从周日开始 所以结果要加1:"+ (calendar.get(Calendar.DAY_OF_WEEK)-1));
System.out.println("日历时间:一月的第x天"+calendar.get(Calendar.DAY_OF_MONTH));
calendar.set(Calendar.YEAR,2020);
System.out.println("日历时间:set 函数 年份改为"+calendar.get(Calendar.YEAR));
calendar.add(Calendar.MONTH,-1);
System.out.println("日历时间:add函数 当前月份+x"+calendar.get(Calendar.MONTH));
System.out.println("——————————华丽的分隔线——————————");
Date date2=new Date();
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd hh :mm :ss");
String date_str=sdf1.format(date2);//格式化
System.out.println(date_str);
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd hh :mm :ss");
try {
Date date3=sdf2.parse(date_str); //解析 注意sdf2 和sdf1 的pattern(模式)相同
System.out.println(date3);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
LocalDate
https://blog.youkuaiyun.com/weixin_39723544/article/details/80091100