Java学习笔记之常用API(1)

1.int类型与String类型的相互转换

(1)、int->String
public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类型中的方法。
例:

int num = 100;
String s = String.valueOf(num);
System.out.println(s);

(2)、String->int
public static int parseInt(String s):将字符串解析为int类型。该方法时Integer类中的方法。
例:

String 是= "100";
int i = Integer.parseInt(s);
System.out.println(i);

2.字符串数据排序

例:
需求:一个字符串"91 27 46 38 50",请写程序实现最终输出结果为:“27 38 46 50 91”。
Java代码实现:

public class Test{
	public static void main(String[] args) {
		String s = "91 27 46 38 50";
		//定义一个字符串数组,使用split(" ")将字符串s中的元素分割
		String[] strArray = s.split(" ");
		//定义一个int类型的数组
		int[] arr = new int[strArray.length];
		//将字符串数组中的元素分别赋给int类型的数组
		for(int i = 0; i < strArray.length; i++) {
			arr[i] = Integer.parseInt(strArray[i]);
		}
		//将得到的数组arr进行排序
		Arrays.sort(arr);
		//定义StringBuilder对象
		StringBuilder sb = new StringBuilder();
		//for循环遍历数组arr
		for(int i = 0; i < arr.length; i++) {
			sb.append(arr[i]);
			if(i != arr.length - 1) {
				sb.append(" ");
			}
		}
		//输出遍历好的数组
		System.out.println(arr.toString);
	}
}

3.自动装箱和自动拆箱

装箱:把基本数据类型转换为对应的包装类类型.
拆箱:把包装类类型转换为对应的基本数据类型.
例:

Integer i = 10;//自动装箱
i += 200;//i + 200自动拆箱; i = i + 200自动装箱

注意:在使用包装类类型的时候,如果做操作,先判断对象是否为null.

4.如何编写和使用日期工具类

(1).public long getTime():获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值.
(2).public void setTime(long time): 设置时间,给的是毫秒值.
(3).SimpleDateFormat类概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方法格式化和解析日期.
日期和时间格式化由日期和时间模式字符串指定,在日期和时间模式字符串中,从’A’到’Z’以及从’a’到’z’引号的字母被解析为常用的模式字母.
常用的模式字母及对应关系如下:
y->年
M->月
d->日
H->时
m->分
s->秒
(4).格式化(Date->String)
public final String format(Date date):将日期格式化为日期/时间字符串.
代码实现:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(pattern:“yyyy年MM月dd日”);
String s = sdf.format(date);
System.out.println(s);
(5).解析(String->Date)
public Date parse(String source):从给定字符串的开始解析文本生成日期.
代码实现:
String s = “2019-12-20 HH:mm:ss”;
SimpleDateFormat sdf = new SimpleDateFormat(pattern:yyyy-MM-dd HH:mm:ss);
Date d = sdf.parse(s);
System.out.println(d);
(6).日期工具类的应用
例:需求:定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;把字符串解析为指定格式的日期,然后定义一个测试类(DateTest),测试日期工具类.
代码实现:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtils {
    //私有无参构造
    private DateUtils(){}
    //String -> Date
    public static Date StringToDate(String time , String Pattern) throws ParseException {
        SimpleDateFormat sdf1 = new SimpleDateFormat(Pattern);
        Date date1 = sdf1.parse(time);
        return date1;
    }
    //Date -> String
    public static String DateToString(Date date , String Pattern){
        SimpleDateFormat sdf2 = new SimpleDateFormat(Pattern);
        String time = sdf2.format(date);
        return time;
    }
}
import java.util.Date;
import java.text.ParseException;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        //定义一个字符串
        String s = "2019年12月20日 13:25:25";
        //定义一个字符串模板
        String pattern = "yyyy年MM月dd日 HH:mm:ss";
        //创建对象用于接收方法DateUtils.StringToDate的返回值
        Date d = DateUtils.StringToDate(s,pattern);
        //输出解析后的时间
        System.out.println(d);

        //创建时间对象
        Date date = new Date();
        //创建字符串对象用于接收方法DateUtils.DateToString的返回值,并传入参数
        String time = DateUtils.DateToString(date,"yyyy年MM月dd日 HH时mm分ss秒");
        //输出格式化后的时间
        System.out.println(time);
    }
}

5.Calendar的使用

(1).Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法.
Calendar提供了一个类方法getItstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化(多态的形式):Calendar rightNew = Calendar.getInstance();
(2).Calendar的常用方法
public int get(int field):返回值给定日历字段的值.
代码实现:

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

public abstract void add(int field , int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段.
代码实现:

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR , amount:-3);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

public final void set(int year , int month , int date):设置当前日历的年月日.
代码实现:

Calendar c = Calendar.getInstance();
c.set(2020,12,12);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "月" + date + "日");

(3).案例:2月天
代码实现:

import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class FebruaryDemo02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个您要判断的年份:");
        int year = sc.nextInt();
        Calendar ca = Calendar.getInstance();
        ca.set(year,2,1);
        ca.add(Calendar.DATE,-1);
        int date = ca.get(Calendar.DATE);
        System.out.println(year + "年2月有" + date + "天");
    }
}
发布了13 篇原创文章 · 获赞 7 · 访问量 383

猜你喜欢

转载自blog.csdn.net/qq_41145193/article/details/103622181