作者:季沐测试笔记

原文地址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. OpenCV配置及使用(Eclipse)

    1.首先下载OpenCV,下载的时候,选择windows版的.然后安装,直接点击exe文件即可,安装过程实际就是一个解压的过程.2.注意解压之后的目录,opencv\build\java下的jar文件 ...

  2. vue-class和style样式绑定

    前言 操作元素的 class 样式列表和 style 内联样式为数据绑定是前端开发中一个常见的需求,这些样式都属于元素的属性 attribute ,因此我们可以通过 v-bind 来动态绑定元素的样式 ...

  3. 矩阵BFS

    leetcode 1091矩阵BFS 在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1). 一条从左上角到右下角.长度为 k 的畅通路径,由满足下述条件的单元格 C_1, ...

  4. 云效x钉钉:让研发工作更简单

    云效x钉钉:让研发工作更简单,奔走相告,云效&钉钉集成实现组织架构.成员同步以及消息通知啦! 我们知道云效致力于智能化.安全可追溯.高效.简单.灵活,「云效新一代企业级DevOps平台」阿里云 ...

  5. Django使用tinymce富文本编辑器

    1 - 安装 pip install django-tinymce==2.6.0 2 - 注册app INSTALLED_APPS = ( ... 'tinymce', ) 3 - 在setting中 ...

  6. Geode member发现机制

    Geode member发现机制 Apache Geode 为集群和客户端服务器间提供了多种member 发现机制,具体如下: Peer Member Discovery Standalone Mem ...

  7. [Elasticsearch] ES更新问题踩坑记录

    问题描述 我们有个系统设计的时候针对Hive创建表.删除表, 需要更新ES中的一个状态,标记是否删除,在几乎同时执行两条下面的语句的时候,发现在ES 中出现表即使被创建了还是无法被查询到的情况,针对该 ...

  8. Python习题集(十一)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 如果一个正整数等于 ...

  9. 110_SSM框架

    目录 需求分析->功能设计->数据库设计 环境要求 环境 要求 数据库环境 基本环境搭建 创建maven项目 pom.xml添加依赖,添加资源导出 idea连接数据库 提交项目到Git 创 ...

  10. Powershell配合word伪装木马执行

    环境: win7 64位,word2013 生成木马 msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.64.135 LPOR ...