常用类

博客即笔记,分享笔记,望指正。
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
}

}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值