当前位置: 首页 > 后端技术 > Java

【Java基础11】常用API(一)

时间:2023-04-02 01:34:48 Java

1.ObjectObject是所有类的基类,包括数组。当一个类没有继承自其他父类时,默认自动继承自Object。1.1toStringpublicStringtoString();默认情况下,此方法返回(完整类名@地址)。这些信息一般没什么用,用户通常希望通过toStrong获取类内部细节。所以这个方法的意思就是要被子类重写,显示重要信息。//示例类publicclassStudent{privateStringname;私人年龄;私人字符串性别;publicStudent(){}publicStudent(Stringname,intage,Stringsex){this.name=name;这个。年龄=年龄;this.sex=性别;}publicStringgetName(){返回名称;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){返回年龄;}publicvoidsetAge(intage){this.age=age;}publicStringgetSex(){返回性别;}publicvoidsetSex(Stringsex){this.sex=sex;}}//Student类中添加方法@OverridepublicStringtoString(){return"Student{"+"name='"+name+'\''+",age="+age+",sex='"+sex+'\''+'}';}//示例publicclassTest1{publicstaticvoidmain(String[]args){Studentstudent=newStudent("张三",18,"男");System.out.println(学生);}}1.2equalspublicbooleanequals(Objecto);默认情况下,当前类与传递的对象进行地址比较,结果以布尔值返回,用于比较两个变量。可以直接使用==,但这只适用于基本类型,引用类型会有问题。对象比较需要重写equals方法进行比较//在Student中增加一个方法@Overridepublicbooleanequals(Objecto){//判断两个类的地址是否相同if(this==o)returntrue;//判断传入的是否为空,是否与当前类类型相同if(o==null||getClass()!=o.getClass())returnfalse;学生student=(Student)o;//判断两个对象成员变量的内容是否相同(String[]args){Studentstudent1=newStudent("A",18,"Male");学生student2=newStudent("B",20,"女");学生student3=newStudent("B",20,"女");System.out.println(student1==student2);System.out.println(student2==student3);System.out.println(student1.equals(student2));System.out.println(student2.equals(student3));}}2。Objects这是jdk自带的一个工具类。该类中的方法都是静态方法,可以直接调用。2.1equalspublicstaticbooleanequals(Objecta,Objectb)比较两个类,是否都一样,但是被比较的类还是需要重写equals方法//examplepublicclassTest3{publicstaticvoidmain(String[]args){Studentstudent1=newStudent("A",18,"Male");学生student2=newStudent("B",20,"女");Studentstudent3=newStudent("B",20,"女");System.out.println(Objects.equals(student1,student2));System.out.println(Objects.equals(student2,student3));}}2.2isNullpublicstaticbooleanisNull(Objecto){return(a==b)||(a!=null&&a.equals(b));}判断变量是否为nullpublicclassTest4{staticintb;静态字符串x;静态字符串y="aa";静态整数a=10;publicstaticvoidmain(String[]args){System.out.println(Objects.isNull(x));System.out.println(Objects.isNull(y));System.out.println(Objects.isNull(a));System.out.println(Objects.isNull(b));}}3.StringString表示一个字符串,java中所有的字符串都会被实例化成String类型3.1结构BuildernewString()newString(Stringstr)newString(byte[]bytes)...3.2常用方法//获取字符串中下标对应的字符publiccharcharAt(intindex)//获取字符数组ofthestringpublicbyte[]getBytes()//返回指定子字符串第一次出现的索引publicintindexOf(Stringstr)//返回指定子字符串最后一次出现的索引publicintlastIndexOf(Stringstr)//返回字符串的长度publicintlength()//返回并替换第一次出现的字符串,并将oldChar替换为newCharpublicStringreplace(charoldChar,charnewChar)publicStringreplace(StringoldChar,StringnewChar)//用给定的字符串替换旧字符串中所有符合规则的字符串publicStringreplaceAll(Stringregex,Stringreplacement)//按照一定的规则拆分字符串,返回一个字符串数组publicString[]split(Stringregex)//测试字符串是否以指定字符串开头publicbooleanstartsWith(Stringprefix)publicbooleanstartsWith(Stringprefix,inttoffset)//测试字符串是否以指定字符串结尾publicbooleanendsWith(Stringsuffix)//小写字符串publicStringtoLowerCase()//大写字符串publicStringtoUpperCase()//去除字符串前后的空格并返回publicStringtrim()3.3示例publicclassStringTest{publicstaticvoidmain(String[]args){Stringx="你以为你可以,你可以";System.out.println(x.charAt(1));System.out.println(Arrays.toString(x.getBytes()));System.out.println(x.indexOf("你"));System.out.println(x.lastIndexOf("可以"));System.out.println(x.length());System.out.println(x.replace("你","我"));System.out.println(x.replaceAll("你","我"));System.out.println(Arrays.toString(x.split("")));System.out.println(x.startsWith("你"));System.out.println(x.startsWith("你"));System.out.println(x.endsWith("可以"));System.out.println(x.endsWith("可以"));System.out.println(x.toUpperCase());System.out.println(x.toLowerCase());System.out.println(x.trim());}}4.StringBuilder是一个字符串优化操作类,由于String在1.5之后是不可变的,所以这个类是可变的。4.1构造函数newStringBuilder()newStringBuilder(Stringstr)4.2常用方法//在字符串末尾追加内容publicStringBuilderappend(Objecto)//反转字符串并返回publicStringBuilderreverse()//返回字符串Lengthpublicintlength()//将类型转换为StringpublicStringtoString()4.3示例publicclassStringBuilderTest{publicstaticvoidmain(String[]args){StringBuilderstringBuilder=newStringBuilder("HelloWorld");系统输出。println(stringBuilder);stringBuilder.append("Java");System.out.println(stringBuilder);System.out.println(stringBuilder.reverse());System.out.println(stringBuilder.length());字符串x=stringBuilder.toString();System.out.println(x);}}4.4String和StringBuilderString是不可变的,StringBuilder是可变的,String每次赋值都会创建一个新的对象,StringBuilder每次都是从常量池中获取修改后的值。5.数学本课程提供基本的数学计算。不提供公共构造方法,直接调用静态方法。5.1常用方法//绝对值publicstaticintabs(inta)//向上舍入publicstaticdoubleceil(doublea)//向下舍入publicstaticdoublefloor(doublea)//向上舍入publicstaticintround(floata)//取最大值publicstaticintmax(inta,intb)//返回a的b次方publicstaticdoublepow(doublea,doubleb)//返回一个随机值[0.0~1.0]publicstaticdoublerandom()5.2示例publicclassMathTest{publicstaticvoidmain(String[]args){System.out.println(Math.abs(-10));System.out.println(Math.ceil(4.4));System.out.println(Math.floor(4.4));System.out.println(Math.max(2,9));System.out.println(Math.pow(2,2));for(inti=0;i<10;i++){System.out.println(i+":"+Math.random());}}}6。System这是一个系统类,提供系统相关内容,代表当前系统。6.1常用方法//阻止当前运行的jvm,当status不为0时表示异常终止publicstaticvoidexit(intstatus)//放回当前系统时间,毫秒(开始时间)publicstaticlongcurrentTimeMillis()//数组复制publicstaticvoidarraycopy(datasourcearray,startindex,destinationarray,startindex,copysnumber)6.2例子publicclassSystemTest{publicstaticvoidmain(String[]args){intx[]={1,3,5},y[]={2,4,6};System.out.println(System.currentTimeMillis());System.arraycopy(x,0,y,0,y.length);System.out.println(Arrays.toString(x));System.out.println(Arrays.toString(y));系统.exit(0);}}7.BigDecimal主要解决浮点数计算中丢失精度的问题7.1常用方法//初始化BigDecimalpublicstaticBigDecimalvalueOf(doubleval)//addpublicBigDecimaladd(BigDecimalb)//subtractpublicBigDecimalsubtract(BigDecimalb)//multiplypublicBigDecimalmultiply(BigDecimalb)//除法publicBigDecimaldivide(BigDecimalb)//除法,精确到指定位数publicBigDecimaldivide(另一个BigDecimal对象,精确到几位,四舍五入方式)7.2ExamplepublicclassBigDecimalTest{publicstaticvoidmain(String[]args){BigDecimalbigDecimal1=BigDecimal.valueOf(4.0);System.out.println(bigDecimal1.add(BigDecimal.valueOf(3.1)));System.out.println(bigDecimal1.subtract(BigDecimal.valueOf(1.1)));系统。out.println(bigDecimal1.multiply(BigDecimal.valueOf(3)));//下面的方法会报错,结果不能整除,所以需要加上四舍五入的数字//System.out.println(bigDecimal1.divide(BigDecimal.valueOf(3)));System.out.println(bigDecimal1.divide(BigDecimal.valueOf(3),3));}}本章结束,供个人学习和初学者使用,勿喷!希望大家喜欢、收藏、支持、支持!源码【GitHub】【码云】