常用类
String input=JOptionPane.showInPutDialog();//输入框
JOptionPane.showMessageDialog(,)//消息框
String类
String str0 = "hello";//字符串常量“hello”被预先放到了数据段的字符串常量池中
String str1 = "hello";//直接从常量池中寻找已有的字符串常量
String str2 = new String("hello");//new出一个新的字符串对象,在堆中
String str3 = new String("hello");//new出一个新的字符串对象,在堆中
//String类型对象(不管是常量池对象还是在堆中对象,其内容都不可变)
str3 = str2;
str2 = "world";
//String导致了一些运算符发生变化
System.out.println("5" + 10);//+号前后只要出现一个String,就变成字符串连接符
//字符串比较
System.out.println(str0.equals(str1));//判断两个字符串是否相等
System.out.println(str0.equalsIgnoreCase("HeLLo"));//忽略大小写比较相等
System.out.println("hello".compareTo("world"));//字符串比较:先依次比较第一个不同字母的Ascii码差值,如果全部相同再比字符串长度
System.out.println("hello".compareToIgnoreCase("helloworld"));
//字符串中与字符数组有关的方法
System.out.println(str0.length());//字符串长度
System.out.println(str0.charAt(0));//字符串第几个位置是什么字符
char[] strArray = str0.toCharArray();//把一个字符串转换为字符数组
byte[] b = str0.getBytes();//把一个字符串转换为字节数组
System.out.println(str0.indexOf(‘l‘));//某个字符在字符串中首次出现的下标
System.out.println(str0.lastIndexOf(‘l‘));//某个字符在字符串中最后一次出现的下标
//字符串内容相关的方法
System.out.println(str0.toUpperCase());//转换为全大写
System.out.println(str0.toLowerCase());//转换为全小写
System.out.println(str0.startsWith("wor"));//判断字符串以什么开头
System.out.println(str0.endsWith("lo"));//判断字符串以什么结尾
System.out.println(str0.contains("ell"));//判断一个字符串是否在另一个字符串中--包含
System.out.println(str0.concat("world"));//将一个字符串加到另一个字符串尾部
System.out.println(str0.replace(‘l‘,‘L‘));//将字符串中的某个字符替换成新字符
System.out.println(str0.replace("l","fuck"));//将字符串中的某个子串替换成新的子串
System.out.println(str0.substring(1,3));//字符串按位置进行截取,前闭后开的区间
System.out.println(str0.substring(2));
//字符串强力方法
//去掉字符串的前后空格,主要用在接收输入的时候
String str4 = " hello world ";
String str5 = str4.trim();
System.out.println(str5);
//字符串拆分
String birthday = "1990-5-8";
String[] results = birthday.split("-");
for(String tmp : results){
System.out.println(tmp);
}
birthday="5-8-";
results = birthday.split("-");
System.out.println(results.length);
//正则表达式
【】表示一个字符。
{m,n}表示最少出现m次,最多出现n次。
(|)分组
在常量池中出现的字符串都是String类型的。
StringBuffer不能用”+“号完成字符串拼接。
//StringBuffer--内容可变,所以在做字符串连结时不会产生新对象,而是在原有对象上进行增加
//当需要做大量的字符串连结操作时,请使用它。
StringBuffer sb = new StringBuffer("Hello");
sb = sb.append("World");//将数据加到StringBuffer所代表字符串的末尾。
sb.insert(5,‘ ‘);
System.out.println(sb);
String str = "helloworld";
String beginStr = str.substring(0,5);
String endStr = str.substring(5);
str = beginStr + " " + endStr;
sb.insert();在字符串中插入新的内容。
线程安全,效率低。线程不安全,效率高。
性能:StringBuilder>StringBuffer>String.
1、得当前时间日期,常用Date
2、做日期比较的时候,常用
3、打印日期字符串的时候,常用---SimpleDateFormat类配合使用
4、根据设置得到指定日期,使用Date不方便,推荐使用的是Calendar(日历)类
Calendar cal = Calendar.getInstance();
//两种将Calendar转换为Date的方式
Date date = cal.getTime();
date = new Date(cal.getTimeInMillis());
包装类
包装类中的值不可变。
//基本转包装
int i0 = 10;
Integer in0 = new Integer(i0);//第一种方式:调用包装类带基本类型参数的构造方法进行构造
Integer in00 = i0;//第二种方式:JDK1.5以后,自动封箱
Object obj = i0;//这里也是先自动封箱,然后让父类引用指向子类对象
System.out.println(in0);
//包装转基本
Integer in = new Integer(100);
int i = in.intValue();//第一种方式:调用包装类对象的***Value()
int i0 = in;//第二种方式:JDK1.5以后,自动拆箱
System.out.println(i);
//包装转String
Integer in = new Integer(123);
String str = in.toString();//调用包装类对象的toString()
System.out.println(str);
//String转包装
String str = "321";
Integer in = new Integer(str);//调用包装类的带String参数的构造方法
System.out.println(in);
//基本转String
int i = 9527;
String str = Integer.toString(i);//第一种方式:使用包装类的带参toString()
String str0 = i + "";//第二种无耻的方式
System.out.println(str);
//最重要的--String转基本
String str = "54188";
int i = Integer.parseInt(str);//调用包装类的parse***()
System.out.println(i);