java期末复习——java常用类

 

一、常用API

1、字符串

1.1String类(引用数据类型)

String类用来表示创建之后不会再做修改和变动的字符串常量。(用“+”会重新分配内存)

基本数据类型     int    double    char   boolean

引用数据类型     String     Scanner   Student ......

参数传递:

  • 按值         基本数据类型+String
  • 按引用      引用数据类型+数组

常用方法:

  • 长度   length()
  • 返回指定位置上的字符  charAt()
  • 从前往后查找   IndexOf()
  • 从后往前查找   lastIndexOf()
  • 删除   replace()
  • 截取  substring()
  • 分割   split()
  • 转字符数组   toCharArray()
  • 判断是否相等  equals()
  • 字符转小写   toLowerCase()
  • 字符转大写    toUpperCase()
  • 去掉字符串前后空格   trim()

常用方法实例:

String s1="123";//常量有专门的内存
String s2=new String("123");
//s1  s2是否相等(对象是否相等   值是否相等)
if(s1==s2){//对象是否相等 同一段内存
   Systring.out.println("同一个对象s1==s2");
}
if(s1.equals(s2)){//值是否相等equals
   Systring.out.println("同一个对象s1==s2");
}

...........


1.2StringBuffer类

StringBuffer   在同一段内存中操作

reverse()   反转字符串

toString()  返回一个“以文本方式表示”此对象的字符串。把数值型转换为字符串并返回结果。

基本类型和与之对应的包装类:

基本数据类型包装类基本数据类型包装类
booleanBooleanintInteger
byteBytelongLong
charCharacterflaotFlaot
shortShortdoubleDouble

判断一个字符串是否为回文:

public class reverse{
    public static void main(Stirng[] args){
        String source="abcbacf";
        StirngBuffer s1=new StringBuffer(source);
            StringBuffer dest=s1.reverse();
            if(source.equals(dest.toString())
                 System.out.println("是回文");
            else
                 System.out.println("不是回文");
         
    }
}

将数字转为字符串:

String s=a+"";

s=String.valueof(a);

转数字:parseInt();

转小数:parseDouble();

2、处理日期类

类Date表示特定的瞬间,精确到毫秒

(1)Date()   //分配Date对象并初始化此对象,以表示分配它的时间。

(2)SimpleDateFormat()   //用默认的模式和默认语言环境的日期格式符号构造。

Date类中的方法不易于实现国际化,大部分方法都被废弃了。而java.text.SimpleDateFormat类是一个以语言环境有关的方式来格式化和解析日期的具体类。它可以格式化日期对象(即将日期对象转化成文本字符串)、解析文本转化成日期类对象。

(3)java.util.Calender类

Calender日历类是一个抽象类,主要用于日期字段之间相互操作,设置和获取日期数据的特定部分。

修改时间分量:

c.set(Calender,DAY_OF_MONTH,0);   //0表示1月。(0表示星期天,1表示星期一)

3、Math类

Math有两个静态常量:E(自然数)和  PI(圆周率)。

Math类是final类,因此不被继承。Math类的构造方法时private,所以不可以被实例化。

Math类的常用方法:

  • 绝对值:abs()
  • 返回大于或等于参数的最小整数:ceil()
  • 返回小于或等于参数的最大整数:floor()
  • 返回两个参数的最大值:max()
  • 返回两个参数的最小值:min()
  • 返回舍五入的整数值:round()
  • 正弦函数:sin()
  • 余弦函数:cos()
  • 正切函数:tan()
  • 返回自然对数的幂:exp()
  • 平方根:sqrt()
  • 幂运算:pow()

☆随机函数:random

取给定范围的随机数:(int)(Math.random()*(max-min+1)+min);

4、数组(p110-114)

(1)数组的声明(两种格式)

type arrayName[]; 或 type[]arrayName;

注意:不允许在数组后的方括号内指定数组元素的个数。(可以用 【数组名.length】)

..........


二、Java集合框架

Java集合类分为三种类型:

  • Set(集):集合中的对象不按照特定方式排序,不允许有重复对象。某些实现类可以对集合中的对象按特定的方式排序。(Set集合中的元素位置无顺序;有且只有一个值为null的元素
  • List(列表):集合中的对象按索引位置排序,允许有重复对象。List与数组有些相似。
  • Map(映射):集合中每个元素包含一个键(Key)和一个值(Value),集合中键不重复,值可以重复

Collection :单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是List和Set。其中,List的特点是元素有序、元素可重复。Set 的特点是元素无序,而且不可重复。List接 口的主要实现类有ArrayList(动态数组)和LinkedList,Set接口的主要实现类有HashSet(元素是无序的)和TreeSet(元素是有序的)。

1、Set接口实现类:

       Set是最简单的一种集合,集合中的对象不按照特定方式排序,并且没有重复对象。 也就是说,当容器中已经存储一个相同的元素时,无法添加一个完全相同的元素。Sat 接 口中最常用的实现类有3个,即HashSet、LinkedHashSet、 TreeSet, 重点介绍HahSet。

如果要存放自定义类的对象又该怎么办呢?

那就重写equals()方法和hashCode()方法,它们的祖先类Object()方法,需要重写覆盖着两个方法。

 

Set:不重复

  • TreeSet:自动排序
  • HashSet

2、List接口实现类:

        List接口继承了Collection接口,它是一个允许存在重复元素的有序集合。List 接口不仅能够对列表的一部分进行处理,还可以具体对某个索引进行操作。List接口主要实现类包括ArrayList和Vector。
       ArrayList与 Vector都实现了接口List, 它们之间最大的区别就是Vector是线程同步的而ArrayList没有进行同步。同时,Vector类中重写了toString( )方法,可以直接将Vector集合中的元素打印输出显示。在使用上ArrayList类与Vector类同。

List只能引用数据类型,默认则为Object。

List  list = new ArrayList();

List<Student>(泛型) list = new ArrayList<Student>();

LinkedList:链表

Vector:同ArrayList,但线程安全


2、Map接口

       Map接口不是Collection的子类,Map(映射)是一种把键对象和值对象进行映射的集合,它的每个元素都包含了一对键对象和值对象。

        Map接口定义了存储键(Key )值( Value )映射对的方法,Map 中不能有重复的键, Map中存储的键值对是通过键来唯一标识的, Map的“键”是用Set存放的,所以键对应 的类必须重写hashCode()和equals()方法,通常用String类作为键。

        Map :双列集合类的根接口,用于存储具有键(Key)、值(Value)映射 关系的元素,每个元素都包含一对键值,在使用Map集合时可以通过指定的Key找到对应的Value,例如根据一个学生的学号就可以找到对应的学生。Map接口的主要实现类有HashMap和TreeMap。

Map接口中定义的一些常用方法如下。

Object put(Object key,Object value)        //向Map中放入一个键值对,如果该键存在,则与此键对应的值将被新值取代

Object remove(Object key)     //删除指定键值对

Object get(Objeckt key)       //获得与关键对象key相关的值对象

Set keySet()      //返回Map中的键对象,存放于Set中

HashTable:线程安全

☆迭代器输出:(foreach)适合所有的集合类(利用了集合的迭代器)

//支持所有的Collection

for(Student s:list)  //Student 元素类型变量   list 集合,对象
{
    s.show();

}

总结

知识点不是很完善,仅供参考。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值