Java学习第十一天
1.类同名的问题:
package(打包):开头package aa.bb.cc.dd.ee.ff(最多不超过6层);
作用:不同的.class包放在不同的文件夹下,解决类同名问题
具体步骤:javac -d e:\ Person.java --------->指定包所在的路径
(打包时类需要定义为是public)
set classpaths=.;f:\//指定字节码所在路径
import(导入):
具体步骤:import java.util.Scanner;//导入包,包中的类必须是public
import java.util.*;//导入包,*号表示导入这个文件夹下的所有文件
运行打包的文件:java 包名.类名------------------->java gp04.java.Person
2.访问修饰符 private 默认(前面没有修饰符) protected public
同一个类重 y y y y
同一个包中 n y y y
不同的包没有继承关系 n n n y
在不同的包有继承关系 n n y y
在同一个类中任何权限的都能使用
在同一个包中,不同的类中可以使用 默认,protected,public的成员
子类和父类在同一个包中,子类可以访问从父类中继承过来的 默认,protected,public的成员
子类和父类在不同一个包中,子类可以访问从父类中继承过来的protected,public的成员
使用别的包中的类,没有继承关系,只能使用类中public的成员
注意:lang包下的class自动导入(意味着如果导入的文件在lang目录下,不用在程序开头写import导入语句,直接调用)
3.常用类:
Data类:时间类
Date shijian=new Data();//当前时间
日期格式的转换:
java.text.DateFormat ---了解
java.text.SimpleDateFormat yyyy MM dd HH mm ss
//格式化输出时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy#MM#dd HH:mm:ss");
Date d = new Date();
sdf.format(d);
1 测试用例: 2 import java.util.Date; 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 class Demo6 6 { 7 public static void main(String[] args) 8 { 9 //long time=System.currentTimeMillis();//毫秒 10 11 Date shijian = new Date(); 12 //System.out.println(shijian); 13 14 long time=System.currentTimeMillis(); 15 Date d = new Date(time); 16 //System.out.println(d); 17 18 //Date表示日期的格式不太好,能不能转成其它格式 19 DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.LONG); 20 Date date =new Date(); 21 //使用DateFormat默认的格式进行格式化 22 String ss = df.format(date); 23 sop(ss); 24 25 //使用SimpleDateFormat实现日期的格式化 26 //通过"yy/MM/dd E HH:mm:ss"来指定格式化之后的格式 27 SimpleDateFormat sdf =new SimpleDateFormat("yy-MM-dd E HH:mm:ss"); 28 String ww=sdf.format(new Date()); 29 sop(ww); 30 } 31 public static void sop(Object obj){ 32 System.out.println(obj); 33 } 34 }
Calendar:时间抽象类
Calendar c = Calendar.getInstance();
int nian = c.get(Calendar.YEAR);
int yue = c.get(Calendar.MONTH);
int ri = c.get(Calendar.DAY_OF_MONTH);
Math:数学类
ceil()//返回大于或等于这个数的最小整数
floor()//返回小于或等于这个数据最大整数
round()//四舍五入取整
pow(2,3)//求2的3次方,第二个参数也可以是小数,pow(2,0.5)==sqrt(2)
sqrt()//开方
random()//生成的随机数大于等于0.0, 小于1.0
Random:随机数
nextInt() nextFloat() nextDouble() nextLong()
注意:1.Random函数和Math.random()不一样,随机数范围不一样,写法也不一样
2.测试Random时注意边界值是否可以随机取到
4.正则表达式:实际就是个字符串,专门针对字符串的
匹配:实际上使用的是String中的boolean matches(String regex)方法 ,判读一个字符串是否匹配某个正则表达式
切割:实际上使用的是String中的String[] split(String regex)
替换:实际上使用的是String中的String replaceAll(String regex, String replacement) //把字符串中符合正则表达式的都替换为第二个参数
获取:把正则表达式转换成Pattern类型的对象,使用Pattern对象的matcher方法得到Matcher对象
1 测试: 2 import java.util.regex.Pattern; 3 import java.util.regex.Matcher; 4 class Demo11 5 { 6 public static void main(String[] args) 7 { 8 /* 9 10 11 //piPei(); 12 13 //qieGe(); 14 15 //tiHuan(); 16 17 huoQu(); 18 } 19 20 public static void huoQu(){ 21 22 String str = "zhu yi la,ming tian fang jia";//获取由四个字母构成的 23 24 String regex="[a-z]{4}"; 25 26 //把正则表达式转换成Pattern类型的对象 27 Pattern pattern = Pattern.compile(regex); 28 29 //使用Pattern对象的matcher方法得到Matcher对象,因为Matcher对象具备从字符串中查找的功能 30 Matcher matcher = pattern.matcher(str); 31 32 while(matcher.find()){ 33 sop(matcher.group()); 34 } 35 36 } 37 38 //替换 39 public static void tiHuan(){ 40 41 //String str="zhangsanxxxxxxxxlisi**********zhaoliu$$$$$$$$$$$$$$wangwu"; 42 //String regex = "(.)\\1+"; 43 44 45 //String str="lskdjflksd9283749837493lsjdflskjdf098409283409wehro564321980"; 46 //String regex = "\\d{8,}"; 47 48 String str="13533337777"; 49 String regex="(\\d{3})\\d{4}(\\d{4})"; 50 51 String ss = str.replaceAll(regex,"$1****$2");//$1表示取第一组的值 52 sop(ss); 53 } 54 55 56 //切割 57 public static void qieGe() 58 { 59 //String str="zhangsan.lisi.zhaoliu.wangwu"; 60 //String regex="\\."; 61 62 //String str="zhangsan lisi zhaoliu wangwu"; 63 //String regex=" +"; 64 65 String str="zhangsanxxxxxxxxlisi**********zhaoliu$$$$$$$$$$$$$$wangwu"; 66 String regex="(.)\\1+"; //第二位和第一组的值是一样的,一个正则表达式可以包括多组,从左到右依次是第一组,第二组 67 68 String[] arr = str.split(regex); 69 for(int i=0;i<arr.length;i++){ 70 sop(arr[i]); 71 } 72 } 73 74 75 //验证手机号 76 public static void piPei(){ 77 78 String phone="12838384444"; 79 String regex="1[38576]\\d{9}"; 80 81 boolean b = phone.matches(regex); 82 sop(b); 83 84 } 85 86 public static void sop(Object obj){ 87 88 System.out.println(obj); 89 } 90 }
posted on 2019-08-07 23:26 small_slag 阅读(241) 评论(0) 编辑 收藏 举报