Java 常用类

本章重点:
1.字符串
2.包装类(如何查APIdoc)
3.时间日期类
4.properties类(常用类,集合类,文件操作类)
**********************************************************************************************
字符串:
(String / StringBuffer / StringBuilder)
--------------------------------------------------------------------------------------------------
String:
1.语法:
String对象内容不可变(就算赋一个新值也只是产生了一个新的对象,原来的不变)
提供String常量对象。
2.内容存放
字符串常量池(常量对象):在加载期就存进去了。
运行起来以后如果需要使用,直接到常量池取就可以了。
3.提供了大量的字符串操作方法。
1、跟字符数组有关的方法
System.out.println(str.length());//String对象的长度
char[] array = str.toCharArray();//把String对象转换成char数组
System.out.println(str.charAt(3));//根据下标得到String对象该下标位置的字符
System.out.println(str.indexOf('l'));//得到某个字符在String对象当中首次出现的位置
System.out.println(str.lastIndexOf('l'));//得到某个字符在String对象当中最后一次出现的位置
2、跟字母有关的方法
System.out.println(str.toUpperCase());//得到一个全大写的新String对象
System.out.println(str.toLowerCase());//得到一个全小写的新String对象
System.out.println("hello".equalsIgnoreCase(str));//忽略大小写比较相等
System.out.println("hell".compareTo("hello"));//让两个String对象做字典顺序比较
System.out.println("Hell".compareToIgnoreCase("hello"));//让两个String对象忽略大小写做字典顺序比较
3、跟使用技巧有关系的方法
System.out.println(str.contains("eo"));//判断一个String对象是否包含另一个子串
System.out.println(str.startsWith("he"));//判断一个String对象以什么开头
System.out.println(str.endsWith("lo"));//判断一个String对象以什么结尾
System.out.println(str.replace('l', 'o'));//将String对象中的某个字符替换成另一个字
System.out.println(str.replace("ll", "fuck"));//将String对象中的某个子串替换成另一
个String对象
System.out.println(str.replaceAll("ll", "fuck"));//将String对象中的某个子串替换成
另一个String对象,支持正则表达式
System.out.println(str.replaceFirst("l", "fuck"));//将String对象中首次出现的某个
子串替换成另一个String对象
4、特殊方法
4-1、trim方法,去掉String的前后空格---只要做用户输入字符串就要无条件trim一次
String input = " fuck you ";
String newStr = input.trim();
System.out.println(newStr.length());
4-2、split方法,根据分隔符拆分字符串
特殊性:当以分隔符结尾的时候,后面部分将不再拆分
String birthday = "1982-2-18--";
String[] array = birthday.split("-");
System.out.println(array.length);
4-3、matches方法,做正则表达式校验
正则表达式--regex---就是用来规范字符串格式的一种表达式,其表现形式就是字符串
直白的说--任何一个字符串都是正则表达式,比如:"hello"就是一个,只不过它固
定格式只有"hello"自己本身满足
--要想有更多的满足情况,必须加入模糊匹配
System.out.println("请输入电子科大的电话:");
String phoneNum = new Scanner(System.in).next();
String regexP = "8320([0-9]{4}|1[12][04])";
if(phoneNum.matches(regexP)){
System.out.println("这是正确的电话号码。");
}else{
System.out.println("你输入的号码不正确!");
}
System.out.println("请输入您要存入的金额:");
String inputMoney = new Scanner(System.in).next();
if(inputMoney.matches("(200|1[0-9]{2}|[1-9][0-9]?)00")){
System.out.println("输入正确,开始操作");
}else{
System.out.println("输入错误,请重新输入");
}
正则表达式:用来定义一个字符串格式的模版,本身也是一个字符串。
1.[ ]
:代表一个字符,在内部填写这个位置可以填写哪些符号。
2.()
:代表分组可选。中间可以用丨分为几组,每一组都可以出现。
eg:
String regexP="8320([0-9]{4} | 1{1,2} 0 | 114)"
3.{ }
:代表表达式出现的次数。
{m,n}
{m,}
{ m }
*
+
StringBuffer:
也是Java中表示字符串的一种数据类型,与String的区别是内容都是可变的。
StringBuffer sb=new StringBuffer("hello");
StringBuffer sb="hello" 这是错误的,+号拼接字符串也是不行的。
由于StringBuffer内容可变,通常我们在做大量字符串进行拼接的时候都用StringBuffer
StringBuffer方法没有String丰富,主要是都是类似于append/insert这样的跟拼接有
关的方法。
方法:
sb.append(****); 在字符串后面进行拼接。
sb.insert(****); 往字符串指定位置拼接。
StringBuilder:
与StringBuffer非常类似,无论是内容可变,还是API语法都保持一致。
与StringBuffer的区别:
StringBuffer是线程安全的,StringBulider是线程不安全的。
但是线程安全的效率低,线程不安全的效率高。
***************************************************************************************************
包装类:
1.是基本数据类型和引用数据类型转换的桥梁。
2.是基本数据类型的封装。
语法API掌握:
Integer,int,String 两两转换。
int ---- Integer ;
Integer in =new Integrt(100); //标准作法
Integer in1=a; // 自动封箱,这是jdk1.5提供的语法糖
(这些都是通用的)
Integer----int :
Integer in=100;
int a =in.intValue(); //标准作法
int a =in ; //自动拆箱,这是JDK1.5提供的bibibi。
String对象----Integer对象:
String str= "123";
Integer in =new Integer(str);
//只能通过这种方法,String没有转换为Integer的方法
Integer对象---String对象:
Integer in =345;
String str =in.toString();
String str0=in+""; //当对对象做字符串拼接操作时,相当于默认调用对象
的toString()方法
Int-----String对象
int a=123;
String str = a+"";
String str1=Integer.toString(a);
String对象-----int ●●●
String str="22222";
int a =Integer.parseInt(str); // 最重要最常用的一个转换方法
***************************************************************************************************
时间与日期类:
1.本质。-----------------long,记录的是当前距离1970年1月1日 00:00:00分过了多少
毫秒
时间轴:

| 丨
原点:1900年1月1日 2001年2月(千年虫问题)

新的时间原点:

1970年1月1日
00:00:00
--------------------------------------------------------------------------------------------------------
System.currentTimeMillis(); 返回当前时间距离1970后过了多少毫秒。

Date类:
(是来自于java.util包的)
Date now =new Date(); // 产生的date对象,里面封装的是当前时间的信息。
方法过时:可能是方法实现过于复杂,或者安全性过低等等。
date中的after、before、compareTo、equals这些时间比较的方法还能继续使用。
--------------
在输出Date的字符串信息时,通常配合使用SimpleDateFormat这个类。
用法:
Date now =new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Sting msg=sdf.format(now);
System.out.println(msg)
字母代表的意思:查阅APIdoc文档

Calendar类:
用法:
Calendar cal = Calendar.getInstance();---------这里有一个方法,直接返回格里高
力里对象
cal.get( Calendar.YEAR);
仅在需要设定特定时间日期的时候才使用。
记得使用的时候。Month要减一,日期不减。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值