日更,教你如何一步步成为java软件工程师——常用类

常用类

使用:在API中查询其具体使用方式

  • String
  • StringBuilder:可变长字符串,线程不安全的,效率较高
  • StringBuffer:可变长字符串,线程安全的,效率较低
public class TestString02 {
	public static void main(String[] args) throws UnsupportedEncodingException {
		String str="shsxtgood";
		String str2="Shsxtgood";
		System.out.println(str);
		//char charAt(int index) 返回指定索引处的char值。  ***
		System.out.println("charAt():"+str.charAt(2));
		//int indexof(String str)返回指定子字符串在此字符串中第一次出现处的索引。***
		System.out.println("indexOf():"+str.indexOf("h"));
		//int indexOf(String str, int fromIndex)
		System.out.println("indexOf(),指定起始索引:"+str.indexOf("o",6));
		//int lastIndexOf(String str)   返回指定子字符串在此字符串中最右边出现处的索引。
		System.out.println("lastIndexOf():"+str.lastIndexOf("o"));
		//int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点).
		System.out.println("charAt():"+str.codePointAt(2));
		// int compareTo(String anotherString)  按字典顺序比较两个字符串。 
		//相同返回0,不同 使用当前字符串与参数字符串同一个位置的字符进行减法
		System.out.println("compareTo():"+str2.compareTo(str));
		//int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
		System.out.println("compareToIgnoreCase()"+str.compareToIgnoreCase(str2));
		//String concat(String str) 将指定字符串连接到此字符串的结尾。   返回新串
		System.out.println("concat()"+str.concat(str2));
		//boolean contains(CharSequence s)  当且仅当此字符串包含指定的 char 值序列时,返回 true。 
		System.out.println("contains()"+str.contains("shsxt"));
		//static String copyValueOf(char[] data)    字符数组转为字符串
		System.out.println("copyValueOf():"+str.copyValueOf(new char[]{'s'}));
		//static String copyValueOf(char[] data, int offset, int count) 
		//boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 
		//boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。
		System.out.println("endsWith()"+str.endsWith("d"));
		
		/*
		 * byte[] getBytes() ***
		 * 			使用平台的默认字符集将此String编码为byte序列,并将结果存储到一个新的byte数组中
		 * byte[] getBytes(Charset charset)
		 * 
		 */
		byte[] arr="你好".getBytes();   //UTF-8
		byte[] arr2="你好".getBytes("gbk"); //gbk
		System.out.println(Arrays.toString(arr));
		System.out.println(Arrays.toString(arr2));
		//void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)将字符从此字符串复制到目标字符数组。 
		char[] charArr=new char[6];
		"你好哈哈哈".getChars(1, 4, charArr, 3);
		//length()   *****
		System.out.println(str.length());
		//String replace(char oldChar, char newChar)  新串替换老串   ***
		System.out.println("replace()"+str.replace("s","S"));
		
		//String[] split(String regex) 根据给定正则表达式的匹配拆分此字符串。     ****
				String str3="name==zhangsan";
				String[] s=str3.split("==");
				System.out.println(Arrays.toString(s));
		
		/*
		 * String substring(int beginIndex)     *****
		          返回一个新的字符串,它是此字符串的一个子字符串。 
		   String substring(int beginIndex, int endIndex)   endIndex不包含
		          返回一个新字符串,它是此字符串的一个子字符串。 
		 */
		System.out.println("substring()"+str.substring(3)); 
		System.out.println("substring()"+str.substring(3,6));
		
		//char[] toCharArray() 将此字符串转换为一个新的字符数组。  ***
		char[] ch=str.toCharArray();
		System.out.println(Arrays.toString(ch));
		
		//String toLowerCase()   转小写
		//String toUpperCase()   转大写
		System.out.println("toLowerCase()"+str2.toLowerCase()); 
		System.out.println("toUpperCase()"+str2.toUpperCase()); 
		
		//String trim()返回字符串的副本,忽略前导空白和尾部空白。 
		System.out.println("   yiwei ".trim());
		
		//valueOf() 参数转为字符串
			double d=123.123;
			System.out.println(String.valueOf(d).length());
}
}


public class TestString {
	public static void main(String[] args) throws UnsupportedEncodingException {
		String str = "abc";
		String str4="abc";
		//String(String original)        初始化一个新创建的String对象,使其表示一个与参数相同的字符数列
		//String str2=new String("cde");  2个new ->String,堆中
		String str2=new String("abc");    //1个new->String,堆中
		String str3=new String("abc");
		System.out.println(str);
		System.out.println(str2);
		System.out.println(str2==str);
		System.out.println(str2.equals(str));
		System.out.println(str2==str3);
		System.out.println(str==str4);
		
		//String() 初始化一个新创建的String对象,使其表示一个空字符序列
		String s1=new String();
		
		//String(char[] value)分配一个新的String,使其表示字符数组参数中当前包含的字符序列。
		String s2=new String(new char[]{'s','h','s','x','t'});
		System.out.println(s2);
		
		//String(char[] value,int offset,int count)分配一个新的String,它包含它包含取自字符数组参数一个子数组的字符。
		String s3=new String(new char[]{'s','h','s','x','t'},2,3);
		System.out.println(s3);
		
		//String(byte[] bytes)     通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。
		String string="呵呵";
		byte[] arr=string.getBytes();
		System.out.println(Arrays.toString(arr));
		
		String s4=new String(new byte[]{-27, -111, -75, -27, -111, -75});
		System.out.println(s4);	
		//String(byte[] bytes, Charset charset) 
		String s5=new String(new byte[]{-27, -111, -75, -27, -111, -75},"GBK");
		System.out.println(s5);
		
		//String(byte[] bytes, int offset, int length)
		String s6=new String(new byte[]{-27, -111, -75, -27, -111, -75}, 3, 3);
		System.out.println(s6);
	}
}


public class StringBuilder_StringBuffer {
	public static void main(String[] args) {
		//StringBuilder() 构造一个其中不带字符的字符串生成器,初始容量为 16 个字符。
		StringBuilder sb=new StringBuilder();
		System.out.println(sb);
		System.out.println(sb.capacity());  //16
		System.out.println(sb.length());
		//StringBuilder(String str)  构造一个字符串生成器,并初始化为指定的字符串内容。
		StringBuilder sb1=new StringBuilder("abc");
		System.out.println(sb1);
		System.out.println(sb1.capacity()); //16+3
		System.out.println(sb1.length()); //3
		
		//StringBuilder(int capacity) 构造一个其中不带字符的字符串生成器,初始容量由 capacity 参数指定。
		StringBuilder sb2=new StringBuilder(15);
		System.out.println(sb2);
		System.out.println(sb2.capacity());
		System.out.println(sb2.length());
		
		//StringBuilder append(int i)  拼接参数值
		/*
		 * append扩容: 如果原容量放不下进行扩容,  原容量size-->size*2+2,如果扩容后的大小还是放不下,直接以内容的长度进行扩容
		 */
		StringBuilder s=sb.append("12345678901234567");
		sb.append(123.123);
		System.out.println(sb);
		System.out.println(s==sb);
		System.out.println(sb.capacity());  //16
		System.out.println(s.length());  //4
		
		//StringBuilder delete(int start, int end)   不包含end
		 sb.delete(2, 7);
		 System.out.println(sb);
		 
		 //StringBuilder insert(int offset,boolean b)
		 sb.insert(3,true);
		 System.out.println(sb);
		 
		 //StringBuilder reverse()
		 sb.reverse();
		 System.out.println(sb);
	}
}

  • 基本数据类型的包装类型

    byte ----- Byte
    short ----- Short
    int ----- Integer
    long ----- Long
    float ----- Float
    double ----- Double
    char ----- Character
    boolean ----- Boolean
    自动装箱:基本数据类型->包装类型
    自动拆箱:包装类型->基本数据类型

public class DataType {
	public static void main(String[] args) {
		int i=100; //int类型
		Integer i2=i; //自动装箱  Integer.valueof(i2)
		int i3=i2; //自动拆箱   i2.intvalue()
		
		haha(1.1,2.2);
		
		int int1=127;
		int int2=127;
		System.out.println(int1==int2);  //true
		//缓冲区对象的表示范围:[-128,127] ==>valueOf()
		Integer int3 =127;
		Integer int4 =127;
		System.out.println(int3==int4);  //true
		
		Integer int5=new Integer(127);
		Integer int6=new Integer(127);
		System.out.println(int5==int6);  //false
		
		Integer int7=128;  //不在缓冲区
		Integer int8=128;
		System.out.println(int7==int8);  //false
		
		//自动 拆箱比较
		System.out.println(int1==int3);  //true  
		System.out.println(int1==int5);  //true  
		System.out.println(int3==int5);  //false
		
		/*1.int 和 Integer(无论是否new)比较:发生自动拆箱,如果值相同就相同
		 *2.如果两个Interger比较,如果有new,就不相同
		 *3.如果都没有new,要看是否在缓冲区对象的范围内
		 */
		
		Double d1 =1.0;
		Double d2 =1.0;
		System.out.println(d1==d2);
		/*
		 * public static Double valueOf(double d){
		 * 		return new Double(d);
		 * }
		 *
		 */
		 
		/*
		 * static int parseInt(String s)
		 * 	将字符串参数作为有符号的十进制整数进行解析
		 * static int parseInt(String s, int radix)   radix是指定使用什么进制解析参数s
		 */
System.out.println(Integer.parseInt("abc123"));//NumberFormatException
		System.out.println(Integer.parseInt("10"));// 10
		System.out.println(Integer.parseInt("10",2));//2   二进制
		
		String str="a"+"b"+"c"+"d";    //"abcd" 1个   编译器会自动优化
		
		str="haha"+new String("abc");  //不会优化
		 
		
	}
	public static double haha(double d1,double d2){
		return d1+d2;
	}
}
  • Date日期类
public class DateDemo {
	public static void main(String[] args) {
		Date date = new Date();
		Date date4= new Date();
		System.out.println(date);
		System.out.println(date.getTime()); //获取从1970到当前时间的毫秒数
		Date date2 = new Date(1560153453234L);
		System.out.println(date2);
		
		/*
		 * boolean after(Date when)
		 * 				测试此日期是否再指定日期之后
		 * boolean before(Date when)
		 * 				测试此日期是否再指定日期之后
		 * Object clone()
		 * 				返回此对象的副本
		 * int compareTo(Date anotherDate)
		 * 				比较两个日期的顺序
		 * boolean equals(Object obj)
		 * 				比较两个日期的相等性
		 */
		System.out.println(date.after(date2));
		System.out.println(date.before(date2));
		System.out.println(date.clone());
		System.out.println(date.compareTo(date2));
		System.out.println(date.compareTo(new Date()));
		System.out.println(date.compareTo(date4));
		
		/*
		 * void setTime(long time)
		 * 设置此Date对象,以表示 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。 
		 */
		 date.setTime(1560168941392L);
		// date.setTime(0);
		 System.out.println(date); 			
		 System.out.println(date4.toString());
	}
}
  • SimpleDateFormat 日期格式类

以指定格式把字符串与日期对象之间进行转换

y : 年
M : 月
d: 日期
E: 星期
H : 24小时
h : 12小时
m : 分
s : 秒
S : 毫秒

设置转换器格式:SimpleDateFormat对象
SimpleDateFormat() 默认的转换格式
用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern) 指定转换格式

format(Date) 日期对象准为字符串
parse(String) 字符串准为日期对象

public class SimpleDateFormatDemo {
	public static void main(String[] args) throws ParseException {
		//默认转换器
		SimpleDateFormat simple = new SimpleDateFormat();
		System.out.println(simple.format(new Date()));
		
		//指定格式转换器
		SimpleDateFormat simple2 = new SimpleDateFormat("yyyy/MM/dd E hh:mm:ss:SSS");
		System.out.println(simple2.format(new Date()));
		
		String str="2018年3月12日";
		SimpleDateFormat simple3=new SimpleDateFormat("yyyy年MM月dd日");
		System.out.println(simple3.parse(str));
	}
}

  • File
public class FileDemo {
	public static void main(String[] args) {
		//File(String pathname)通过将给定路径字符串转换为抽象路径名来创建一个新File实例。
		File file1=new File("paka,txt");
		File file2=new File("D:\\test.txt");
		File parent=new File("D:/");
		//File(File parent, String child) 
		File file3=new File(parent,"test.txt");
		//File(String parent, String child)
		File file4 =new File("D:/","test.txt");
		
		System.out.println(file1);
		System.out.println(file2);
		System.out.println(file3);
		System.out.println(file2.equals(file3));
		System.out.println(file4);
	}
}
public class Filemethod {
	public static void main(String[] args) throws IOException {
		//boolean canWrite() 
		File file=new File("D:/test.txt");    
		File file2=new File("D:/AAA");    
		File file3=new File("AAA");
		//boolean setReadonly()
		System.out.println("setReadOnly():"+file.setReadOnly());
		System.out.println("canWrite():"+file.canWrite());
		
		//boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
		System.out.println("createNewFile():"+file.createNewFile());
		//boolean delete() 删除此抽象路径名表示的文件或目录。
		System.out.println("delete():"+file.delete());
		//boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
		System.out.println("exists():"+file.exists());
		System.out.println("exists():"+file2.exists());
		/*
		 *   File getAbsoluteFile() 
			          返回此抽象路径名的绝对路径名形式。 
			 String getAbsolutePath() 
			          返回此抽象路径名的绝对路径名字符串。 
		 */
		System.out.println("getAbsoluteFile():"+file.getAbsoluteFile());  //返回值是new File
		System.out.println("getAbsolutePath():"+file.getAbsolutePath());
		System.out.println("createNewFile():"+file.createNewFile());
		/*
		 *  long getFreeSpace() 
 			long getTotalSpace()  
		 */
		//String getName()   返回由此抽象路径名表示的文件或目录的名称。 
		System.out.println("getName():"+file2.getName());
		/*
		 * String getParent() 
		          返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。 
		   File getParentFile() 
		 */
		System.out.println("getParent():"+file.getParent());
		System.out.println("getParent():"+file.getParentFile());
		//boolean isAbsolute() 测试此抽象路径名是否为绝对路径名
		System.out.println("isAbsolute():"+file.isAbsolute());
		System.out.println("isAbsolute():"+file3.isAbsolute());
		/*
		 * boolean isDirectory() 
		          测试此抽象路径名表示的文件是否是一个目录。 
		   boolean isFile() 
		          测试此抽象路径名表示的文件是否是一个标准文件。 
		 */
		System.out.println("isDirectory():"+file.isDirectory());
		System.out.println("isFile():"+file.isFile());
		/*
		 *  long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。 
		 */
		File file4 = new File("D:/wuwu.txt");
		System.out.println("lastModified():"+file4.lastModified());
		System.out.println("lastModified():"+(new SimpleDateFormat("yyyy/MM/dd hh:mm:ss:SSS").format(new Date(file4.lastModified()))));
		
		/*
		 *  String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 
		 *  File[] listFiles() 
		 */
		System.out.println("list():"+Arrays.toString(file.list()));
		System.out.println("listFiles():"+Arrays.toString(file2.listFiles()));
		/*
		 *  boolean mkdir() 创建此抽象路径名指定的目录。 
 			boolean mkdirs()  
		 */
		File file5=new File("D:/DDD");
		File file6=new File("D:/WUWU/DDD");
		System.out.println("mkdir()"+file5.mkdir());
		System.out.println("mkdir()"+file5.mkdirs());
		
		//boolean renameTo(File Test)
		file5.renameTo(new File("D:/double kill"));
		
	}
}

enum枚举

public class EnumDemo {
	public static void main(String[] args) {
		Week m=Week.Thus;
		//获取属性名称
		System.out.println(m.name());
		//ordinal枚举类中的索引位置
		System.out.println(m.ordinal());
		//获取某个枚举类中的所有成员
		System.out.println(Arrays.toString(m.values()));
		switch (m) {
		case Mon:
			m.setName("星期一");
			break;
		case Tues:
			m.setName("星期二");
			break;
		case Thus:
			m.setName("星期四");
			break;		
		}
		m.info();
	}
}
enum Week{
	Mon,  //public static final Week Mon=mew Week();
	Tues,
	Thus;
	private String name;
	private Week(){
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public void info(){
		System.out.println("成员方法"+this.name);
	}
}
class Fu{
	String name;

	@Override
	public String toString() {
		return super.toString();
	}
	
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值