常用类
一、StringBuffer类
StringBuffer append(String str)
将指定的字符串附加到此字符序列。
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("张三");
stringBuffer.append("李四");
System.out.println(stringBuffer);//张三李四
StringBuffer insert(int offset, String str)
将字符串插入到此字符序列中。
stringBuffer.insert(1,"王五");
System.out.println(stringBuffer);//张王五三李四
StringBuffer reverse()
导致该字符序列被序列的相反代替。
stringBuffer.reverse();
System.out.println(stringBuffer);//四李三五王张
StringBuffer delete(int start, int end)
删除此序列的子字符串中的字符。
stringBuffer.delete(1,3);
System.out.println(stringBuffer);//四五王张
//删除时,要头不要尾
二、枚举类(enum)
Java中定义枚举类的时候的语法格式:
public enum 枚举类名 {
//下面写常量,常量之间使用逗号隔开
常量,一般都是大写的 没有任何数据类型的!!!
}
int ordinal()
返回此枚举常数的序数(其枚举声明中的位置,其中初始常数的序数为零)。
enum Color{
RED, GREEN, BLUE
}
public class Demo2 {
public static void main(String[] args) {
Color[] values = Color.values();
for (Color value : values) {
System.out.println(value + "对应的索引:" + value.ordinal());
} //RED对应的索引:0
//GREEN对应的索引:1
//BLUE对应的索引:2
}
}
static <T extends Enum<T>>
valueOf(类<T> enumType, String name)
返回具有指定名称的指定枚举类型的枚举常量。
Color red = Color.valueOf("RED");
System.out.println(red);//RED
三、包装类
八大基本数据类型对应的包装类
基本数据类型---------->包装类
int------------------------>Intege
byte---------------------->Byte
short--------------------->Short
long---------------------->Long
float---------------------->Float
double------------------>Double
boolean---------------->Boolean
char--------------------->Character
自从JDK1.5之后,有拆箱和装箱
自动装箱:将基本数据类型转为包装类
自动拆箱:将包装类转为基本数据类型
static int MAX_VALUE
一个持有最大值一个 int可以有2 31 -1。
System.out.println(Integer.MAX_VALUE);//2147483647
static int MIN_VALUE
常量保持的最小值的 int可以具有,-2 31。
System.out.println(Integer.MIN_VALUE);//-2147483648
int intValue()
将 Integer的值作为 int 。
Integer i = 520;
int i1 = i.intValue();
System.out.println(i1);//520
String toString()
将基本数据类型转为字符串
int x = 45;
String str = Integer.toString(x);
System.out.println(str);//"45"
static Integer valueOf()
将基本数据类型转为包装类类似手动装箱
int a = 34;//基本数据类型
Integer integer = Integer.valueOf(a);
System.out.println(integer);//34 包装类
四、Math类
Math
类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。
static double E
double值比其他任何一个都更接近 e ,自然对数的基数。
System.out.println(Math.E);//2.718281828459045
static double PI
double值比任何其他的更接近 pi ,圆周长与其直径的比率。
System.out.println(Math.PI);//3.141592653589793
static int abs(int a)
返回值为 int绝对值。
int a = -34;
System.out.println(Math.abs(a));//34
static int max(int a, int b)
返回两个 int值中的较大值。
System.out.println(Math.max(34,87));//87
static int min(int a, int b)
返回两个 int的较小值。
System.out.println(Math.min(65,34));//34
static double ceil(double a)
向上取整
System.out.println(Math.ceil(32.4));//33.0
static double floor(double a)
向下取整
System.out.println(Math.floor(54.7));//54.0
static int round(float a)
四舍五入
System.out.println(Math.round(45.5));//46
static double random()
返回值为 double值为正号,大于等于 0.0 ,小于 1.0 。
System.out.println(Math.random());
//随机1-100之间的整数int 0.45 * 100=45 int
int x = (int)(Math.random() * 100);
System.out.println(x);
五、Random类
int nextInt()
返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
Random random = new Random();
System.out.println(random.nextDouble());
int nextInt(int bound)
返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。
System.out.println(random.nextInt(100));
六、System类
static PrintStream out
“标准”输出流。
PrintStream out = System.out;//是一个流 PrintStream 打印流
out.println("张三");
System.out.println("张三");//标准输出流打印的东西
static PrintStream err
“标准”错误输出流。
System.err.println("李四");//错误输出流打印的东西
static InputStream in
“标准”输入流。
new Scanner(System.in);//输入流
static long currentTimeMillis()
返回当前时间(以毫秒为单位)。
// 在1970年1月1日UTC之间的当前时间和午夜之间的差异,以毫秒为单位
long l = System.currentTimeMillis();
System.out.println(l);//1660043252210
//2022年到1970年 是不是52
System.out.println(l/1000/60/60/24/365);//52
static Properties getProperties()
确定当前的系统属性。
Properties properties = System.getProperties();
System.out.println(properties.get("os.name"));
System.out.println(properties.get("os.version"));
System.out.println(properties.get("user.name"));
System.out.println(properties.get("user.dir"));
System.out.println(properties.get("java.version"));
七、Runtime类
Process exec(String command)
在单独的进程中执行指定的字符串命令。
Runtime runtime = Runtime.getRuntime();
runtime.exec("软件的详细位置及名称");
long maxMemory()
返回Java虚拟机将尝试使用的最大内存量。
System.out.println(runtime.maxMemory()/1024/1024);//MB
long freeMemory()
返回Java虚拟机中的可用内存量。
System.out.println(runtime.freeMemory()/1024/1024);//MB
long totalMemory()
返回Java虚拟机中的内存总量。
System.out.println(runtime.totalMemory()/1024/1024);//MB
八、Date类
在类的所有方法Date
接受或返回年,月,日,小时,分钟和秒值,以下表述中使用:
- y年代表整数y
- 1900
。 - 一个月由0到11的整数表示; 0是1月,1是2月,等等; 11月12日。
- 日期(月的一天)以通常的方式从1到31的整数表示。
- 一小时由0到23之间的整数表示。因此,从午夜到凌晨1点的时间是小时0,从中午到下午1点的小时是12小时。
- 一般以0〜59的整数表示。
- 第二个由0到61的整数表示; 值60和61仅发生在闰秒上,甚至仅在实际上正确跟踪闰秒的Java实现中发生。 由于目前引入闰秒的方式,在同一分钟内不会发生两个闰秒,但是本规范遵循ISO C的日期和时间约定。
Date()
分配一个 Date对象,并初始化它,以便它代表它被分配的时间,测量到最近的毫秒。
Date date = new Date();
System.out.println(date);//Tue Aug 09 19:22:42 CST 2022
//获取年份 这个年份是减去1900以后的值,所以得加上1900
System.out.println(date.getYear() + 1900);
//获取月份 月份的加上1
System.out.println(date.getMonth() + 1);
//获取周几
System.out.println(date.getDay());
//获取小时
System.out.println(date.getHours());
//获取分钟
System.out.println(date.getMinutes());
//获取秒
System.out.println(date.getSeconds());
九、Calendar类
现在国际通用的是Calendar类
static int YEAR
get现场编号和 set表示年份。
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));//获取当前的年份
static int MONTH
get和 set字段号表示月份。
System.out.println(calendar.get(calendar.MONTH)+1);//获取月份
static int DAY_OF_MONTH
get字段编号和 set本月的日期。 System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//获取当月的第几天
static int DAY_OF_WEEK
get字段编号和 set表示一周中的日期。 System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//获取这周的第几天 周日是第1天
static int DAY_OF_YEAR
get和 set字段编号, set本年度的日数。 System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//获取这一年的第几天
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
Date time = calendar.getTime();
System.out.println(time);
//Tue Aug 09 19:41:45 CST 2022
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = simpleDateFormat.format(time);
System.out.println(format);
//yyyy-MM-dd HH:mm:ss
//年-月-天 时:分:秒