JAVA API
API(Application Programming Interface)
Scanner(键盘输入)
获取键盘输入的int数字
Scanner scanner = new Scanner(); int num = scanner.nextInt();
获取键盘输入的字符串
String str = scanner.next();
Random(产生随机数字)
获取一个随机的int数字
Random r = new Random(); int num = r.nextInt();
获取指定范围的随机数
int num = r.nextInt(3);
实际上代表的含义时:[0,3) 0-2
如果你想生成的数字从1开始
int num = r.nextInt(n)+1; 实际上时[1,n]
ArrayList(集合数组)
ArrayList<E> list = new ArrayList<>(); <E>代表泛型,即什么数据类型(必须时引用类型,不能是基本类型) 可以为对象
ArrayList中如何想使用基本类型那必须使用基本类型对应的“包装类”
byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean
向集合中添加元素
list.add();
获取集合中的元素(get 索引值从0开始)
list.get(n);
获取集合的长度也就是其中元素的个数
list.size();
删除集合当中的元素(remove 索引值从0开始)
list.remove(n);
修改集合当中的元素(set索引值从0开始)
list.set(1,"hello");
equals 与 == 的区别
1.对于==
作用于基本数据类型的变量,比较的存储的值是否相等,
作用于引用类型的变量,比较的是其所指向的对象的地址是否相同(即是否是同一个对象)
2.对于equals
Object的equals方法用来比较两个对象的是否相同(即是否是同一个对象)
-
若某个类没有覆盖equals()方法,当它的通过equals()比较两个对象时,实际上是比较两个对象是不是同一个对象。这时,等价于通过“==”去比较这两个对象。
-
我们可以覆盖类的equals()方法,来让equals()通过其它方式比较两个对象是否相等。通常的做法是:若两个对象的内容相等,则equals()方法返回true;否则,返回fasle。
String的equals方法继承自java中的超级父类Object,但是String的equals方法不仅是简单的继承,而是对方法进行了重写,该方法用来比较两个String对象所存储的字符序列值是否相等。
System类
System类包含一些游泳的类字段和方法。他不能被实例化
static void arraycopy(Object src , int srcPos, Object dest , int destPos , int length)
private static void method() { int[] src = {1,2,3,4,5}; int[] dest = new int[5]; System.arraycopy(src,2,dest,0,5); for (int i = 0; i < dest.length; i++) { System.out.print(dest[i]); } }
复制数组
参数1:源数组
参数2:源数组的起始索引位置
参数3:目标数组
参数4:目标数组的起始索引位置
参数5:指定接受的元素个数
static long currentTimeMillis(): 以毫秒值返回当前系统时间(这个毫秒的时间是相对时间,相对于1970-1-1 00:00:00: 0)
private static void timemethod() { long start = System.currentTimeMillis(); for (int i = 0; i < 100000; i++) { System.out.println(i); } long end = System.currentTimeMillis(); System.out.println(end - start); }
static void exit(int status):终止虚拟机 通常参数 0 为正常状态
private static void exitmethod() { for (int i = 0; i < 100000; i++) { System.out.println(i); if (i == 100){ System.exit(0); } } }
Date类(java.util.Date)
Date : 表示指定的瞬间,精确到毫秒,可以通过来设定自己所表示的时间,可以表示任意时间
Date date = new Date(); System.out.println(date); Fri Aug 16 13:11:12 CST 2019
常用方法:
毫秒值 - - - - - Date:设置 void setTime(long time)
Date - - - - - 毫秒值:获取 long getTime()
SimpleDateFormat
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。
我们通过这个类可以帮我们完成日期和文本之间的转换。
格式化: Date - - - - - String : String format(Date date)
解析: String - - - - - - Date : Date parse(String source)
public static void main(String[] args) { SimpleDateFormat s = new SimpleDateFormat(); Date d = new Date(); System.out.println(s.format(d)); } 2019/8/16 下午1:24
public static void main(String[] args) throws ParseException { SimpleDateFormat s = new SimpleDateFormat(); Date d = s.parse("2019/8/16 下午1:24"); System.out.println(d.toLocaleString()); }
2019年8月16日 下午1:24:00
注意:解析的字符串 , 模式必须和构建对象的模式一样
使用指定模式进行对象的构建
public static void main(String[] args) throws ParseException { SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date d = new Date(); System.out.println(s.format(d)); }
2019年08月16日 13:33:38
yyyy : 年 MM : 月 dd : 日 HH : 小时 mm : 分钟 ss :秒
Calendar
Calendar : 日历,提供了一些操作年月日时的方法
创建一个代表当前系统日期的Calendar 对象
Calendar c = Calendar.getInstance();
获取年月日
public static void main(String[] args) { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH )+1; int day = c.get(Calendar.DAY_OF_MONTH); System.out.println(year +"-"+month +"-"+ day ); }
修改与添加
c.set(Calendar.DAY_OF_MONTH,20);
c.add(Calendar.DAY_OF_MONTH,1);
注意:Calender的月份是从0开始的,但日期和年份是从1开始的