作者:季沐测试笔记

原文地址https://www.cnblogs.com/testero/p/15228417.html

博客主页https://www.cnblogs.com/testero

1.包装类

1.1基本类型包装类

  • 基本类型包装类的作用

    ​ 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

    ​ 常用的操作之一:用于基本数据类型与字符串之间的转换

  • 基本类型对应的包装类

    基本数据类型 包装类
    byte Byte
    short Short
    int Integer
    long Long
    float Float
    double Double
    char Character
    boolean Boolean

1.2Integer类

  • Integer类概述

    ​ 包装一个对象中的原始类型 int 的值

  • Integer类构造方法

    方法名 说明
    public Integer(int value) 根据 int 值创建 Integer 对象(过时)
    public Integer(String s) 根据 String 值创建 Integer 对象(过时)
    public static Integer valueOf(int i) 返回表示指定的 int 值的 Integer 实例
    public static Integer valueOf(String s) 返回一个保存指定值的 Integer 对象 String
  • 示例代码

    public class IntegerDemo {
    public static void main(String[] args) {
    //public Integer(int value):根据 int 值创建 Integer 对象(过时)
    Integer i1 = new Integer(100);
    System.out.println(i1); //public Integer(String s):根据 String 值创建 Integer 对象(过时)
    Integer i2 = new Integer("100");
    // Integer i2 = new Integer("abc"); //NumberFormatException
    System.out.println(i2);
    System.out.println("--------"); //public static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
    Integer i3 = Integer.valueOf(100);
    System.out.println(i3); //public static Integer valueOf(String s):返回一个保存指定值的Integer对象 String
    Integer i4 = Integer.valueOf("100");
    System.out.println(i4);
    }
    }

1.3int和String类型的相互转换

  • int转换为String

    • 转换方式

      • 方式一:直接在数字后加一个空字符串
      • 方式二:通过String类静态方法valueOf()
    • 示例代码

      public class IntegerDemo {
      public static void main(String[] args) {
      //int --- String
      int number = 100;
      //方式1
      String s1 = number + "";
      System.out.println(s1);
      //方式2
      //public static String valueOf(int i)
      String s2 = String.valueOf(number);
      System.out.println(s2);
      System.out.println("--------");
      }
      }
  • String转换为int

    • 转换方式

      • 方式一:先将字符串数字转成Integer,再调用valueOf()方法
      • 方式二:通过Integer静态方法parseInt()进行转换
    • 示例代码

      public class IntegerDemo {
      public static void main(String[] args) {
      //String --- int
      String s = "100";
      //方式1:String --- Integer --- int
      Integer i = Integer.valueOf(s);
      //public int intValue()
      int x = i.intValue();
      System.out.println(x);
      //方式2
      //public static int parseInt(String s)
      int y = Integer.parseInt(s);
      System.out.println(y);
      }
      }

1.4字符串数据排序案例

  • 案例需求

    ​ 有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”

  • 代码实现

    public class IntegerTest {
    public static void main(String[] args) {
    //定义一个字符串
    String s = "91 27 46 38 50"; //把字符串中的数字数据存储到一个int类型的数组中
    String[] strArray = s.split(" ");
    // for(int i=0; i<strArray.length; i++) {
    // System.out.println(strArray[i]);
    // } //定义一个int数组,把 String[] 数组中的每一个元素存储到 int 数组中
    int[] arr = new int[strArray.length];
    for(int i=0; i<arr.length; i++) {
    arr[i] = Integer.parseInt(strArray[i]);
    } //对 int 数组进行排序
    Arrays.sort(arr); //把排序后的int数组中的元素进行拼接得到一个字符串,这里拼接采用StringBuilder来实现
    StringBuilder sb = new StringBuilder();
    for(int i=0; i<arr.length; i++) {
    if(i == arr.length - 1) {
    sb.append(arr[i]);
    } else {
    sb.append(arr[i]).append(" ");
    }
    }
    String result = sb.toString(); //输出结果
    System.out.println(result);
    }
    }

1.5自动拆箱和自动装箱(理解)

  • 自动装箱

    ​ 把基本数据类型转换为对应的包装类类型

  • 自动拆箱

    ​ 把包装类类型转换为对应的基本数据类型

  • 示例代码

    Integer i = 100;  // 自动装箱
    i += 200; // i = i + 200; i + 200 自动拆箱;i = i + 200; 是自动装箱

2.时间日期类

2.1Date类

  • Date类概述

    ​ Date 代表了一个特定的时间,精确到毫秒

  • Date类构造方法

    方法名 说明
    public Date() 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
    public Date(long date) 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
  • 示例代码

    public class DateDemo01 {
    public static void main(String[] args) {
    //public Date():分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
    Date d1 = new Date();
    System.out.println(d1); //public Date(long date):分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数
    long date = 1000*60*60;
    Date d2 = new Date(date);
    System.out.println(d2);
    }
    }

2.2Date类常用方法

  • 常用方法

    方法名 说明
    public long getTime() 获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值
    public void setTime(long time) 设置时间,给的是毫秒值
  • 示例代码

    public class DateDemo02 {
    public static void main(String[] args) {
    //创建日期对象
    Date d = new Date(); //public long getTime():获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值
    // System.out.println(d.getTime());
    // System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年"); //public void setTime(long time):设置时间,给的是毫秒值
    // long time = 1000*60*60;
    long time = System.currentTimeMillis();
    d.setTime(time); System.out.println(d);
    }
    }

2.3SimpleDateFormat类

  • SimpleDateFormat类概述

    ​ SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

    ​ 我们重点学习日期格式化和解析

  • SimpleDateFormat类构造方法

    方法名 说明
    public SimpleDateFormat() 构造一个SimpleDateFormat,使用默认模式和日期格式
    public SimpleDateFormat(String pattern) 构造一个SimpleDateFormat使用给定的模式和默认的日期格式
  • SimpleDateFormat类的常用方法

    • 格式化(从Date到String)

      • public final String format(Date date):将日期格式化成日期/时间字符串
    • 解析(从String到Date)
      • public Date parse(String source):从给定字符串的开始解析文本以生成日期
  • 示例代码

    public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
    //格式化:从 Date 到 String
    Date d = new Date();
    // SimpleDateFormat sdf = new SimpleDateFormat();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    String s = sdf.format(d);
    System.out.println(s);
    System.out.println("--------"); //从 String 到 Date
    String ss = "2048-08-09 11:11:11";
    //ParseException
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dd = sdf2.parse(ss);
    System.out.println(dd);
    }
    }

2.4日期工具类案例

  • 案例需求

    ​ 定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法

  • 代码实现

    • 工具类
    public class DateUtils {
    private DateUtils() {} /*
    把日期转为指定格式的字符串
    返回值类型:String
    参数:Date date, String format
    */
    public static String dateToString(Date date, String format) {
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    String s = sdf.format(date);
    return s;
    } /*
    把字符串解析为指定格式的日期
    返回值类型:Date
    参数:String s, String format
    */
    public static Date stringToDate(String s, String format) throws ParseException {
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    Date d = sdf.parse(s);
    return d;
    } }
    • 测试类
    public class DateDemo {
    public static void main(String[] args) throws ParseException {
    //创建日期对象
    Date d = new Date(); String s1 = DateUtils.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
    System.out.println(s1); String s2 = DateUtils.dateToString(d, "yyyy年MM月dd日");
    System.out.println(s2); String s3 = DateUtils.dateToString(d, "HH:mm:ss");
    System.out.println(s3);
    System.out.println("--------"); String s = "2048-08-09 12:12:12";
    Date dd = DateUtils.stringToDate(s, "yyyy-MM-dd HH:mm:ss");
    System.out.println(dd);
    }
    }

2.5Calendar类

  • Calendar类概述

    ​ Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

    ​ Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。

    ​ 该方法返回一个Calendar 对象。

    ​ 其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();

  • Calendar类常用方法

    方法名 说明
    public int get(int field) 返回给定日历字段的值
    public abstract void add(int field, int amount) 根据日历的规则,将指定的时间量添加或减去给定的日历字段
    public final void set(int year,int month,int date) 设置当前日历的年月日
  • 示例代码

    public class CalendarDemo {
    public static void main(String[] args) {
    //获取日历类对象
    Calendar c = Calendar.getInstance(); //public int get(int field):返回给定日历字段的值
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH) + 1;
    int date = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + date + "日"); //public abstract void add(int field, int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段
    //需求1:3年前的今天
    // c.add(Calendar.YEAR,-3);
    // year = c.get(Calendar.YEAR);
    // month = c.get(Calendar.MONTH) + 1;
    // date = c.get(Calendar.DATE);
    // System.out.println(year + "年" + month + "月" + date + "日"); //需求2:10年后的10天前
    // c.add(Calendar.YEAR,10);
    // c.add(Calendar.DATE,-10);
    // year = c.get(Calendar.YEAR);
    // month = c.get(Calendar.MONTH) + 1;
    // date = c.get(Calendar.DATE);
    // System.out.println(year + "年" + month + "月" + date + "日"); //public final void set(int year,int month,int date):设置当前日历的年月日
    c.set(2050,10,10);
    year = c.get(Calendar.YEAR);
    month = c.get(Calendar.MONTH) + 1;
    date = c.get(Calendar.DATE);
    System.out.println(year + "年" + month + "月" + date + "日"); }
    }

2.6二月天案例

  • 案例需求

    ​ 获取任意一年的二月有多少天

  • 代码实现

    public class CalendarTest {
    public static void main(String[] args) {
    //键盘录入任意的年份
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入年:");
    int year = sc.nextInt(); //设置日历对象的年、月、日
    Calendar c = Calendar.getInstance();
    c.set(year, 2, 1); //3月1日往前推一天,就是2月的最后一天
    c.add(Calendar.DATE, -1); //获取这一天输出即可
    int date = c.get(Calendar.DATE);
    System.out.println(year + "年的2月份有" + date + "天");
    }
    }

Java(24)常用API三的更多相关文章

  1. Java 之常用API(一)

    常用API  1 API概述  2 Scanner类与String类  3 StringBuilder类 NO.one API概述 1.1 API概述 API(Application Programm ...

  2. Java之常用API

    API概述 什么是API API (Application Programming Interface) :应用程序编程接口 java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些 ...

  3. Java 之常用API(二)

    Object类 & System类 日期相关类 包装类 & 正则表达式 Object类 & System类 1.1 Object类 1.1.1 概述 Object类是Java语 ...

  4. java selenium常用API(WebElement、iFrame、select、alert、浏览器窗口、事件、js) 一

     WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.clic ...

  5. java自学-常用api

    API(Application Programming Interface),应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.即jdk包里边写好的类,这些类将底层的代码实现封 ...

  6. Java的常用API

    Object类 1.toString方法在我们直接使用输出语句输出对象的时候,其实通过该对象调用了其toString()方法. 2.equals方法方法摘要:类默认继承了Object类,所以可以使用O ...

  7. java selenium常用API汇总

    (WebElement.iFrame.select.alert.浏览器窗口.事件.js)     一 WebElement相关方法 1.点击操作 WebElement button = driver. ...

  8. Java 中 常用API概述之 Math, Object, String,StringBuffer类,Arrays,Integer类

    Math Math类包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数. 与StrictMath类的一些数字方法不同,Math类的StrictMath所有Math都没有定义为返回比特位相同 ...

  9. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...

随机推荐

  1. kubebuilder实战之七:webhook

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. Python3-sqlalchemy-orm 查询、修改

    #-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import crea ...

  3. sublime text 3 中文排序插件

    ST3 的排序不支持中文按拼音排序,所以需要搞一个插件来支持这一特性 pypinyin 这个库可以把中文转成拼音,可惜不支持 python3.3,而 ST3 内置的 python 就是 3.3 我系统 ...

  4. thymeleaf+layui加载页面渲染时报错

    将freemaker替换成thymeleaf时出现以下问题: org.thymeleaf.exceptions.TemplateProcessingException: Could not parse ...

  5. github搜索技巧小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. Walker

      emmm.......随机化.   好吧,我们不熟.   考虑随机选取两组数据高斯消元消除结果后带入检验,能有超过1/2正确就输出.   其实方程就四个,手动解都没问题.   只是要注意看sin与 ...

  7. Git 系列教程(6)- 查看 commit 提交历史

    查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 git log 官方栗子 运行下面的命令获取该项目: git clone https://github.com/scha 运 ...

  8. 快速模式第二包: quick_inI1_ouR1()

    文章目录 1. 序言 2. quick_inI1_outR1()流程图 3. 快速模式消息②数据包格式 4. 源码分析 4.1 quick_inI1_outR1() 4.2 quick_inI1_ou ...

  9. FinallShell连接Centos虚拟机

    1.虚拟机下输入ip addr查看网络状态,保证ens33下有ip 2.若没有IP的解决办法 方法一················· 1.输入 cd /etc/sysconfig/network-s ...

  10. python库--flashtext--大规模数据清洗利器

    flashtext.keyword (flashtext) 类/方法 返回值 参数 说明 .KeywordProcessor() 对象kp case_sensitive=False 是否区分大小写 添 ...