1 常见API- Math
- 不能创建Math类对象,因为构造方法被private修饰
- (public修饰的构造方法在任何地方都可以被触发,而private修饰的构造方法只能在当前类中触发)
- Math类中所有的成员都是类成员, 使用时直接使用类名点访问,详见原代码或帮助文档。(类方成员都可以使用staitc访问)
- 最常用的方法只有一个public static double random(); 该类方法返回大于或等于0.0D, 小于1.0之间的随机数。
public class Test {
public static void main(String[] args) {
System.out.println( Math.floor(3.6));//3.0向下取整
System.out.println(Math.ceil(3.2));//4.0向上取整
// 将数+0.5,去小于等于这个数的整数
System.out.println(Math.round(11.4));//11 11.9
System.out.println(Math.round(11.5));//12 12.0
System.out.println(Math.round(-11.4));//-11 -10.9
System.out.println(Math.round(-11.5));//-11 -11
}
}
2常见API- Random
- 用于取得随机值
- 示例:创建Random对象,得到随机boolean值,得到随机整数,得到大于等0,小于10的整数。
public static void m1() {
Random random = new Random();
boolean r1 = random.nextBoolean();//得到随机的boolean值
int r2 = random.nextInt();//得到随机整数
int r3 = random.nextInt(10);//得到随机整数,但是r3>=0 && r3<10
}
3常见API- System
- System.out.println()
- System类中有public final static PrintStream out = nullPrintStream();
- PrintStream为中有很多重载的println()方法
- System.out.print()与前面类似,只是不换行
- System.exit(0);退出程序
- System.currentTimeMillis(); 返回从1970年1月1号0点0分0秒0毫秒到现在为至
4 String常用方法
1 知识点说明
String s = "abcdefg";
String s1 = "ABCDEFG";
System.out.println(s.charAt(2));//c 获取下标为2的字符
System.out.println(s.concat("123"));//abcdefg123 将字符串123拼接到字符串s后面,s不变
System.out.println(s.contains("bcd"));//true s字符串中是否包含字符串bcd,如果包含返回true,否则返回false
System.out.println(s.contains("bd"));//false
System.out.println(s.endsWith("def"));//false s字符串是否以def结尾,如果是返回true,否false
System.out.println(s.endsWith("defg"));//true s字符串是否以def结尾,如果是返回true,否false
System.out.println(s.startsWith("abb"));//false
System.out.println(s.equals(s1));//false 比较s和s1中内容是否相等
System.out.println(s.equalsIgnoreCase(s1));//true 比较s和s1中内容是否相等,忽略大小写
System.out.println(s.indexOf("bcd"));//1 bcd在字符串s中首次出现的下标位置,如果bcd不在字符串s中返回-1
System.out.println(s.indexOf("bd"));//-1
String s2 = "abcbcdefgbc";
System.out.println(s.indexOf("bc"));//1
int i1 = s2.indexOf("bc");
System.out.println(s2.indexOf("bc",i1+1));//3 从第一次出现bc的位置+1往后开始查找出现bc的下标位置,也就是第二次出现bc的下标位置
//s2.indexOf("bc", s2.indexOf("bc", s2.indexOf("bc")+1)+1);//第三次出现
System.out.println(s2.lastIndexOf("bc"));//9 s2中最后一次出现bc的下标
System.out.println(s.replace("bc", "23"));//a23defg 将s中所有bc字符串替换成字符串23.s不变
System.out.println(s.substring(1));//bcdefg 截取字符串,从下标1开始(包含)截取到最后
System.out.println(s.substring(1, 4));//bcd 截取字符串【start,en)开始下标包含,结束下标不包含
System.out.println(s.toCharArray()[1]);//将字符串转换成字符数组,每个字符都是数组中一个元素
System.out.println(s.toUpperCase());//ABCDEFG 转换成大写
System.out.println(s1.toLowerCase());//abcdefg 转换成小写
String s3 = " a b c ";
System.out.println(s3);
System.out.println(s3.trim());//去掉前后空格,中间空格不能去掉
System.out.println("=========================");
String s4 = "hello,world,jane,frank,tom,joan";
String[] sArr = s4.split(",");//按照参数逗号将字符串分割成数组
for (String string : sArr) {
System.out.println(string);
}
5 Date和Calendar
- Date对象用于封装时间
- 使用当前时间初始化新建的Date对象
- Date()
- 使用用指定时间初始化新建的Date对角
- Date(int year, int month, int date)
- Date(int year, int month, int date, int hrs, int min)
- Date(int year, int month, int date, int hrs, int min, int sec)
- Date(long date)
- Date(String s)
Date date = new Date();
System.out.println(date.getDate());//日期几号
System.out.println(date.getDay());//星期几
System.out.println(date.getHours());//时间几点
System.out.println(date.getMinutes());//时间几分
System.out.println(date.getMonth());//日期几月(0+1)月 ,月份从0月开始计算
System.out.println(date.getSeconds());//23秒
System.out.println(date.getTime());//与System.currentTimeMillis()作用相同
System.out.println(date.getYear());//(116+1900)年 ,加上1900年就是现在多少年
- Calendar也是用于操作时间,大部分情况下使用Calendar替换Date
- Calendar的创建
- Calendar calendar = Calendar.getInstance();
- 得到时间
- int year = calendar.get(Calendar.YEAR);// 显示年份
- int month = calendar.get(Calendar.MONTH);// 显示月份 (从0开始, 实际显示要加一)
- int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);// 今年的第 N 天
- int day_of_month = calendar.get(Calendar.DAY_OF_MONTH);// 本月第 N 天
- int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY);//几点
- int minute = calendar.get(Calendar.MINUTE);// 当前分钟数
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);// 显示年份
System.out.println(year);
int month = calendar.get(Calendar.MONTH);// 显示月份 (从0开始, 实际显示要加一)
System.out.println(month);
int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);// 今年的第 N 天
System.out.println(day_of_year);
int day_of_month = calendar.get(Calendar.DAY_OF_MONTH);// 本月第 N 天
System.out.println(day_of_month);
int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY);//几点
System.out.println(hour_of_day);
int minute = calendar.get(Calendar.MINUTE);// 当前分钟数
System.out.println(minute);
6 SimpleDateFormat
- 可以对Date对象格式化后得到格式规定的字符串时间表示
- 1)yyyy表示 年
- 2)dd表示 日
- 3)hh表示 时 HH代表24小时制,hh代表12小时制
- 4)ss表示 秒
- 5) MM代表月份,mm代表分钟
Date d = new Date();
System.out.println(d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String dstr = sdf.format(d);
System.out.println(dstr);