Java高级特性-实用类

Java API(java应用程序编程接口)
常用的包:
》java.lang
  包含Java程序的基础类和接口。包装类、Math类、String类等;还提供了用于管理类的动态加载、外部进程创建、主机环境查询、安全策略实施等系统操作的类。
》java.util
  包含了系统辅助类,特别是集合类(Collection、List、Map等)
》java.io
  包含了与输入/输出有关的类,如文件操作等类
》java.net
  包含了与网络有关的类,如Socket、ServerSocket等类
》java.sql  
  包含了与数据库相关的类,如Connection、Statement等类
  
枚举
 是指由一组固定的常量组成的类型,使用关键字enum定义
示例:
public enum Week{
   MON,TUE,WED,THU,FRI,SAT,SUN

优点:
》使代码更易于维护,有助于确保为变量指定合法的、期望的值
》更易于输入  枚举名.类型的值
》允许用描述性的名称表示数据,使用时直观方便

包装类
  Java中的基本数据类型不是面向对象的,为解决这个不足,为每个基本数据类型设计了一个对应的类,称为包装类。

包装类和基本数据类型的对应关系:
基本数据类型----------------》包装类
byte---------->Byte
boolean-------->Boolean
short-------->Short
char-------->Character
int-------->Integer
long-------->Long
float-------->Float
double-------->Double

包装类的用途:
》方便对象操作
》包含每种基本数据类型的相关属性(最大值、最小值)以及相关的操作方法。

包装类和基本数据类型的转换:
》基本数据类型转换为包装类(装箱)
》包装类转换为基本数据类型(拆箱)

使用Meth类生成随机数
  常见方法:
  》static double abs(double a):返回double值的绝对值
  》static double max(double a,double b):返回double值较大的一个
  》static double random():返回double值,该值>=0.0且小于1.0

产生随机数0~9的方法
int random =(int)(Math.random()*10)

使用String类操作字符串
》字符串长度------str.lengh();--返回字符串的长度
》字符串比较------s1.equals(s2);--逐个比较每个字符是否相同,大小写也在检查范围内
》忽略大小写的字符串比较-----s1.equalsIgnoreCase(s2);
》英文字母转化为小写-----s1.toLowerCase
》英文字母转化为大写-----s1.toUpperCase
》字符串的连接----s1.concat(s2);----字符串s2被连接在字符串s1后面,返回连接后的新的字符串
注意:
  在Java中。==与equals()应用于两个字符串时,==判断的是两个字符串在内存中的地址,equals()判断的是两个字符串对象的值。
  
字符串提取和查询:
》public int indexOf(int ch)
》public int indexOf(String value)
搜索第一出现的字符或者字符串的位置,索引从0开始
--------------------------------------------------
》public int lastIndexOf(int ch)
》public int lastIndexOf(String value)
搜索最后一个出现的字符或者字符串的位置,索引从0开始
--------------------------------------------------
》public String substring(int index)//提取从位置索引开始的字符串部分
》public String substring(int indexstart,int indexend )//提取之间的字符串部分[)
》public String trim()//去空格
返回的值若为-1,表示不存在。

》字符串拆分
  s1.split(separator,limit);
  》separator为可选项,标志拆分字符串时使用的一个或多个字符。如果不选择该项,则返回包含该字符串所有单个字符串的元素数组
  》limit为可选项,该值用来限制返回数组中的元素个数
  
StringBuffer类和StringBuilder类
  StringBuffer类比String类更高效地存储字符串的一种引用数据类型。特别是对字符串进行连接操作时,使用StringBuffer类可以大大提高程序的执行效率。
  
声明StringBuffer对象并初始化:
  StringBuffer sb2=new StringBuffer("青春无悔");
常用的StringBuffer类方法
 》toString()方法-------转化为String类型的对象并返回
 》append()方法---s1.append(参数)---追加字符串
 》insert()方法---s1.insert(位置,参数);----插入字符串
 
String类、StringBuffer类以及StringBuilder类的比较:
 》String:字符串常量
    String是不可变的对象,每次对String类型进行改变的时候,都等同于生成一个新的String对象,所以经常改变内容的字符串最好不要用String类型。
 》StringBuffer:字符串变量
 每次对StringBuffer对象进行改变时,是对其本身进行操作,而不是生成新的对象,所以经常改变内容的字符串,推荐使用。
 》StringBuilder:字符串变量
 与StringBuffer类等价。区别:StringBuffer类是线程安全的;StringBuilder类是单线程的,不提供同步,理论上效率更高。
 
----------------------------------------
日期时间类
Date类对象用来表示日期和时间;
格式化日期:
示例:
Date date=new Date();
SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//formater.format(date);
System.out.println("当前时间----》"+formater.format(date));

Calendar类也是用来操作日期和时间的类(可以当作万年历)
》int get(int field) ---->返回给定日历字段的值
》YEAR ---->指示年
》MONTH ---->指示月(月要加一)
》DAY_OF_MONTH ---->指示一个月中的某天
》DAY_OF_WEEK ---->指示一个星期中的某天(星期几要减一)

示例:
Calendar t=Calendar.getInstance();//获得Calendar对象
System.out.println("年----》"+t.get(Calendar.YEAR));
System.out.println("月----》"+(t.get(Calendar.MONTH)+1));
System.out.println("日----》"+t.get(Calendar.DAY_OF_MONTH));
System.out.println("星期几----》"+(t.get(Calendar.DAY_OF_WEEK)-1));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值