常用API中的类
scanner()类
//Scanner类是一个解析基本类型和字符串的简单文本扫描器
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
//System.in 系统输入,指的是键盘录入数据
Random类
Random r = new Random();
int i = r.nextInt(5);//得到一个随机数,范围在0-5,不包括5
int i = r.nextInt(5)+1;//得到一个随机数,范围在0-5,包括5
创建一个random对象,每次调用nextint()方法,都会生成一个随机数
猜数字小游戏
package com.itheima.demo.demo2;
import java.util.Random;
import java.util.Scanner;
//随机生成一个1-100之间的数字,玩家猜测的数字与产生的这个随机数进行比较
public class Test4 {
public static void main(String[] args) {
Random r = new Random();
int num = r.nextInt(100) + 1;
while (true) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个0-100之间的整数");
int guessnum = sc.nextInt();
if (guessnum > num) {
System.out.println("您猜大了");
} else if (guessnum < num) {
System.out.println("您猜小了");
} else {
System.out.println("恭喜您猜对了");
break;
}
}
}
}
ArrayList
对于元素的操作基本体现在-----增删查
Char 对应的包装类是Character
int 对应的包装类是Integer
ArrayList<E> list = new ArrayList<>();
list.add(E e);//增加元素:将指定的元素添加到这个集合的尾部
list.remove( int index);//移除此集合中指定位置上的元素,返回的是被删除的元素
list.get()//获取此集合中指定位置的元素
list.size();//返回此集合中的元素个数,遍历集合时,可以控制索引范围,防止越界
集合嵌套集合
package com.itheima.demo.demo2;
import java.util.ArrayList;
import java.util.Random;
//定义获取所有偶数元素集合的方法
public class Test5 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int i1 = r.nextInt(100);
list.add(i1);
}
oushulist(list);
}
private static void oushulist(ArrayList<Integer> list) {
ArrayList<Integer> oushulist = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Integer num = list.get(i);
if(num%2==0){
oushulist.add(num);
}
System.out.println(oushulist);
}
}
}
Object类
java.lang.Object`类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。
如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:
public class MyClass /*extends Object*/ {
// ...
}
根据IDBK源代码及Object类的API文档,Object类当中包含的方法有11个。
这里主要总结两个
- public String toString()`:返回该对象的字符串表示。
public boolean equals(Object obj)
:指示其他某个对象是否与此对象“相等”。
toString 方法
public String toString():返回该对象的字符串表示。
toString 方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
覆盖重写
如果不希望使用tostring 方法的默认行为,则可以对它进行覆盖重写。例如:自定义的Person类。
在IDEA中,可以点击Code菜单中的Generate…也可使用快捷键alt+insert,点击toString() 选项,选择需要包含的成员 变量并确定。
equals方法
public boolean equals(Object obj):指示其他某个对象是否与此对象"相等"。调用成员方法equals并指定参数为另一个对象,则可以判断这两个对象是否是相同的。这里的“相同”有默认和自定义两种方式。
默认地址的比较
如果没有覆盖重写equals方法,那么Object类中默认进行==
运算符的对象地址比较,只要不是同一个对象,结果必然为false。
对象内容比较
如果希望进行对象的内容比较,即所有或指定的部分成员变量相同就判定两个对象相同,则覆盖重写的equals方法;
可以使用Code
菜单中的Generate…
选项,也可以使用快捷键alt+insert
,并选择equals() and hashCode()
进行自动代码生成
日期时间类
Date类
java.util.Date`类 表示特定的瞬间,精确到毫秒。
public Date()`:分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
public Date(long date)`:分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
由于我们处在东八区,所以我们的基准时间为1970年1月1日8时0分0秒
在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。
常用方法:
Date类中的多数方法已经过时,常用的方法有:
public long getTime() 把日期对象转换成对应的毫秒值。
DateFormat类
java.text.DateFormat` 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
格式化:按照指定的格式,从Date对象转换成String 对象。
解析:按照指定的格式,从String对象转换成Date对象。
构造方法
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat
。这个类需要一个模式(格式)来指定格式化或解析的标准。
DateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);构造方法为:
public SimpleDateFormat(String pattern)
:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
常用方法
DateFormat类的常用方法有:
public String format(Date date):将Date对象格式化为字符串。
public Date parse(String source):将字符串解析为Date对象
`:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
参数pattern是一个字符串,代表日期时间的自定义格式。
常用方法
DateFormat类的常用方法有:
public String format(Date date):将Date对象格式化为字符串。
public Date parse(String source):将字符串解析为Date对象