与上一篇一样这篇依旧是我在慕课网(www.imooc.com)学习java时写的笔记而已,想要看详细的还是去官网自己看。话不多说,开始学习了。
-----------------------分割线-------------------------------------------
一、包装类
在java中存在基本数据类型,int、float、double、boolean、char等。基本数据类型是不具备对象的特性,如不能调用方法。为了可以让这些基本类型具备对象特性,java为每个基类提供了一个包装类,这样可以使得我们像操作对象一样来操作基本数据类型。
基本类型和包装类之间的对应关系:
包装类主要提供了两大类方法:
将本类型和其他基本类型进行转换的方法
将字符串和本类型及包装类互相转换的方法。
1首先来看Integer包装类
1.1构造方法
Integer(int values) 创建一个Integer对象,表示指定的int值
Integer(String s) 创建一个Integer对象,表示String参数所指示的int值
1.2.常用方法
1.3.常量
Integer类提供了4个常量
MAX_VALUE:表示int类型可取的最大值,即2^31-1。
MIN_VALUE:表示int类型可取的最小值,即-2^31。
SIZE:用来以二进制补码形式表示int值的位数。
TYPE:表示基本类型int的Class实例。
2.Boolean
2.1 构造方法
Boolean(boolean value)
Boolean(String str)//eg.Boolean bool=new Boolean("ok");
2.2常用方法
2.3常量
TRUE:对应基值true的Boolean对象
FALSE:
TYPE:
3.Byte包装类
3.1构造方法
Byte(byte value)
Byte(String str)
3.2常用方法
3.3常量
MIN_VALUE:
MAX_VALUE:
SIZE:
TYPE:
4.Character包装类
4.1 构造方法
Character(char value)
4.2常用方法
4.3常量
CONNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类别“Pc”。
UNASSIGNED:返回byte型值,表示Unicode规范中的常规类别“Cn”
TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类别“Lt”
5 Double包装类
ps:上面一些我并没有写全,因为他们的常用方法和常量基本一样,没有特别要注意的也就不再写了,把所有的包装类给列举了出来仅仅。
二、java中基本类型和包装之间的转换
基本类型和包装之间经常需要互相转换,以Integer为例
Integer a=new Integer(3);//定义包装类对象,值为3
int b=a+5;
JDK1.5引入的自动装箱和拆箱机制,包装类和基本类之间的转换轻松便利许多。
装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱
int i=10;
Integer x=new Integer(i);//手动装箱
Integer y=i;//自动装箱
Integer j=new Integer(8);
int m=j.intValue();//手动拆箱为int类型
int n=j;//自动拆箱为int类型
我们在写程序中,需要在基本数据类型和字符串之间进行转换,基本类型转换为字符串有三种方法:
1.使用包装类的toString()方法
2.使用String类的valueOf()方法
3.用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
//将基本类型转换为字符串
int c=10;
String str1=Integer.toString(c);
String str2=String.valueOf(c);
String str3=c+"";
1.调用包装类的parseXxx静态方法
2.调用包装类的valueOf()方法转换为基本类型的包装类,会自动拆箱
//将字符串转换为基本类型
String str="8";
int d=Integer.parseInt(str);//方法一
int e=Integer.valueOf(str);//方法二
public class HelloWorld {
public static void main(String[] args) {
double m = 78.5;
//将基本类型转换为字符串
String str1 =Double.toString(m); ;
System.out.println("m 转换为String型后与整数20的求和结果为: "+(str1+20));
String str = "180.20";
// 将字符串转换为基本类型
Double a =Double.parseDouble(str);
System.out.println("str 转换为double型后与整数20的求和结果为: "+(a+20));
}
}
程序开发中,经常需要处理日期和时间的相关数据,此时可以使用java.util包中的Date类。该类最重要的作用就是获取当前时间,来看下Date类的使用:
Date d=new Date();//使用默认的构造方法创建Date对象
System.out.println(d);//输出
ps:使用Date类的默认无参构造方法创建出的对象就代表当前时间。但是输出的时间格式不是很好,(有兴趣的可以自己试试),如果我们希望看成2016-03-19就要使用SimpleDateFormat(java.text包中的)来对日期进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。
1.使用format()方法将日期转换为指定格式的文本
//创建Date对象,表示当前时间
Date d=new Date();
//创建SimpleDateFormat对象,指定目标格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//调用format()方法,格式化时间,转换为指定格式字符串
String today =sdf.format(d);
//输出转换后的字符串
System.out.println(today);
//使用parse()方法将文本转换为日期
//创建日期格式的字符串
String day="2014年02月14日 10:30:25";
//创建SimpleDateFormat对象,指定字符串的日期格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//调用parse()方法,将字符串转换为日期
Date date = null;
try {
date = sdf.parse(day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("当前时间:"+date);
一定要注意哦:
1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理
2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包