Java 常用类,
分享于 点击 919 次 点评:32
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要减一,日期不减。
相关文章
- 暂无相关文章
用户点评