日历String包装类

本文详细介绍了 Java 中 Calendar 类的使用方法,包括如何获取和设置日期时间、如何进行日期加减运算等。同时,还介绍了 System 类的 currentTimeMillis 方法用于测量程序运行效率的应用,以及 StringBuilder 的高效字符串操作方式。

java.util.Calendar:日历类
Calendar类是一个抽象类,里面提供了多个操作日历字段的方法
Calendar类无法直接创建对象使用,里面有一个静态方法gerInstance(),,该方法返回了Calendar类的子类对象
static Calendar grtIntance()使用默认时区和预言环境获得一个日历    
Date d = new Date(300L)
sout(d.toLocaleString());

Colendar类的成员方法
public int get (int feild)  feild指的是日历类的字段,可以使用Calendar类的成员变量来获取

举例:
获取年:  
Calandar c = Calendar.getIntance();
int year = c.get(Calendar.Year);
sout(yaer)

public void set(intfield,int value)讲给定的日历字段设置为给定值
Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR,9999)
这样就设置好了
同事这是年月日,可以用set重载
    c.set(8888,8,8)
这是全部设置。


public abstract void add(int field,int amount)根据日历的规则,为启动的日历字段添加或减去指定的时间量。
就是把指定的字段增加或者减少指定的值
intfeild传递的日历字段intmount增加货减少  +—来表示
Calendar c = Calendar.getInstance();
    c.add(calendar.Year,2)
   c.add(Calendar.year,-2)

public Date getTime();返回一个表示次Calendar时间值(从历元道现在的毫秒偏移量的Date对象。
就是把日历对象改为日期对象:
Date date = c.getTime();
sout(date)

System类:
他属于java.lang包里的类,不用导包。
public static long currenTimeMilles();
用来测试程序的效率
一般程序执行前,获取一次毫秒值
long s = System。currentTimeMillis();
9999.fori
sout i 
long e = System.currentTimeMillis();

public static void arraycopy(object src dest....)
src--源数组
srcPo--源数组的起始位置
dest  --目标数组
destPos--目标数组的起始位置
length-要复制数组元素的数量
讲src数组的元素前三个位置,复制到des数组的前三个位置:
定义源数组:
int 【】 src = {1,2,3,4,5}
int  [ ] dest = {6,7,8,9,10}
System.arraryCopy(src,0,dest,0,3)
从第一个元素开始修改修改三个  接受的从第一个开始接受。

sout(d.loLOcaleString());


SimpleDateFormat sdf = new SimpleDateFormat();
Sting format = sdf.foemat(d);
sout(format)

Sring Builder原理:
字符串是常量,他们的值在创建之后不能改变
字符串的底层是一个被final修饰的数组不能改变,是一个常量
String s = “ a”+"b"+"c";
String s = "abc";
Sring Builder类:
字符串的缓冲区,可以提高字符串的操作效率(看成一个长度可以变化的字符串)
底层也是一个数组,但是没有被final修饰,可以改变长度
byte【】 value  = new byte[16];
Sring Builder在内存中始终是一个数组,占用的空间少,效率高。
如果超过了Sring Builder的容量,会自动的扩容
Sring Builder的构造方法:
SringBuilder属于java的lang中的包 
public SringBuilder();
public SringBuilder(String str);
STringBuilder bu1 = new STringBuilder();
STringBuilder bu1 = new STringBuilder(String str);
STringBuilder类的成员方法:
public SringBuilder oppend(...);
参数可以使任意的数据类型
STringBuilder bu1 = new SringBuilder();
STringBuilder bu2 = new SringBuilder(String str);
StringBuiler bu2 = bu1.append("acb")
append方法返回的是this,调用方法的对象bu1
使用append方法不许要返回值
bu1.append(“abc”);
这就相当于add  
链式编程:方法的返回值是一个对象,可应根据对象继续调用方法。
sout("abc".toUpperCase().toUpperCase().toUpperCase());
就相当于bu1.append().append().append().append()
括号里面加入想加入的内容
StringBuilder和String相互转换:
string str = “hello”;
STringBuilder bu = new STringBuilder(str);
bu.happend(“”);
string s = bu.tostring


包装类:
基本数据类型的数据,使用起来非常的方便,但是没有对应的方法来操作这些数据
所以我们可以使用一个类,把基本类型的数据包装起来,这个类叫做包装类,在包装类中可以定义一些方法,用来操作基本类型的数据
装箱和拆箱:
装箱:把基本类型的数据包装到包装类中(基本类型的数据--包装类)
构造方法Integer(int value)
Integer(String s)
传递的字符串,必须是基本的字符串,否则会异常。
静态方法
static Integer valueof(int i)返回一个表示的int值的Integer实例
static Integer valueof(String s)返回一个表示的String值的Integer实例
package test;

public class Date1 {
    public static void main(String[] args) {
        Integer in1 = new Integer(1);
        System.out.println(in1);
        Integer in2= new Integer("1");
        System.out.println(in2);
        //静态方法
        Integer in3 = Integer.valueOf(1);
        System.out.println(in3);
        Integer in4 =Integer.valueOf("1")
        System.out.println(in4);
    }
}
但是里面不能是a

in1 = in1.inValue
这就是拆箱。


自动装箱和自动拆箱:
基本类型的数据和包装类可以自动的相互转换。
自动装箱:直接吧int类型的证书赋值给包装类
 interger in = 1;
自动拆箱:in是包装类,无法直接参与云散,可以自动转换为基本类型的数据,在进行计算。
in = in + 2;
in +2 就相当于in.inValue()+3=3;
in = in+2 就相当于in - new Interger(3)自动装箱

基本类型和字符串之间的转换:
基本=--字符串:
1.基本类型的数据的值+“”最简单的方式。
2.使用包装类的静态方法。
static String toString (int i )返回一个表示指定整数String对象。。
使用String类的静态方法:
static String valueOf(int i)返回int参数的字符串表示形式。
字符串---基本类型。
使用包装类的静态方法parsexx(“字符串”)
Interage类:static int parseInt(String s)
Double类:static double parseDouble(string s)
...

package test;

public class Date1 {
    public static void main(String[] args) {
       String si = 100+"";
        System.out.println(si+200);
        String s2 = Integer.toString(100);
        System.out.println(s2+200);
        String s3 = String.valueOf(100);
        System.out.println(s3+200);
        //字符串--基本类型
        int i = Integer.parseInt("100");
        System.out.println(i+200);
        int i2 = Integer.parseInt("a");//数字格式化异常  不能使用
        System.out.println(i2);
    }
}


基本数据类型对应的包装类:

int  Integer
char  Character
其他都是大写第一个子母


 

LunarCalendar返回农历(阴历)日期的JAR包 根据指定日期计算对应农历日期(这个计算方法是网上找的,最初的作者是谁已经无法考证了,感谢网络资源吧!),本人封装成好用的JAR包后发不出来,供大家免费下载! toString()方法输出阴历日期(例如:癸巳年七月廿) getFullInfo()方法输出包括生肖在内的阴历日期(例如:癸巳年七月廿,生肖:蛇) 构建方法包括以下四种: public LunarCalendar(String year, String month, String date) public LunarCalendar(JComboBox jcYear, JComboBox jcMonth, JComboBox jcDate) public LunarCalendar(int year, int month, int date) public LunarCalendar(Calendar cal)) 使用前两种构建方法时,若文本内容不为数字,getErrorMessage会返回错误信息 方法摘要 java.lang.String getErrorMessage() 返回String型的错误信息 java.lang.String getFullInfo() 返回String型的详细阴历信息(例如:癸巳年七月廿,生肖:蛇) java.lang.String getLunarAnimal() 返回String型的生肖(例如:蛇) java.lang.String getLunarDate() 返回String型的阴历日期(例如:廿) java.lang.String getLunarMonth() 返回String型的阴历月份(例如:七) java.lang.String getLunarYear() 返回String型的阴历年份(天干地支,例如:癸巳) java.lang.String toString() 返回String型的阴历日期(例如:癸巳年七月廿) JAR包名称:LunarCalendar version 1.0 8/26/2013 作者:Roy, Liu royliu90@live.cn
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值