1. 枚举
枚举指由一组固定的常量组成的类型
创建枚举类型,多个值中间用英文逗号隔开:
使用枚举类型:
给枚举类型赋值:
2. 包装类
包装类把基本类型数据转换为对象
每个基本类型在java.lang包中都有一个相应的包装类
包装类的作用
提供了一系列实用的方法
集合不允许存放基本数据类型数据,存放数字时,要用包装类型
包装类的构造方法:
所有包装类都可将与之对应的基本数据类型作为参数,来构造它们的实例
public Type(type value)
如:Integer i=new Integer(1);
除Character类外,其他包装类可将一个字符串作为参数构造它们的实例
public Type(String value)
如: Integer i=new Integer("123");
注意:
1.Boolean类构造方法参数为String类型时,若该字符串内容为true(不考虑大小写),则该Boolean对象表示true,否则表示false。
2.当包装类构造方法参数为String 类型时,字符串不能为null,且该字符串必须可解析为相应的基本数据类型的数据,否则编译通过,运行时NumberFormatException异常。
包装类的常用方法:
1. valueOf
所有包装类都有如下方法
public static Type valueOf(type value)
如: Integer intValue = Integer.valueOf(21);
除Character类外,其他包装类都有如下方法
public static Type valueOf(String s)
如: Integer intValue = Integer.valueOf("21");
2. XXXValue()
XXXValue():包装类转换成基本类型
Integer integerId = new Integer(25);
int intId = integerId.intValue();
3. toString()
toString():以字符串形式返回包装对象表示的基本类型数据
String sex=Character.toString('男');
String id=Integer.toString(25);
还有一种方法转换String类型比较实用:
String sex='男'+"";
String id=25+"";
4. parseXXX()
parseXXX():把字符串转换为相应的基本数据类型数据(Character除外)
int num=Integer.parseInt("36");
boolean bool=Boolean.parseBoolean("false");
装箱和拆箱:
装箱和拆箱是基本类型和包装类的自动转换
装箱:基本类型转换为包装类的对象
Integer intObject = 5;
拆箱:包装类对象转换为基本类型的值
int intValue = intObject;
包装类的特点:
所有包装类都是final类型,不能创建它们的子类
JDK1.5后,允许基本数据类型和包装类型进行混合数学运算
包装类并不是用来取代基本数据类型的
在基本数据类型需要用对象表示时使用
3. Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)
Math.abs(-3.5); //返回3.5
Math.max(2.5, 90.5);//返回90.5
int random = (int) (Math.random() * 10); //生成一个0-9之间的随机数
4. Random类
生成随机数的方式,java.util.Random类。
Random rand=new Random(); //创建一个Random对象
for(int i=0;i<20;i++){//随机生成20个随机整数,并显示
int num=rand.nextInt(10);//返回下一个伪随机数,整型的
System.out.println("第"+(i+1)+"个随机数是:"+num);
}
注意:用同一个种子值来初始化两个Random 对象,然后用每个对象调用相同的方法,得到的随机数也是相同的。
5. String类
使用String对象存储字符串。
String s = "Hello World";
String s = new String();
String s = new String("Hello World");
String类位于java.lang包中,具有丰富的方法:计算字符串的长度、比较字符串、连接字符串、提取字符串等。
length()方法
String类提供了length()方法,确定字符串的长度,返回字符串中的字符数。
equals()方法
String类提供了equals( )方法,比较存储在两个字符串对象的内容是否一致 。
equals()方法比较原理:
检查组成字符串内容的字符是否完全一致。
“==”和equals()有什么区别呢?
==:判断两个字符串在内存中的地址,即判断是否是同一个字符串对象。
equalsIgnoreCase()方法
忽略大小写进行比较。
toLowerCase()方法
将字符串全部转换为小写。
toUpperCase()方法
将字符串全部转换为大写。
字符串连接:
方法1:使用“+”
"你好" + "张三"
方法2:使用String类的concat()方法
"你好".concat("张三");
字符串常用提取方法:
字符串拆分:
String类提供了split()方法,将一个字符串分割为子字符串,结果作为字符串数组返回。
6. StringBuffer类
StringBuffer
对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率。
StringBuffer声明
StringBuffer strb = new StringBuffer();
StringBuffer strb = new StringBuffer("aaa");
StringBuffer的使用
sb.toString(); //转化为String类型
sb.append("**"); //追加字符串
sb.insert (1, "**"); //插入字符串
String类与StringBuffer类
String是不可变对象
经常改变内容的字符串最好不要使用String
StringBuffer是可变的字符串
字符串经常改变的情况可使用StringBuffer,更高效
JDK1.5后提供了StringBuilder,等价StringBuffer
7. 操作日期时间
如何获取当前日期?
java.util.Date类:表示日期和时间
提供操作日期和时间各组成部分的方法
Java.util.Date
java.text.SimpleDateFormat类
用于定制日期时间的格式
//创建日期对象 Date date = new Date(); //定制日期格式 SimpleDateFormat formater = new SimpleDateFormat("yyyy- MM-dd HH:mm:ss"); String now = formater.format(date); System.out.println(now);
Calendar类
抽象类,java.util.Calendar
Calendar t = Calendar.getInstance();
用于设置和获取日期/时间数据的特定部分
Calendar类提供一些方法和静态字段来操作日历