常用的java类库_Java常用类库

1、Object类

packageLESSON8;public classDEMO1 {/**java.lang.Object类是类层次结构中最顶层父类(根类/基类/超类)。

所有的类(包括数组)直接或者间接的继承自Object类,同时也继承了该类中的方法。

Object的构造方法

Object类只有一个无参的构造方法

Object()

Object中常用的方法

boolean equals(Object o) 比较两个对象是否相同

int hashCode() 返回一个对象的哈希码

String toString() 将一个对象转换为字符串*/

public static voidmain(String[] args) {

Object o1=newObject();

Object o2=newObject();

Object o3=o2;//equals(Object object)方法和==比较的区别//==可以比较基本数据类型也可以比较引用数据类型,equals只能用来比较引用数据类型//在Object类中。==和equals比较的是首地址和内容是否相等//在其他类中,==表示比较首地址和内容是否相等,而equals只比较内容

System.out.println(o1.equals(o2));//false

System.out.println(o1==o2);//false

System.out.println(o2.equals(o3));//true//获取对象的哈希码

System.out.println(o1.hashCode());//24417480

System.out.println(o2.hashCode());//13884241

System.out.println(o3.hashCode());//13884241

o1=o1.toString();if(o1 instanceofString){

System.out.println("我属于String");

}

}

}

packageceshi;public classceshi2 {public static voidmain(String[] args) {

ceshi2 ceshi1=newceshi2();

ceshi2 ceshi2=newceshi2();

System.out.println(ceshi1==ceshi2);//false 首地址不同

System.out.println(ceshi1.equals(ceshi2));//false 自己写的测试类,默认继承Object类,equals为Object类的方法。在object类中,==和equals比较的是首地址和内容是否相同

System.out.println("------------------------");

String a=new String("foo");

String b=new String("foo");

System.out.println(a==b);//false//在其他类中(如String),==表示比较首地址和内容是否相等,而equals只比较内容

System.out.println(a.equals(b));//true

}

}

packageceshi;public class ceshi3 extends ceshi2{//继承ceshi2但ceshi2继承Object

public static voidmain(String[] args) {

ceshi3 ceshi1=newceshi3();

ceshi3 ceshi2=newceshi3();

System.out.println(ceshi1==ceshi2);//false

System.out.println(ceshi1.equals(ceshi2));//false

}

}

重写Object类的equals方法和toString方法

packageLESSON8;public classStudent {privateString stuNo;privateString name;public voidsetStuNo(String stuNo) {this.stuNo =stuNo;

}public voidsetName(String name) {this.name =name;

}publicString getStuNo() {returnstuNo;

}publicString getName() {returnname;

}// @Override//重写Object类的equals方法

public booleanequals(Object arg0) {if(this.stuNo.equals(arg0))

{return true;

}else{return false;}

}

@Override//重写Object类的toString方法,返回指定的字符串内容。实例化后打印该类的对象时会出现这个指定返回的字符串System.out.println(stu);

publicString toString() {//TODO Auto-generated method stub

return "姓名:"+this.name+"学号:"+this.stuNo;

}public static voidmain(String[] args) {

Student stu=newStudent();

stu.setName("张三");

stu.setStuNo("201301");

System.out.println(stu.equals("201302"));

System.out.println(stu);

}

}

2、String类

packageLESSON8;public classDEMO2 {/**String类代表字符串,是不可变对象,字符串是常量。它的值创建之后就不可以再修改了

第一种创建方法:String str=new String();

第二种创建方法:String str="";

声明和创建字符串对象的方式

第一种方式:使用new调用构造器

String s=new   String(..);

对象保存在堆内存中,每次都会返回一个新的对象。

第二种方式:直接赋值

String s="...";

对象保存在常量池中,如果不存在相同内容的对象将创建新    对象,如果存在将不创建新对象。*/

public static voidmain(String[] args) {

String s15="aaa";

String s16="aaa";

System.out.println(s15==s16);//true

System.out.println(s15.equals(s16));//true

String s17=new String("aaa");

String s18=new String("aaa");

System.out.println(s17==s18);//false

System.out.println(s17.equals(s18));//true

String s1="abc";

String s2="acc";//System.out.println(s1.charAt(0));//返回下标对应的char值

System.out.println(s1.charAt(0));//a//被比较的对象,靠后差几位就返回负几//被比较的对象,靠前差几位就返回正几

System.out.println(s1.compareTo(s2));//-1//如果两个字符串长度不相同时,比较的是长度

String s3="baaa";

String s4="a";

String ss="b";

System.out.println(s3.compareTo(s4));//1(a在b前面一位)

System.out.println(s3.compareTo(ss));//3

String s5="abcd";

System.out.println(s5.concat("123"));//连接两个字符串

System.out.println(s5+"123");//连接两个字符串

System.out.println(s5.contains("abc"));//是否包含某个字符

System.out.println(s5.endsWith("acd"));//是否以某个字符串结束

System.out.println(s5.startsWith("a"));//是否以某个字符串开始

System.out.println(s5.equals("abcd"));//比较内容是否相同

System.out.println("------------------------");byte[] bs=s5.getBytes();//返回一个byte类型的数组

for (int i = 0; i < bs.length; i++) {

System.out.println(bs[i]);//97---

}

System.out.println("--------------------------");

String s6="abada";

System.out.println(s6.indexOf("a"));//字符串中字符第一次出现的索引

System.out.println(s6.lastIndexOf("a"));//字符串中字符最后一次出现的索引

String s7="abcd";

System.out.println(s7.isEmpty());//是否为空,长度是否为0

System.out.println(s7.length());//返回字符串的长度

String s8="你最喜欢读书";

System.out.println(s8.replace("读书", "打游戏"));//替换字符串中的字符

System.out.println("----------------------------");

String s9="1999-12-3";

String [] str=s9.split("-");//指定字符串进行拆分,返回一个字符串数组

for(String s : str) {

System.out.print(s);

}

System.out.println("--------------------------------");

String s10="Abcde";

System.out.println(s10.substring(1));//截取字符串,包括该下标对应字符串 bcde

System.out.println(s10.substring(1,3));//截取字符串,包前不包后 bc

System.out.println(s10.toUpperCase());//转大写

System.out.println(s10.toLowerCase());//转小写

System.out.println("-----------------------------------");

String s11="abcde";char[] c=s11.toCharArray();//返回一个字符数组

for (charch : c) {

System.out.println(ch);

}

System.out.println("-------------------------------------");

String s12=" ab cd ";

System.out.println(s12.trim());//去掉前后空格//String.valueOf(基本数据类型);//将基本数据类型转化为String类型

int password=123456;

System.out.println(String.valueOf(password)instanceofString);

}

}

3、StringBuffer和StringBuilder

都是带有缓冲区的可变字符串,StringBuffer是线程安全的、StringBuilder线程不安全

packageLESSON8;public classDEMO3 {/**一个String对象的长度是固定的,不能改变它的内容,也不能附加新的字符至String对象中。

可以使用加号“+”运算符来连接字符串以达到附加新字符或字符串的目的,但使用加号“+”运算符

会产生一个新的String实例,即需要另外分配空间。如果既想节省开销,又能改变字符串的内容,

则可以使用StringBuilder 类。*/

public static voidmain(String[] args) {

StringBuffer sf1=new StringBuffer("可变字符串");

System.out.println(sf1);

sf1.append("线程安全");//追加System.out.println(sf1);//输出“可变字符串线程安全”

StringBuffer sf2=new StringBuffer("可变字符串");

sf2.insert(0, "线性安全的");//在指定下标之前插入内容System.out.println(sf2);//输出“线性安全的可变字符串”

//注意:s1.insert(1, s1);//不在0位置插入自己时会出现错误 方法bug

StringBuffer sf3=new StringBuffer("可变字符串");

sf3.reverse();//反转该字符串的前后顺序System.out.println(sf3);//输出“ 串符字变可”

String s1=new String("不可变字符串");

System.out.println(s1);//输出“不可变字符串”

s1.concat("啊");

System.out.println(s1);//输出“不可变字符串”}

}

4、包装类

八种基本数据类型的包装类Byte、Short、Integer、Long、Double、Float、Boolean、Character。

包装类提供了字符串、基本数据类型和包装类相互转化的方法。

packageLESSON8;public classDEMO4 {/**以int为例*/

public static voidmain(String[] args) {//int >>Integer

int in1=123;

Integer integer1=in1;//1装箱

System.out.println(integer1);

Integer integer2=new Integer(in1);//2构造器

System.out.println(in1);

Integer integer3=Integer.valueOf(in1);//3调用Integer类的valueOf方法

System.out.println(integer3);//Integer>>int

Integer integer4=new Integer(1234);int in2=integer4;//1拆箱

System.out.println(in2);int in3=integer4.intValue();//2调用Integer类的intValue方法

System.out.println(in3);//int>>String

int in4=12345;

String str1=String.valueOf(in4);//1调用String类的valueOf方法

System.out.println(str1);

Integer integer5=newInteger(in4);

String str2=integer5.toString();//2调用Integer类的toString方法

System.out.println(str2);

String str3=in4+" ";//3

System.out.println(str3);//String>>int

String str4="123456";int in5=Integer.parseInt(str4);//1调用Integer类的parseInt方法

System.out.println(in5);int in6=Integer.valueOf(str4);//2调用Integer类的valueOf方法转化为Integer类型,然后拆箱

System.out.println(in6);//String>>Integer

String str5="1234567";

Integer integer6=Integer.valueOf(str5);//1调用Integer类的valueOf方法

System.out.println(integer6);

Integer integer7=new Integer(str5);//2构造器

System.out.println(integer7);//Integer>>String

Integer integer8=new Integer(12345678);

String str6=integer8.toString();//1调用Integer类的toString方法

System.out.println(str6);

String str7=String.valueOf(integer8);//2调用String类的valueOf方法

System.out.println(str7);

}

}

Character包装类除了提供以上char和Character相互转换的方法外也提供了以下有用的方法

packageLESSON8;public classDEMO5 {

public static voidmain(String[] args) {//TODO Auto-generated method stub

System.out.println(Character.isLetter('A'));//是否是字母

System.out.println(Character.isDigit('1'));//是否是数字

System.out.println(Character.isUpperCase('A'));// System.out.println(Character.isLowerCase('a'));

System.out.println(Character.toUpperCase('b'));

System.out.println(Character.toLowerCase('C'));

System.out.println(Character.toString('f') instanceofString);

System.out.println(Character.isWhitespace('a'));//是否是空格

}

}

5、Math类

在java.lang.Math类中提供了在数学应用中常见的常量(如:PI值)以及方法(如:三角函数)

packageLESSON8;public classDEMO6 {

public static voidmain(String[] args) {//TODO Auto-generated method stub

System.out.println(Math.PI);

System.out.println(Math.abs(-11));

System.out.println(Math.ceil(12.3));//向上取整

System.out.println(Math.floor(12.3));//向下取整

System.out.println(Math.max(3, 5));

System.out.println(Math.min(7, 5));

System.out.println(Math.round(-11.5));//结果为-11 四舍五入 算法为:Math.floor(x+0.5)。即为负数时最后一位为5时会出现错误

System.out.println(Math.pow(2, 3));

System.out.println(Math.random());//随机数,0-1(包括0不包括1) System.out.println(Math.sqrt(16));

}

}

6、System类

static void exit(int status)  终止当前正在运行的 Java 虚拟机。

static void gc()     运行垃圾回收器。

packageLESSON8;public classDEMO7 {public static voidmain(String[] args) {if (2>11) {

System.exit(0);//退出JVM

}

System.out.println("虚拟机");

System.gc();//运行垃圾回收站

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值