博客即笔记,分享笔记,望指正。
api帮助文档
一.Object
1.toString
public String toString(){
return getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
}
一般需要重写toString方法
package 常用类;
public class Demo01 {
public static void main(String[] args) {
Demo02 a=new Demo02(2010,10,20);
System.out.println(a.toString());
}
}
public class Demo02 {
int year;
int month;
int day;
public Demo02(int x,int y,int z) {
this.year=x;
this.month=y;
this.day=x;
}
public Demo02() {
}
public String toString() {
return year+"年"+month+"月"+day+"日";
}//重写
}
2.equals
public boolean equals(Object obj)
return this==obj
package 常用类;
public class Demo03 {
public static void main(String[] args) {
Student a=new Student(001,“pig”);
Student b=new Student(001,“pig”);
System.out.println(a==b);
System.out.println(a.equals(b));
}
}
class Student{
private int num;
private String school;
public Student(int num,String school) {
this.num=num;
this.school=school;
}
public boolean equals(Object obj) {
if(obj==null||!(obj instanceof Object))
return false;
if(this==obj)
return true;
Student s=(Student)obj;
return this.num==s.num&&this.school.equals(s.school);
}
}
注:String类,已经对toString,equals进行了重写,可直接调用
package 常用类;
public class Demo04 {
public static void main(String[] args) {
String a=“ccc”;
String b=“aaa”;
System.out.println(a.equals(b));
System.out.println(a.toString());
}
}
3.finalize
protected void finalize() throws Throwable{
}
如果垃圾过少,finalize未必会被调用,以免造成时间浪费
package 常用类;
public class Demo06 {
public static void main(String[] args) {
for(int i=0;i<1000;i++) {
Person a=new Person();
a=null;//回收垃圾
System.gc();//建议调用finalize方法,但是未必调用
}
}
}
class Person{
protected void finalize() throws Throwable{
System.out.println(this+“即将被消除”);
}
}
4.hashCode
public int hashCode(){
}
5.Clone
二.String
1.String构造方法
输出内容为引用时,自动调用toString;
package 常用类;
public class Demo11 {
public static void main(String[] args) {
byte[] a= {97,98,99};
String s1=new String(a);//调用public String(byte[] bytes){}
System.out.println(s1);
//输出字符串的部分
String s2=new String(a,1,2);//调用public String(byte[] bytes,int offset,int length)
System.out.println(s2);
char[] b= {‘我’,‘是’,‘中’,‘国’,‘人’};
String[] c= {“xmnkk”,“s”};
//输出char数组
String s3=new String(b);
System.out.println(s3);
//输出部分
String s4=new String(b,1,2);
System.out.println(s4);
for(int i=0;i<c.length;i++) {
System.out.println(c[i]);
}
String s5=new String(“hhh”);
System.out.println(s5);
}
}
2.charAt
public char charAt(int Index){
return char;
}
public class Demo12 {
public static void main(String[] args) {
char a="zgu哦".charAt(1);
System.out.println(a);
}
}
3.compareTo
用于比较两个字符串的大小
class Demo12{
public static void main(String[] args) {
int a="asd".compareTo("cvd");
System.out.println(a);//-2
int b="abc".compareTo("abc");
System.out.println(b);//0
int c="bgu".compareTo("akjhh");
System.out.println(c);//1
}
}
4.contains
public boolean contains(CharSequence s)
public class Demo13 {
public static void main(String[] args) {
//判断前面的字符串是否包含后面的字符串
System.out.println("http://baidu.com".contains("baidu"));//true
System.out.println("huchuj".contains("dsnvj"));//false
}
}
5.endWith
public boolean endWith(String suffdix)
public class Demo14 {
public static void main(String[] args) {
//判断前面的字符串是否以后i面的字符串结尾
System.out.println("test.txt".endsWith(".java"));//false
System.out.println("a.java".endsWith(".java"));//true
}
}
6.equalsIngnoreCase
public boolean equalsIgnoreCase(String anotherString)
public class Demo15 {
public static void main(String[] args) {
//比较两个数是否相等,忽略大小写
System.out.println("aBC".equalsIgnoreCase("ABc"));//true
}
}
7.getBytes
public byte[] getByte()
public class Demo16 {
public static void main(String[] args) {
//将字符串转化为byte数组
byte[] a="abcdef".getBytes();
for(int i=0;i<a.length;i++) {
System.out.println(a[i]);
}
}
}
8.indexOf
public int indexOf(String str)
public class Demo17 {
public static void main(String[] args) {
//判断某子字符串在当前字符串中第一次出现的索引(下标)
System.out.println("c+++---java".indexOf("java"));//7
}
}
9.isEmpty
public boolean isEmpty()
public class Demo18 {
public static void main(String[] args) {
//判断某字符串是否为空字符串,底层调用length()
String a="";
String b=“a”;
System.out.println(a.isEmpty());//true
System.out.println(b.isEmpty());//false
}
}
10.length
public int length()
public class Demo19 {
public static void main(String[] args) {
//判断字符串长度
String a="nnnn";
System.out.println(a.length());//4
}
}
11.lastIdexOf
public int lastIndexOf(String str)
//判断最后一次出现的索引
System.out.println("c++--javapypjava".lastIndexOf("java"));//12
12replace
public String replace(char oldChar,
char newChar)
public class Demo20 {
public static void main(String[] args) {
//将字符串的内容进行替换、
String a="htte://baidu.com";
System.out.println(a.replace("htte", "http"));//http://baidu,com
}
}
13.split
public String[] split(String regex)
//拆分字符串
String b="c++,java,python,c#";
String[] c=b.split(",");
for(int i=0;i<c.length;i++) {
System.out.println(c[i]);//c++ java python c#
14.startsWith
public boolean startsWith(String prefix)
//判断某个字符串是否以某个子字符串开头
System.out.println("http.//www.baidu.com".startsWith("http"));//true
15.substring
public String substring(int beginIndex)
public String substring(int beginIndex,
int endIndex)
//截取字符串
String str="htttp.//www.baidu.com";
String str1=str.substring(7);
System.out.println(str1);// /www.baidu.com
String str2=str.substring(7,10);//截取区间为【7,10)
System.out.println(str2);// /ww
16.toCharArray
public char[] toCharArray()
public class Demo21 {
public static void main(String[] args) {
//将字符串转化为char[]
String a="我是中国人";
char[] b=a.toCharArray();
for(int i=0;i<b.length;i++) {
System.out.println(b[i]);// 我 是 中 国 人
}
}
17.toLowerCase,toUpperCase
public String toLowerCase()
public String toUpperCase(Locale locale)
//字符串内容的大小写转换
System.out.println("AGHXHmkju".toLowerCase());//aghxhmkju
System.out.println("ABCDefg".toUpperCase());//ABCDEFG
18.trim
public String trim()
//去除字符串前后空白
System.out.println(" hello world".trim());//hello world
19.valueOf
public static String valueOf()s
public class Demo22 {
public static void main(String[] args) {
//将非字符串转换为字符串
int a=100;
double b=3.14;
//F c=new F();
System.out.println(String.valueOf(a));
System.out.println(String.valueOf(b));
System.out.println(new F());//调用对象的toString(),如果未重写则调用Object中的toString,输出一串地址
}
}
class F{
public String toString() {
return “我是大帅哥”;
}
}
三.StringBuffer和StringBuilder
public class Demo02 {
public static void main(String[] args) {
//为了减少对内存的占用,进行大量字符串拼接时用append,StringBuffer是多线程安全,StringBuilder非多线程安全
StringBuffer sb=new StringBuffer();
sb.append("hello");
sb.append("world");
System.out.println(sb);
StringBuilder s=new StringBuilder();
s.append(100);
s.append(true);
s.append("java");
s.append("se");
System.out.println(s);
}
}
四.8种基本数据类型的包装类
byte----java.lang.Byte
short----java.lang.Short
int----java.lang.Integer
long----java.lang.Long
float----java.lang.Float
double----java.lang.Double
boolean----java.lang.Boolean
char----java.lang.Charater
1.装箱
将基本数据类型转化为引用类型
Integer a=new Integer(100);
Integer.valueOf();
2.拆箱
将引用类型转化为基本数据类型
float b=a.floatValue();//将int转化为float
System.out.println(b);
注:除了character,boolean其余均继承了number类,通过调用number中的方法来实现拆箱
public class Demo06 {
public static void main(String[] args) {
Integer a=128;//new了一个对象
Integer b=128;
System.out.println(a==b);//false
Integer x=127;
Integer y=127;//为了提高程序的执行效率,将【-128,127】间的包装对象全部创建好,放入了方法区里的整数型常量池中,所以不需要再new了,直接取出即可
System.out.println(x==y);//true
}
}
3.Intege中常用方法
(1)手动拆箱与手动装箱
public class Demo07 {
public static void main(String[] args) {
Integer a=new Integer(100);//手动装箱
System.out.println(a);
double b=a.doubleValue();//手动拆箱
System.out.println(b);//100.0
}
}
(2)parseInt
public static int parseInt(String s)
throws NumberFormatException
//将内容为数字的字符串转换为int型数据
System.out.println(Integer.parseInt("123"));//123,
System.out.println(Integer.parseInt("中国"));//字符串内容不是数字,数字格式异常,NumberFormatException
4.int String Integer间的转换
public class Demo08 {
public static void main(String[] args) {
//int,String,Integer之间的相互转换
//int-----String
int a=100;
String s1=a+"";//加上一个""
System.out.println(s1+1);//1001
//String----int
int b=Integer.parseInt("123");
System.out.println(b);
//int-----Integer
Integer c=100;//自动装箱,
//Integer-----int
int d=c;//自动拆箱
//String-----Integer
System.out.println(Integer.valueOf(s1));
//Integer-----String
System.out.println(String.valueOf("123"));
}
}
也可以调用一些方法来转换,但我只记最为好记的
五.java对日期的处理
package 常用类2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class 常用类3 {
public static void main(String[] args) throws ParseException {
//将Date----String
Date nowTime=new Date();//参数单位为毫秒
System.out.println(nowTime);
//对日期进行实例化
SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd hh.mm.ss.SSS");
String nowTimeStr=a.format(nowTime);
System.out.println(nowTimeStr);
//将String----Date
String time="2020.2.2";
SimpleDateFormat b=new SimpleDateFormat("yyyy.M.d");
Date c=b.parse(time);
System.out.println(c);
}
}
耗时的计算
public class DateTest01 {
public static void main(String[] args) {
//获取从1970-01-01 00.00.00 000到当前时间的总毫秒数
long time=System.currentTimeMillis();
System.out.println(time);
//计算耗时
long start=System.currentTimeMillis();
print();
long end=System.currentTimeMillis();
System.out.println("总耗时为"+(end-start));
}
public static void print() {
for(int i=0;i<1000000;i++) {
System.out.println(i);
}
}
}
六.java对数字的处理
package 常用类2;
import java.text.DecimalFormat;
public class Decimal01 {
public static void main(String[] args) {
/*
* 数字格式
* ###.###表示任意数
* ,表示千分位
*.表示小数点
*0表示不足时补0
*###,###.##
*/
DecimalFormat sd1=new DecimalFormat("###,###.##");//数字格式化
String str1=sd1.format(123456);
System.out.println(str1);//123,456
DecimalFormat sd2=new DecimalFormat("##,##.0000");
String str2=sd2.format(1234567.56);
System.out.println(str2);//1,234,567.5600
}
}
1.BigDecimal
引用数据类型,精度极高,专门用于财务软件
package 常用类2;
import java.math.BigDecimal;
public class BigDecimalTest01 {
public static void main(String[] args) {
BigDecimal bd1=new BigDecimal(100);
BigDecimal bd2=new BigDecimal(200);
BigDecimal s=bd1.add(bd2);
System.out.println(s);//精度极高的300
}
}
七.Random
package 常用类2;
import java.util.Random;
public class RandomTest01 {
public static void main(String[] args) {
Random rd=new Random();
int s=rd.nextInt();//int范围内的一个整数
System.out.println(s);
int s2=rd.nextInt(101);//产生一个【0,100】的随机数,不包括100
System.out.println(s2);
}
}
八.enum
ackage 常用类2;
public class EnumTest01 {
/*
* 枚举是引用类型
* 当返回值有多种情况,并且可以分类时可以使用枚举
* 枚举中的值为常量,用,隔开
*/
public static void main(String[] args) {
int a=10;
int b=0;
System.out.println(test(a,b));
}
public static season test(int x,int y) {
return season.FAIL;
}
enum season{
SUSSCES,FAIL
}
}