关于Java的一些小总结-正则表达式、包装类、日期操作、Object类型

转载 2018年04月17日 21:50:54

一:包装类

    1.意义:把基本数据类型转换成引用数据类型操作。
               jdk5.0以后支持自动拆装箱操作。
    2.拆箱:引用数据类型转换成基本数据类型
      int a = new Integer("4");//自动拆箱
    3.装箱:  把基本数据类型转换成引用数据类型
       Double a = 3.14F;//编译错误
       Float  b = 3.14F;//编译正确
    4.编译器在检查基本数据类型变量的方法时,
        先检查是否有本身或者是自动转换的基本数据类型的方法
        如果有,就调用。
        如果没有,检查本身包装类的方法。
        有,就调用,没有就编译错误。
          public static void main(String[] args) {
byte num = 5;
show(num);// 输出的short:5

    }
    public static void show(int a){
System.out.println("int:"+a);
    }
    public static void show(short a){
System.out.println("short:"+a);
    }
    public static void show(Byte a){
System.out.println("Byte:"+a);
    }
    public static void show(Long a){
System.out.println("Long:"+a);
    }
    public static void show(float a){
System.out.println("float:"+a);
    }
    public static void show(Double a){
System.out.println("Double:"+a);
    }
    5.包装类提供将字符串转换成相应的基本数据类型
        parseXXX(String str);
        XXX:对应的是基本数据类型名
        reg:
        int num = Integer.parseInt("123");
            //结果为int类型的123
        String str = "3.14";
        double d = Double.parseDouble(str);
        double d = Double.parseDouble("3.14a");
        //上述代码会报异常
        NumberFormatException,数字格式异常。
    6.提供了其他方法
       ①:提供将基本数据类型转成二进制以字符串的形式。
          int num = 5;
          String str = Integer.toBinaryString(num);
       ②:提供将基本数据类型转成16进制以字符串的形式。
          int num = 5;

          String str = Integer.toHexString(num);



二、日期操作

    1:日期类型:
      Date:java.util包下的类型
        获取当前系统时间的方式:
            Date now = new Date();
            //获取的是日期格式的当前系统时间
             方法:
           getTime():获取毫秒数。long类型
           setTime(long time)
           System.currentTimeMillis();
           //获取的是距1970年1月1日时间点的毫秒数
    2:日期格式化类型:
       SimpleDateFormat:
          定义格式,
          ①:可以格式化日期,将日期变成字符串
             format(Date date)
          ②:可以将字符串转换成日期
                parse(String date)
                可能会出现ParseException异常
               常用的格式字符:
               y:年
               M:月
               d:日
               H:时,24制
               h:时,12制
               m:分
               s:秒
               E:星期
               a:上下午
    3:日历类型:Calendar,是一个接口,不能实例化。有很多子类型
           最常用的是格力高里历法(大多数国家通用的历法,即我们说的阳历)
               1:作用是更方便的计算日期分量。
               2:获取子类型的方法

                    getInstance():获取子类型,会自动划分时区,是静态方法



三、正则表达式:

         什么是正则表达式?
         是一个有规律的,有特定意义的一串字符,通常用来
         进行匹配,查找等操作。
         常用符号:
         *:任意字符。
         [abc]:表示abc中的任意一个字母
         [^abc]:表示除了abc之外任意字符
         [0-9]:表示0-9中的任意一个数字
         [a-z]:表示a-z中的任意一个字母
         [0-9a-zA-Z_]:表示这些字符中的任意一个     
         [a-z&&[^abc]]:表示a-z中除了abc之外的任意一个字母
         
         [\d]:表示0-9中的任意一个数字
         [\D]:表示非数字中任意一个字符
         [\w]:表示单词字符中任意一个 相当于[0-9a-zA-Z_]
         [\W]:除了单词字符外的任意一个  
         \s:表示[\n\t\r\f],空白
         \S:非空白
    
         \d*:表示有0个或0个以上数字
         \d?: 表示没有或者有1个的数字
         \d+:表示有1个或者是1个以上的数字
         \d{n}:标有有n个数字
         \d{n,}:表示有n个或n个以上的数字
         \d{n,m}:表示有n-m个数字
    
         用()进行分组
         ():表示分组
        "(186)|(137)\d{8}":
         表示匹配186的手机号,或者137的手机号
        "^":表示从头开始检查字符串是否匹配正则表达式
        "$": 表示检查字符串的结尾是否匹配正则表达式
        "^[\d]{8}$":表示从头到尾检查字符串是否完全匹配
        在写字符串时,想表达"\"这个字符,必须在前面添加转义字符
        转义字符:\
        有一些特殊字符都需要被转义,才行。




        String支持正则表达式:
             1:matchs(String  reg):
                  参数为正则表达式,用来判断字符串是否匹配正则表达式
                  匹配:返回true
                  不匹配:返回false
             2:split(String reg):
                   用来拆分字符串:用符合正则表达式的子字符串拆分成字符串数组。
                   返回值类型是字符串数组。 
     
                   如果字符串的首位就符合正则表达式,会拆出一个空字符串""元素
                   在字符串的末尾如果符合了,不会拆分出一个空字符串元素。
             3:replaceAll(String reg,String new):
                   作用是使用new这个字符串替换字符串中符合reg的子串
Object类型:
      是所有引用类型的父类,在引用类型的顶端。
      它的引用变量可以指向任何类型的一个对象
        Object obj = "aaaa";
           obj = new int[3];
           obj = new Scanner(System.in);
        面试题:怎么使用数组存一些类型不同的数据
            用Object定义一个数组
            Object[] arr = new Object[3];
             arr[0] = "aaa";
             arr[1] =  new int[3];
             arr[2] =  new Scanner(System.in); 
        Object类型中的常用方法:
           1:toString():
           在Object类型中,方法的返回为"类全名@散列码"
     
          在自定义类型时,如果不手写继承Object,系统会默认提供继承Object
           toString()方法就会被继承。
         继承后的方法返回的字符串没有意义。我们应该重写toString():
         用来描述new出来的对象的信息。
         重写toString():默认规则如下:
         "类全名[属性名=属性值,属性名=属性值]" 
           toString():当想输出显示对象信息时,会默认调用这个方法
          2:equals():
         在Object类型中,equals()相当于==,比较的是地址,是不是同一个对象。
         在大多数情况下,我们不比较是不是同一个对象,而应该比较
         这两个对象的内容是否一样。
         自定义的类继承过来的方法就不满足要求了。
         应该重写equals()
         重写规则:
         public boolean equals(Object obj){
         
         }
          1:应该判断传进来的参数是不是null          
          2:判断传进来的参数是不是自己
          3:判断传进来的参数是不是本类型
                如果是同一类型,再去比较属性。

java中包装类及装箱拆箱

一.包装类 《Java编程思想》提到“万物皆为对象”,但是Java中基本数据类型不是类,所以为了可以让基本数据类型变为类的形式进行操作,在Java中引入了包装类的概念,用来完成对基本数据类型的封装。 ...
  • tomcmd
  • tomcmd
  • 2015-10-03 22:58:52
  • 710

JAVA学习笔记(十七)- Object类和包装类

Object类/* * Object类是所有类的根,默认自定义类都继承自此类 */ public class Test08 { public static void main(String...
  • wangzi11322
  • wangzi11322
  • 2015-03-25 10:56:53
  • 1391

java入门学习(7)—包装类,object类

一、包装类:在java语言里,一切的东西都是对象,一切的类都是object的子类,但是总有那么那么几个是特殊的,其中基本数据类型是由C语言引用过来,并不是我们自己所说的对象,所以提供一个包装类,对其进...
  • newly123
  • newly123
  • 2016-01-18 10:03:45
  • 487

关于Java的一些很小很小的知识

Hello!本人写这些文章为了记录自己的学习情况,并回顾自己的知识点。 1:求前一百的奇数和 public static void main(String[] args) { ...
  • Jiangshan11
  • Jiangshan11
  • 2017-11-13 22:39:18
  • 56

java 判断包装类类型总结

判断字符串if("testString" instanceof String) { //是字符串类型 }其他包装类,用法一致 Byte 、Short、Integer、Long、Float、D...
  • u010503822
  • u010503822
  • 2017-09-27 10:53:47
  • 338

关于java中Object类的某些方法的总结

最近看了下在开发中常用的Object类的一些方法,如equals,hashCode还有toString方法,下面一一说明; -------------------------------------...
  • u012878537
  • u012878537
  • 2015-07-30 11:18:36
  • 1131

javascript实现的几个小功能

基于jquery的ajax提交删除请求并在本地删除列表中相应的行
  • wanghangyue
  • wanghangyue
  • 2014-04-08 14:17:13
  • 612

关于Java包装类的理解

在学习了一段时间的Android之后,深知在Java基础体系中部分知识的缺失而使我在学习过程中碰到了许多不能理解的概念,就在最近,我打算重新学习Java语言的一些基础,就我现在大概几个星期系统的学习,...
  • qq_37545133
  • qq_37545133
  • 2017-07-14 16:03:42
  • 764

Java基本类型和包装类型总结

1.Java的基本类型及其对应的包装器类Java有8种基本类型:大致分为3类:字符,布尔,数值类型(在java中数值是不存在无符号的,这一点不像C/C++,他们的取值范围是固定的,不会随着机器硬件的环...
  • u011480603
  • u011480603
  • 2017-07-19 12:36:40
  • 1294

java 包装类及类型转换

java基本类型和包装器类   java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了...
  • u014401141
  • u014401141
  • 2016-09-23 11:12:59
  • 1496
收藏助手
不良信息举报
您举报文章:关于Java的一些小总结-正则表达式、包装类、日期操作、Object类型
举报原因:
原因补充:

(最多只允许输入30个字)