包装类
包装类(eg:Interger,Double,Float…)与基本数据类型
- 包装类是将基本数据类型封装成一个类,包含属性和方法
- 使用:
在使用过程中,会涉及到自动装箱和自动拆箱
装箱:将基本数据类型转换成包装类,如Interger.valueOf—将int类型变成Interger类型
拆箱:将包装类转换成基本数据类型,如i.intValue----将Interger转为int类型
public class IntegerDemo {
public static void main(String[] args) {
// int a = 10;
// Integer i = new Integer(10);
// //通过方法进行类型的转换
// Integer i2 = Integer.valueOf(a);
// int i3 = i.intValue();
// System.out.println(a == i);
// Float f1 = new Float(3.14);
// Double d1 = new Double(3.14);
// int i =100;
// Integer i1 = 100;
// Integer i2 = 100;
// Integer i3 = 200;
// Integer i4 = 200;
// System.out.println(i1==i2);
// System.out.println(i3==i4);
// Double d1 = 1.0;
// Double d2 = 1.0;
// Double d3 = 2.0;
// Double d4 = 2.0;
// System.out.println(d1==d2);
// System.out.println(d3==d4);
Integer i = 10;
int a = i;
System.out.println(a==i);//比较时会将interger自动拆箱
}
}
总结:
字符串
注意:常量池在1.7之后放置在了堆空间之中
字符串的使用:
1、创建
String str = “abc”;
String str2 = new String(“abc”);
两种方式都可以用,只不过第一种使用比较多
2、字符串的本质
字符串的本质是字符数组或者叫做字符序列char value[]
String类使用final修饰,不可以被继承
使用equals方法比较的是字符数组的每一个位置的值
String是一个不可变对象
StringBuffer类与StringBuilder类(可变字符串)
可变字符串
- StringBuffer:线程安全,效率低
- StringBuilder: 线程不安全,效率高
二者没有本质区别
线程安全关键字:synchronized 同步(加锁)
在工作中一般用到需要拼接字符串,用StringBuffer/StringBuilder
append方法:往里边追加字符串
时间处理相关类Date
Date date = new Date();
常用方法:date.getTime() 获取毫秒值
util包下Date的为父类
DateFormat 是SimpleDateFormat 父类
方法dateFormat将 Date类按照规范转换为字符串格式
方法parse 将字符串转换成对应的日期类
Calendar用于设置和获取日期/时间数据的特定部分,为GregorianCalendar的父类
package com.mashibing;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @author: 马士兵教育
* @create: 2019-09-07 20:14
*/
public class DateDemo {
public static void main(String[] args) throws ParseException {
Date date = new Date();
System.out.println(date);
System.out.println(date.getTime());
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将Date类按照规范转换为字符串格式
String str = dateFormat.format(date);
System.out.println(str);
//将字符串转换成对应的日期类
Date d1 = dateFormat.parse("2010-10-10 20:20:20");
System.out.println(d1);
//获取的是当前系统的时间
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
//设置指定时间的日历类
calendar.setTime(d1);
System.out.println(calendar);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
}
}
© 2020 GitHub, Inc.
Math类
public class MathDemo {
public static void main(String[] args) {
System.out.println(Math.abs(-1));
System.out.println(Math.sqrt(2));
System.out.println(Math.ceil(-3.14));//向上取整
System.out.println(Math.floor(-3.14));//向下取整
System.out.println(Math.pow(2,3));
}
}
枚举类
public enum EventEnum {
LAUNCH("launch"),PAGEVIEW("pageview"),EVENT("event");
EventEnum(String name){
this.name = name;
}
private String name;
public void show(){
System.out.println(this.name);
EventEnum[] ee = values();
for(int i = 0;i<ee.length;i++){
System.out.println(ee[i]);
}
}
}