基本类型包装
需求,有一个字符串“91 27 46 38 50 ,最终输出结果是 27 38 46 50 91
思路: 1. 定义一个字符串
-
把字符串的数字储存到一个int类型数组中
-
得到字符串中每一个数字数据.
public String[] split(String regex)
-
对int数组进行排序
-
把排序后的int数组元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
-
输出结果
package Demo18;
import java.util.Arrays;
public class Demo18 {
public static void main(String[] args) {
String s = "91 27 46 38 50";
//定义一个数组,把String[]中的每一个元素存储到int数组中
String[] strArray = s.split(" ");
int [] arr = new int[strArray.length];
for (int i = 0; i <arr.length ; i++) {
arr[i]= Integer.parseInt(strArray[i]);//把字符串数据转换成int数据
}
//对int进行排序
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]).append(" ");
}
}
String s1 = sb.toString();
System.out.println("result:"+s1);
}
}
基本数据类型包装类
-
装箱:把基本数据类型转换为对应包装类型
-
拆箱:把包装类类型转换为对应的基本数据类型
package Demo18; import java.util.Arrays; public class Demo18 { public static void main(String[] args) { Integer i = Integer.valueOf(100);//装箱 Integer ii=100;//Integer.valueof(100),自动装箱 //拆箱 ii += 200;//隐藏了ii = ii.intValue()+200,自动拆箱了后自动装箱 //ii = ii.intValue()+200;//拆箱 System.out.println(ii); } }
Integer i = 100;//自动装箱
i+=200;//i= i+200;i+200 自动拆箱;i=i+200;是自动装箱
- 在使用包装类型的时候,最好先进行是否是null的判断
Data
方法名 | 说明 |
---|---|
public Date() | 分配一个Data对象,并初始化,以便它代表它被分配的时间,精确到毫秒 |
public Date(long date) | 分配一个Data对象,并将其初始化表示为从标准时间起指定的毫秒数 |
package Demo18;
import java.util.Arrays;
import java.util.Date;
public class Demo18 {
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);
}
}
Mon Jun 07 21:15:35 CST 2021
Thu Jan 01 09:00:00 CST 1970
方法名 | 说明 |
---|---|
public long getTime() | 获取的是日期对象从1970年月1日0:00:00到现在的毫米值 |
public void setTime(long Time) | 设置时间,给的是毫秒值 |
package Demo18;
import java.util.Arrays;
import java.util.Date;
public class Demo18 {
public static void main(String[] args) {
Date D1 = new Date();
System.out.println(D1.getTime()*1.0/1000/60/60/24/365+"年");
// long time = 1000*60*60;//Thu Jan 01 09:00:00 CST 1970
long time = System.currentTimeMillis();//显示的是当前时间,Mon Jun 07 21:24:29 CST 2021
Date d2 = new Date();
d2.setTime(time);
System.out.println(d2);
}
}
日期类
SimpleDateFormat类
方法名 | 说明 |
---|---|
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认HOSHI和日期格式 |
public SimpleDateFormat(String patter) | 构造一个SimpleDateFormat使用给定的模式和默认的日期格式 |
- 格式化
- 格式化(从date到String)
public final String format(Date date):将日期格式化日期/时间字符串
- 解析(从String到date)
public Date parse(String source):从给定的字符串的开始解析文本以生成日期
package Demo18;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.SimpleTimeZone;
public class Demo18 {
public static void main(String[] args) throws ParseException {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
String s = sdf.format(d);
System.out.println(s);
System.out.println("-------------");
String ss = "2021年06月07日22时02分13秒";//格式要匹配上
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date d2 = sdf2.parse(ss);
System.out.println(d2);
}
}
package Demo19;
import java.text.ParseException;
import java.util.Date;
public class Application {
public static void main(String[] args) throws ParseException {
//创建日期对象
Date d =new Date();
String s1 = DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
System.out.println(s1);
String s2 = DateUtils.dateToString(d,"yyyy年MM月dd日");
String s3 = DateUtils.dateToString(d,"HH::mm:ss");
System.out.println(s2);
System.out.println(s3);
String s4 ="2028-8-09 12:55:56";
Date dd =DateUtils.StringToDate(s4,"yyyy-MM-dd HH:mm:ss");
System.out.println(dd);
}
}