ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day24

2021-08-04 19:35:41  阅读:175  来源: 互联网

标签:String int day24 static Date Calendar public


今天又重新复习了一下一些常用API,尤其是Date类和Calendar类关于时间上的应用

常用API:
1.Math类:无构造方法,类的成员是static,所以可用类名直接调用
System.out.println(Math.abs(88));
public static int abs(int a)//返回绝对值
public static double ceil(double a)//返回大于等于参数的最小double值,等于一个整数
public static double floor(double a)//返回小于等于参数的最大double值,等于一个整数
public static int round(float a)//四舍五入返回最接近参数的int
public static int max(int a,int b)
public static int min(int a,int b)
public static double pow(double a,double b)//返回a的b次幂的值
public static double random()//返回值为double的正值,[0.0,1.0]
2.System类:无构造方法,类的成员是static,所以可用类名直接调用
public static void exit(int a)//终止当前运行的java虚拟机(程序停止运行),非0 表示异常终止
public static long currentTimeMillis()//返回当前时间(以毫秒为单位)
3.Object类:每个类都直接或间接继承该类
构造方法:public Object();
toString();//返回对象的字符串表示形式,所有子类重写该方法
equals();
Object类的两个方法都是在类中重写,自动生成
4.Arrays类,要导包 import java.util.Arrays;
public static String toString(int [] a)//返回指定数组的内容的字符串表示形式
public static void sort(int []a)//排序
5.基本类型包装类
5.1Integer类,不用导包
public static Integer valueOf(int i)//返回表示指定的int值的Integer的实例
public static Integer valueOf(String s)//返回一个保存指定值的Integer对象String
Integer i = Integer.valueOf(100);
Integer i = Integer.valueOf("100");//字符串只能是数字.

int->String
public static String valueOf(int i )
String s2=String.valueOf(number);

String->int
public static int parseInt(String s);
int x= Integer.parseInt(s);

将字符串转为int型数组
package T001;

public class demo {
public static void main(String[] args)
{
String s= "91 27 46 38 50";
String[] strArr=s.split("");//创建一个字符串数组,将字符串传入
int[] arr=new int[strArr.length];
for(int i=0;i<arr.length;i++)
{
arr[i] =Integer.parseInt(strArr[i]);
}
}
}

装箱:基本数据类型->包装类类型
拆箱:包装类类型->基本数据类型
Integer i = 100;//自动装箱
i+=200;//i+200 自动拆箱 ,i=i+200;自动装箱
使用包装类类型,做操作前判断是否为null,只要是对象,使用前必须进行不为null的判断
6.Date类,需要导包
6.1构造函数
public Date()//分配一个Date对象,并初始化,以便它代表塔它被分配的时间,精确到毫秒
public Date(long date)//分配一个Date对象,并将其初始化为表示从标准基准时间(1970年1月1日0时0分0秒)起指定的毫秒数
Date d1=new Date();System.out.println(d1);//输出当前时间
6.2Date类成员方法
public long getTime()//获取的时日期对象从标准时间到现在在的毫秒值
public void setTime(long time)//设置时间,等同于有参构造
6.3SimpleDateFormat类,要导包,text包下
y 年
M 月
d 日
H 时
m 分
s 秒
public SimpleDateFormat()//无参构造,使用默认模式和日期格式
public SimpleDateFormat(String pattern)//使用给定的模式和默认的日期格式
**格式化(Date->String)//可以把日期按自己想要的格式得到日期对象的字符串
public final String format(Date date):将日期格式化成日期/时间字符串

import java.util.Date;
import java.text.SimpleDateFormat;
public class demo {
public static void main(String[] args)
{
Date d=new Date();
System.out.println(d);//Mon Aug 02 20:04:55 CST 2021
SimpleDateFormat f = new SimpleDateFormat();
SimpleDateFormat f = new SimpleDateFormat("yyyy MM dd HH mm ss ");//2021 08 02 20 07 40
String s =f.format(d);
System.out.println(s);//2021/8/2 下午8:04
}
}

**解析(String->Date)
public Date parse(String source):从给定字符串开始解析文本以生成日期

import java.util.Date;
import java.text.SimpleDateFormat;
public class demo {
public static void main(String[] args)
{
String s="2021-08-02 11:11:11";
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//给的模式要与字符串匹配
Date d = f.parse(s);
System.out.println(d);//Mon Aug 02 11:11:11 CST 2021转换成标准模式
}
}

实例
1.定义一个日期类,将格式化和解析写成方法(静态)封装
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class DateUtils{
private DateUtils(){}//将构造私有化,外界就不能建立DateUtils的对象
public static String dateToString(Date date,String format)
{
SimpleDateFormat f = new SimpleDateFormat(format);
String s=f.format(date);
return s;
}
public static Date stringToDate(String s;String format) throws ParseException
{
SimpleDateFormat f = new SimpleDateFormat(format);
Date d = f.parse(s);
return d;
}
}
2.在测试类中调用类名.方法使用
import java.util.Date;
import java.text.ParseException;
public class DateDemo
{
public static void main(String[] args)
{
Date d = new Date();
String s = DateUtils.DateToString(d,"yyyy MM dd HH mm ss");
System.out.println(s);

String s1 ="2048-08-09 12:12:12";
Date dd = DateUtils.stringToDate(s,"yyyy-MM-dd HH:mm:ss");
System.out.println(dd);
}
}
7.Calendar类(日历类)要导包
7.1常用方法
public int get(int field)//返回给定的日历字段的值
public abstract void add(int field,int amount)//根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year,int month,int date)//设置当前日历的年月日

Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);//YEAR相当于在Calendar中用static修饰的成员变量
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");//输入电脑中当前年月日

Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,-5);//将当前电脑的年数-5
int year = c.get(Calendar.YEAR);//YEAR相当于在Calendar中用static修饰的成员变量
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");

Calendar c = Calendar.getInstance();
c.set(2048,11,11);//月份从0开始,所以给11输出的是12月
int year = c.get(Calendar.YEAR);//YEAR相当于在Calendar中用static修饰的成员变量
int month = c.get(Calendar.MONTH) + 1;//月份从0开始
int date = c.get(Calendar.DATE);//日
System.out.println(year +"年" + month + "月" + date +"日");

例子:输入年份,输出该年2月的天数

import java.util.Calendar;
import java.util.Scanner;
public class asd {
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);//创建对象
int year=sc.nextInt();//输入年份
int date=Date(year);//调用方法
System.out.println(date);//输出
}
public static int Date(int year)//建立方法输入年返回天数
{
Calendar c = Calendar.getInstance();//创建一个日历对象
c.set(year,2,1);//设置时间为该年的3月1日
c.add(Calendar.DATE, -1);//天数-1即为2月最后一天
int date = c.get(Calendar.DATE);//接受数据
return date;//返回
}
}

 

标签:String,int,day24,static,Date,Calendar,public
来源: https://www.cnblogs.com/yx111/p/15100429.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有