zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    iOS 网易新闻用到的框架
    iOS homekit使用说明
    iOS 如何在整个屏幕中都能实现滑动返回的效果
    iOS 如何设置导航的滑动返回手势, 和系统饿一样
    iOS 7 tabbar 透明的问题
    iOS 使用xib后获取view的frame出错的问题
    Masonry 当需要把某个控件进行隐藏的时候有警告的解决方案
    java 中多线程之间的通讯之生产者和消费者 (多个线程之间的通讯)
    java 中多线程之间的通讯之等待唤醒机制
    linux时间同步chrony介绍
  • 原文地址:https://www.cnblogs.com/demain/p/11318548.html
Copyright © 2011-2022 走看看