基本类型包装类
Integer类
package IT05.基本类型包装类.Demo01;
public class IntegerDemo2 {
public static void main(String[] args) {
/*以下注释部分已过时,但是仍然可以使用
Integer i1 = new Integer(100);//已经过时,但是可以使用
System.out.println(i1);
Integer i2 = new Integer("100");//此处字符串是数字组成
System.out.println(i2);
*/
//注意一下两种区别
Integer i1= Integer.valueOf(100);
Integer i4= Integer.valueOf(00100);
System.out.println(i1);
Integer i2= Integer.valueOf("100");
Integer i3= Integer.valueOf("00100");
System.out.println(i2);
System.out.println(i3);
}
}
int和String的相互转换
package IT05.Integer包装类;
//int和String的相互转换
public class IntegerDemo3 {
public static void main(String[] args) {
//int转成String
int num = 100;
//方式1
String s1 = "" + num;//空串加上数字进行字符串连接变成字符串
System.out.println(s1);
//方式2
String s2 = String.valueOf(num);
System.out.println(s2);
//String转成int
String s = "1000";
//方式1
Integer i = Integer.valueOf(s);
int x = i.intValue();
System.out.println(x);
//方式2
int y = Integer.parseInt(s);
System.out.println(y);
}
}
练习
package IT05.Integer包装类;
import java.util.Arrays;
/*
有一个字符串“91 27 46 38 50”,实现最终输出从小到大排序
*/
public class IntegerTest {
public static void main(String[] args) {
String s = "91 27 46 38 50";
String[] strArray = s.split(" ");
int [] arr = new int[strArray.length];
for (int i=0;i<arr.length;i++){
arr[i]=Integer.parseInt(strArray[i]);
}
Arrays.sort(arr);
StringBuilder sb =new StringBuilder();
for (int i=0;i<arr.length;i++){
if (i==arr.length-1){
sb.append(arr[i]);
}else{
//sb.append(arr[i]+" ");
sb.append(arr[i]).append(" ");
}
}
String result = sb.toString();
System.out.println("result"+result);
}
}
自动装箱和拆箱
package IT05.自动装箱拆箱;
public class IntegerDemo {
public static void main(String[] args) {
//装箱:把基本数据类型转换为对应的包装类类型
Integer.valueOf(100);
Integer ii = 100;//自动装箱
//拆箱:把包装类类型转换为对应的基本数据类型
//ii = ii.intValue()+200;//ii.intvalue()这个动作叫做拆箱
ii += 200;//自动拆箱 i+200自动拆箱i = i + 200; 是自动装箱
System.out.println(ii);
Integer iii = null;//null调用intvalue();会是空指针会报错
if(iii!=null){
iii+=300;
}
}
}
日期类
Data类
package IT06.日期类;
/*
date类的两个构造方法
public Date()
分配一个 Date对象,并初始化它,以便它代表它被分配的时间,测量到最接近的毫秒。
public Date(long date)
分配一个 Date对象,并将其初始化为表示从标准基准时间(称为“时代”)即1970年1月1日00:00:00 GMT起的指定毫秒数。
GMT一般指世界时。世界时UT即格林尼治平太阳时间,是指格林尼治所在地的标准时间
*/
import java.util.Date;
public class DateDemo01 {
public static void main(String[] args) {
Date d1=new Date();
System.out.println(d1);
long date = 1000*60*60;
Date d2 = new Date(date);
System.out.println(d2);
/*
输出结果:
Sat Oct 16 17:14:29 CST 2021
Thu Jan 01 09:00:00 CST 1970
CST表示中国的标准时间
*/
}
}
package IT06.日期类;
import java.util.Date;
public class DateDemo02 {
public static void main(String[] args) {
Date d = new Date();
/*
public long getTime()返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒数。
结果
自1970年1月1日起,以此日期为准的00:00:00 GMT的毫秒数。
*/
System.out.println(d.getTime());
System.out.println(d.getTime()*1.0/1000/60/60/24/365+"年");
/*
public void setTime(long time)设置此 Date对象以表示1970年1月1日00:00:00 GMT之后的 time毫秒的时间点。
参数
time - 毫秒数。
*/
System.out.println(d);//输出当前时间
long time=1000*60*60;
d.setTime(time);
System.out.println(d);
}
}
SimpleDateFormat类
构造方法
package IT06.日期类;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo03 {
public static void main(String[] args) throws ParseException {
Date d= new Date();
SimpleDateFormat sdf = new SimpleDateFormat();
String format = sdf.format(d);//从Date到String
System.out.println(format);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String format1 = sdf1.format(d);//从Date到String
System.out.println(format1);
//从String到Date
String s = "2048/09/08 11:11:11";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date parse = sdf2.parse(s);
System.out.println(parse);
/*
public SimpleDateFormat()
构造一个SimpleDateFormat使用默认模式和日期格式符号
*/
/*
public SimpleDateFormat(String pattern)
构造一个SimpleDateFormat使用给定的模式和默认的日期格式符号
*/
/*
public final String format(Date date)
将日期格式化成日期/时间字符串。
*/
/*public Date parse(String source)
从给定字符串的开始解析文本以生成日期。*/
}
}
Calendar类(抽象类)
package IT06.Calendar类;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//System.out.println(c);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
int day = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+ day+"日");
}
}
package IT06.Calendar类;
import java.util.Calendar;
public class CalendarDemo2 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//System.out.println(c);
/* int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
int day = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+ day+"日");
*/
//三年前今天
/*c.add(Calendar.YEAR,-3);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
int day = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+ day+"日");
*/
//十年后的五天前
c.add(Calendar.YEAR,10);
c.add(Calendar.DATE,-5);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//月份是从0开始计数所以要加一
int day = c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+ day+"日");
c.set(2048,11,11);
int year1 = c.get(Calendar.YEAR);
int month1 = c.get(Calendar.MONTH);//月份是从0开始计数所以要加一
int day1 = c.get(Calendar.DATE);
System.out.println(year1+"年"+month1+"月"+ day1 +"日");
}
}
异常
异常处理1 (try…catch)
Throwable的成员方法
两种异常的区别
Throws处理异常