实用类 枚举 包装类 StringBuffer data

Java中常用的API

java.lang
Enum(枚举类)、包装类、Math、String、StringBuffer、System·····
java.util
	Scanner类
java.io
java.sql	
````

实用类

枚举

定义:指由一组固定的常量组成的类型
语法与类相似:
[Modifier] enum 枚举名{   常量1,常量2}
public enum Gender{,}
public class Student{
	private String name;
	private Gender sex;
}

包装类 :

特殊:基本数据类型--------->包装类
		 int              Integer
		 char             Character
其他的都是首字母大写
除了Character以外,都可以以字符串为参数

包装类的两种构造方法

1、参数为基本数据类型
例如:Integer num = new Integer(10);
2、参数为字符串
例如:Integer num = new Integer("10");

包装类的常用方法

1、XXXValue()(XXX代表八种数据类型):把包装类转换成基本数据类型
	Integer i = newInteger(100);
	int iNum = i.intValue();
2、toString():以字符串形式返回包装对象表示的基本类型数据(基本类型--->字符串)
3、parseXXX():把字符串装换为相应的基本数据类型数据(Character除外)
4、valueOf():基本数据局类型转换成包装类(Character不可用)
	char sex = '男';
	Character cSex = Character.valueOf(sex);

裝箱和拆箱

裝箱:基本类型转换为包装类的对象
拆箱:包装类对象装换为基本类型的值
例如:Integer intObject = 5;   //自动装箱
      int intValue = intObject; //自动拆箱

Math类

说明:(java.lang包下)提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率)
Math.abs(数值)://返回的是绝对值
Math.max(数值1,数值2): //返回最大值
Math.min(数值1,数值2):   //返回最小值
Math.random():      //返回一个随机的[0.0,1.0)之间的浮点数

Random类

java.util包下)生成随机数
Randomrandom= new Random();//创建随机数生成器
random.nextXXX();  //XXX是int ,long , float , double这几类
random.nextXXX(随机数种子) :  //相同的种子生成的随机数是相同的,所以我们一般将“时间的毫秒”当成随机数种子

字符串类

java.lang包中。在内存中,由于字符串的高频使用,内存中有专门存放字符串的空间,叫做字符串池。

字符串类的常用方法

1、length()://计算字符串的长度
2、equals()://比较两个字符串是否相同【与“==”有区别,“==”是比较地址,equals是比较内容】   这个会很重要,面试题,举例子验证
{//只创建了一个对象,并且将字符串放在字符串池中;
String s1 = "hello";
String  s2 = "hello";
System.out.println(s1.equals(s2));     //ture
System.out.println(s1 == s2);         //ture
}
{//创建两个对象,s1指向的是字符串池中的hello,而s2又在内存的堆中重新创建了一个hello
String s1 = "hello";
String  s2 = new String("hello");
System.out.println(s1.equals(s2));   //true
System.out.println(s1 == s2);}     //false
{//s1依然在字符串池中创建一个“hello”并指向它;s2则会在字符串池中查找有没有“Hello”,发现没有于是就创建一		个“Hello”,并且又在堆中创建“Hello”,并指向堆中的“Hello”,所以一共创建了3个对象
String s1 = "hello";
String  s2 = new String("Hello");
System.out.println(s1.equals(s2));   //false
System.out.println(s1 == s2);   //false
}
{//s1会在字符串池中创建“hello”对象,并在堆中也创建且指向这里面的“hello”,,s2也会在字符串池中和堆中各创建一个“Hello”对象,并指向堆中的对象,所以一共创建了4个对象
String s1 = new String("hello");
String  s2 = new String("Hello");
System.out.println(s1.equals(s2));   //false
System.out.println(s1 == s2);   //false
}
3、equalsIgnoreCase():忽略大小写比较字符串内容
4、toLowerCase():将字符串全部转换为小写
5、toUpperCase():将字符串全部转换为大写
6、trim():去掉字符串两端空格的方法
7、字符串连接的两种方法:利用“+”,或者是concat()
8、字符串提取:
	1)int indexOf(String value):搜索第一个出现的字符串value,如果没有找到返回-1
	2)int lastIndexOf(String value);搜索左后一个出现的字符串value,如果没有找到,返回-1
	3)String substring(int index ):提取从位置索引开始的字符串部分
	4)String substring(int beginindex,intendindex):提取beginindex和endindex之间的字符串部分
9、split("拆分标志符"):按自定义规则拆分一个字符串,返回值是一个字符串数组
10、concat():追加字符串,返回值是一个字符串

StringBuffer

StringBuffer:对字符串频繁修改(如字符串连接)时,使用StringBuffer类可以大大提高程序执行效率,改变的不是字符串的副本,是字符串本身

StringBuffer声明

StringBuffer s = new StringBuffer();
StringBuffer s = new StringBuffer("aaa");

StringBuffer的使用

s.toString();  //转化为String类型
s.append("**");   //追加字符串
s.insert(1,"**");    //在指定位置插入字符串

String, StringBuffer StringBuilder 的区别

答:String 的长度是不可变的;StringBuffer 的长度是可变的,如果你对字符串中的内容经常进行操作,特别是内
容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer 的toString()方法;线程安全;
StringBuilder 是从JDK 5 开始,为StringBuffer 该类补充了一个单个线程使用的等价类;通常应该优先使用
StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。

日期时间的操作

1、用Date、SimpleDateFormat来格式化日期
获取当前日期:java.util.Date类(表示日期和时间)
格式化日期:java.text.SimpleDateFormat类(用于定制日期时间的格式)
//定制时间格式化:年-月-日  时:分:秒
	例如:SimpleDateFormat formater = new SipleDateFormat("yyyy-MM-dd HH:mm:ss");
		String dateStr = formater.format(date);
2、用Calendar来操作日期时间(Calendar是抽象类,所以不用去new,直接用getInstance()方法)
	例如:
		Calendar c = Calendar.getInstance();
		int year = c.get(Calendar.YEAR);//Calendar的YEAR静态属性
		int month = c.get(Calendar.MONTH);//Calendar的MONTH静态属性
		int day = c.get(Clendar.DAY_OF_MONTH)+1;//月份是0~11,所以需要进行加1操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值