java 学习笔记 day10 常用类array,integer,Date,SimpleDataFormate

  • 1. array类
  • 2. 基本数据类型的包装类
  • 3. integer 类
  • 4. 自动装箱与自动拆箱
  • 5. Date类
  • 6.SimpleDataFormate


1. array类

toString():数组转字符串
sort(): 数组排序

public class ArraysDemo {
	public static void main(String[] args) {
		//定义一个数组
		int[] arr = {24,69,80,57,13};
		
		//public static String toString(int[] a):把数组转成字符串
		System.out.println("排序前:"+Arrays.toString(arr));
		
		//public static void sort(int[] a):对数组进行升序排序
		Arrays.sort(arr);
		
		System.out.println("排序后:"+Arrays.toString(arr));
	}
}

结果如下:

Java Array包括某个元素_编程语言

2. 基本数据类型的包装类

  • 需求:我要判断一个数据是否在int范围内?
    要想判断一个数据是否在int范围内,首先我们得知道int范围,在前面我们讲解基本数据类型的时候说过了: -2147483648 到 2147483647

为了对基本数据类型进行更多更方便的操作,Java就针对每一种基本数据类型提供了一个对应的引用类型。

  • 基本类型包装类:
Byte    byte
  		Short	short
 		Integer	int
  		Long	long
  		Float	float
 		Double	double
  		Character	char
 		Boolean	boolean

基本数据类型包装类最常见的用法就是用于和字符串之间进行相互转换。

3. integer 类

int 和String类型相互转换

  • int类型和String类型的相互转换
  • int – String
String类中:public static String valueOf(int i)
  • String – int
Integer类中:public static int parseInt(String s)
public class IntegerDemo {
	public static void main(String[] args) {
		//int	--	String
		int number = 100;
		//方式1
		String s1 = "" + number;
		System.out.println(s1);
		//方式2
		//public static String valueOf(int i)
		String s2 = String.valueOf(number);
		System.out.println(s2);
		System.out.println("--------------");
		
		//String  -- int
		String s = "100";
		//方式1
		//String -- Integer -- int
		Integer i = new Integer(s);
		//public int intValue()
		int x = i.intValue();
		System.out.println(x);
		//方式2
		//public static int parseInt(String s)
		int y = Integer.parseInt(s);
		System.out.println(y);
		
	}
}

4. 自动装箱与自动拆箱

  • JDK5新特性:
  • 自动装箱:把基本数据类型转换为对应的包装类类型

public static Integer valueOf(int i)

  • 自动拆箱:把包装类类型转换为对应的基本数据类型

public int intValue()

  • Java程序的运行:

编写java文件 – 编译生成class文件 – 执行

注意:在使用包装类类型的新特性的时候,如果做操作,最好先判断是否为null。

  • 开发中的原则:

只要是对象,在使用前就必须进行不为null的判断。

public class IntegerDemo {
	public static void main(String[] args) {
		//创建一个包装类类型的对象
		//Integer i = new Integer(100);
		Integer ii = 100; //自动装箱	
		//public static Integer valueOf(int i)
		ii += 200; //ii = ii + 200; 自动拆箱,自动装箱
		//public int intValue()
		System.out.println(ii);
		
		/*
		Integer ii = Integer.valueOf(100);
		ii = Integer.valueOf(ii.intValue() + 200);
		System.out.println(ii);
		*/
		
		Integer iii = null;
		if(iii != null) {
			iii += 300; //NullPointerException
			System.out.println(iii);
		}
	}
}

5. Date类

  • Date:Date表示特定的瞬间,精确到毫秒。
  • 构造方法:

Date():根据当前时间创建的日期对象
Date(long date):根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00

  • public long getTime():获取的是毫秒值。从1970年1月1日 00:00:00开始的。
  • public void setTime(long time):设置时间,给的是毫秒值。
  • 从Date得到一个毫秒值: getTime()
  • 从一个毫秒值得到一个Date对象 : setTime(long time)

6.SimpleDataFormate

  • SimpleDateFormat:是一个以与语言环境有关的方式来格式化和解析日期的具体类。
  • 它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)
  • 格式化(日期 -> 文本): Date – String

public final String format(Date date)

  • 解析(文本 -> 日期): String – Date

public Date parse(String source)

public class SimpleDateFormatDemo {
	public static void main(String[] args) throws ParseException {
		/*
		//Date -- String
		Date d = new Date();
		//SimpleDateFormat(): 用默认的模式
		//SimpleDateFormat sdf = new SimpleDateFormat();
		//SimpleDateFormat(String pattern):用给定的模式
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		String s = sdf.format(d);
		//现在虽然实现了把日期格式化成一个字符串,但是不是我们想要的格式
		//我们想要的格式是:xxxx年xx月xx日 xx:xx:xx
		System.out.println(s);
		*/
		
		//String -- Date
		String str = "2080-08-08 12:23:45";
		//把一个字符串解析为日期的时候,请注意模式字符串和给定的日期字符串的格式要匹配
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date d = sdf.parse(str);
		System.out.println(d);
	}
}