Scanner
Scanner实现键盘输入,属于Java.lang包,不需要导包
Scanner sca = new Scanner(System.in);
int i =sca.nextInt();
//程序会停驻在 .nextInt();等待用户输入
- nextInt():等待输入一个int类型
- next():等待输入一个字符串
匿名对象?只能使用一次.因为只创建对象,并未赋予变量,不可使用,只能通过拆创建时调用一次
Random
import java.util.Random//导包
Random ran = new Random();//创建random对象
ran.nextint();//获取所有int类型范围的随机数
ran.nextint(33);//获取[0~33)的随机数
Object
所有类的根类
方法:
- equals():比较两个对象的地址
- tostring():对象的地址值
重写tostring方法
return “person{neme ="+name+" ,age = "+age+"}”
重写equals方法
Person p = (Person)obj;
return this.name.equals(p.name)&&this.age==p.age;
objects
- equals(a,b) 比较两个对象时,可以避免空指针异常
Date
毫秒值
:千分之一秒,表示特定瞬间。可以对时间和日期进行计算
日期转为毫秒:
- 0毫秒:1970年1月1日00:00:00
获取当前毫秒值
system.currentTimeMillis()
将毫秒值转为日期:
一天 =24 x 60 x60 =86400秒
构造
Date d = new Date
Date d =new Date(long)
-
空参:获取当前系统时间与日期——显示为英文
-
long参:传递毫秒值,将毫秒转为日期
成员方法
long getTime():将日期转为毫秒值==system.currentTimeMillis()
DateFormat
为一个接口
日期格式化
DateFormat df = new SimpleDateFormat(str);
str:y M d H m s——年月日时分秒——yyyy-MM-dd HH:mm:ss
成员方法
- format(date):按照指定格式,将date日期转为字符串
- parse( str):将字符串转为date日期
Calendar
为一个抽象类,有个一静态方法,getinstance(),创建calendar子类对象,返回calendar对象
成员方法
- int get(int):给日历类字段,可以用calendar静态成员变量
- void set(int,int)
- add(int,int):增加减少
- Date getTime()
calendar c =calendar.getinstance();
int year =c.get(Calendar.YEAR);
int mouth = c.get(Calendar.MONTH);
int date = C.get(Calendar.DATE);
c.set(Calendar.YEAR,9999);//将年设置为9999
c.set(2017,10,11);
c.add(Calendar.YEAR,2);//将年增加2
Arrays
java.util包下
与数组相关的工具类:
tostring(数组): 经参数数组变成字符串
sort(): 对数组排序,字符串使用首字符排序
idea使用数组.length.forr快捷键实现倒序遍历
String chars[] ={"whao","nihao","1whao"};
System.out.println(Arrays.toString(chars));
Arrays.sort(chars);
System.out.println(Arrays.toString(chars));
Math
obs(double) 获取绝对值
ceil(double) 向上取整
floor(double) 向下取整
不是四舍五入
round(double) 四舍五入
.PI:常量派
System.out.println(Math.abs(-21)); System.out.println(Math.ceil(3.34));
System.out.println(Math.floor(3.14)); System.out.println(Math.round(4.5));
21
4.0
3.0
5
String
- 双引号的字符串,也是string的对象
- 字符串的内容永不可变,字符串是可以共享使用的
构造: - public string();
- public string(char[] array)
- public string(byte[] array)
- 直接创造的字符串,在常量池中,相同的字符串在常量池中的地址相同
(基本数据类型的比较的是数值.引用类型的比较的是地址值)
常用方法
String str1 ="whao";
String str2 ="nihao";
String str3 ="nihaowanghao";
- equals(obj),对比两个字符串的内容是否相同,建议常量.equals(变量)
- equalsIgnoreCase();忽略大小写的对比
- length();字符串中长度
- concat(str);拼接字符串
String concat = str1.concat(str2);
whaonihao
- charAt(index);返回指定位置的字符
System.out.println(str1.charAt(1));
h
- indexOf(str);指定字符所在索引位置
System.out.println(str2.indexOf('i'));
1
- substring(index);从指定位置开始到结尾裁切字符串
System.out.println(str3.substring(3));
aowanghao
- substring(begin,end);从开始到结尾裁切字符串,结尾取不到
System.out.println(str3.substring(3,5));
ao
- 转换
- tochararray();将字符转为字符数组
- getbyte();将字符串转为字节数组
- replace(’’,’’);转为新的字符串
- 切割
- split(xxx),按照指定参数切割,参数是一个正则表达式
这些方法返回的字符串是一个新的字符串
static
static:
修饰成员变量:
如学生教室,是公共属性.一改都改
只在类中唯一一份,所有类对象共享此属性。推荐类.的方式来调用
修饰方法:静态方法,此方法属于类,不属于对象。就不必创建对象使用方法,而使用类.的方式来使用
对于本类的静态方法,可以省略类名称
成员方法可以访问成员变量
成员方法可以访问静态变量
静态方法可以访问静态变量
静态方法不可以访问成员变量——因为static是先进入内存的
静态方法中不可以使用this关键字
静态代码块——第一次用到本类时,静态代码块执行唯一一次。静态内容优先非静态,静态代码块先执行
:一次性的对静态变量进行赋值
public class 类名{
static{
静态代码块内容
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wkv2sFfk-1641801189549)(D:\截图\Snipaste_2022-01-04_11-27-53.png)]