Java基础&API(3)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: Java基础&API(3)

2:Integer


2.1 Integer(构造方法)


下面我们来探讨基本类型包装类,它涉及到1个案例:猜数字。


来,我们一起看一下,在输入框里,我们要输入一个猜的数据,然后点击我猜这个按钮,和已经产生的数据进行比对,给出相应的提示即可。


而且呢,猜数字案例的基本逻辑,我们前面是讲解过的,只不过当时使用的是键盘录入数据,而这里我们采用的是在输入框里输入数据而已。


那我们为什么要学习基本类型包装类呢?


因为,在输入框里输入的数据,我们得到的是一个字符串数据,而实际比较的时候我们需要的是一个int类型的数据,所以,我们得想办法把字符串数据转换为int类型的数据。


为了实现这个效果,Java 就提供了基本类型包装类供我们使用。所以,我们说,将基本数据类型封装成对象的好处就是可以通过对象调用方法操作数据。


而我们常用的操作之一呢:就是用于基本数据类型与字符串之间的转换。


在这里呢,我们一起来看一下,八种基本数据类型和其对应的包装类类型

从名字上看,包装类类型就是把基本类型的第一个单词改为大写即可。


当然,这里也有两个比较特殊的,一个是 int 类型的包装类,一个是字符类型的包装类,它们的包装类名称是这个样子的,大家了解一下即可。


下面呢,我们以 Integer 举例来讲解字符串和 int 类型之间的相互转换,其他基本类型和字符串的转换方式类似,在使用的时候,大家参照 Integer 的使用即可。


而关于Integer类的学习呢,我们先到帮助文档中去查看,然后回来总结,最后到IDEA中去演示。


来,打开我们准备好的帮助文档,关于通过帮助文档查看Integer,大家按照老师讲解的API的使用步骤看看即可。


通过文档了解了Integer类之后,下面我们回到资料中总结一下:


Integer:

  • Integer类在对象中包装基本类型int的值

构造方法:

  • Integer(int value):根据 int 值创建 Integer 对象(过时)
  • Integer(String s):根据 String 值创建 Integer 对象(过时)


成员方法:

  • static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
  • static Integer valueOf(String s):返回一个保存指定值的 Integer 对象 String


知道了Integer的构造方法后,我们到IDEA中去使用一下:

/*
    构造方法
        Integer(int value):根据 int 值创建 Integer 对象(过时)
        Integer(String s):根据 String 值创建 Integer 对象(过时)

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

//        static Integer valueOf(int i):返回表示指定的 int 值的 Integer 实例
//        static Integer valueOf(String s):返回一个保存指定值的 Integer 对象 String
        Integer i1 = Integer.valueOf(100);
        Integer i2 = Integer.valueOf("100");
        System.out.println(i1);
        System.out.println(i2);
    }
}

2.2 Integer(int和String的相互转换)


来,继续啊,下面我们来学习int类型数据和String类型数据的相互转换,关于它们之间的相互转换,我们先到IDEA中去讲解,然后回来总结。

/*
    int和String的相互转换
 */
public class IntegerDemo02 {
    public static void main(String[] args) {
        //int --- String
        int number = 100;
        //方式1
        String s1 = number + "";
        System.out.println(s1);
        //方式2
        //static String valueOf(int i)
        String s2 = String.valueOf(number);
        System.out.println(s2);
        System.out.println("---------------");

        //String --- int
        String s = "100";
        //方式1:String --- Integer --- int
        Integer i = Integer.valueOf(s);
        //int intValue() 返回此值 Integer为 int
        int x = i.intValue();
        System.out.println(x);
        //方式2
        //static int parseInt(String s)
        int y = Integer.parseInt(s);
        System.out.println(y);
    }
}

讲解完毕int类型和String类型的相互转换后,回到资料总结一下:


int 转换为 String

static String valueOf(int i):返回 int 参数的字符串表示形式。该方法是 String 类中的方法

String 转换为 int

static int parseInt(String s):将字符串解析为 int 类型。该方法是 Integer 类中的方法

好了,int类型数据和String类型数据的相互转换我们就先讲到这里。


2.3 GUI案例3(猜数字实现)


需求:根据下列要求,完成猜数字的逻辑

要求:

① 系统产生一个1-100之间的随机数

② 猜的内容不能为空

③ 每次根据猜的数字给出相应的提示

知道了猜数字案例的需求和要求后,下面我们到IDEA中去实现一下:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

/*
    1:系统产生一个1-100之间的随机数
    2:猜的内容不能为空
    3:每次根据猜的数字给出相应的提示
*/
public class GuessNumber {
    public static void main(String[] args) {
        //创建窗体对象
        JFrame jf = new JFrame();

        jf.setTitle("猜数字");
        jf.setSize(400, 300);
        jf.setDefaultCloseOperation(3);
        jf.setLocationRelativeTo(null);
        jf.setAlwaysOnTop(true);
        jf.setLayout(null);

        //系统产生一个1-100之间的随机数
        Random r = new Random();
        int number = r.nextInt(100) + 1;

        //提示信息
        JLabel messageLable = new JLabel("系统产生了一个1-100之间的数据,请猜一猜");
        messageLable.setBounds(70, 50, 350, 20);
        jf.add(messageLable);

        //输入要猜的数字
        JTextField numberField = new JTextField();
        numberField.setBounds(120, 100, 150, 20);
        jf.add(numberField);

        //猜数字的按钮
        JButton guessButton = new JButton("我猜");
        guessButton.setBounds(150, 150, 100, 20);
        jf.add(guessButton);

        guessButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //猜的内容不能为空
                String stringNumber = numberField.getText().trim();
                if(stringNumber.equals("")) {
                    JOptionPane.showMessageDialog(jf,"猜的数字不能为空");
                    return;
                }

                //每次根据猜的数字给出相应的提示
                int guessNumber = Integer.parseInt(stringNumber);

                if(guessNumber > number) {
                    JOptionPane.showMessageDialog(jf,"你猜的数字"+guessNumber+"大了");
                    numberField.setText("");
                } else if(guessNumber < number) {
                    JOptionPane.showMessageDialog(jf,"你猜的数字"+guessNumber+"小了");
                    numberField.setText("");
                } else  {
                    JOptionPane.showMessageDialog(jf,"恭喜你猜中了");
                }
            }
        });

        jf.setVisible(true);
    }
}


2.4 Integer(自动装箱和拆箱)


来,继续啊,下面我们来学习自动装箱和拆箱。

首先,我们来说一下什么是装箱和拆箱:

  • 装箱: 把基本数据类型转换为对应的包装类类型
  • 拆箱: 把包装类类型转换为对应的基本数据类型

了解了装箱和拆箱后,下面我们到 IDEA 中去演示一下:

/*
    装箱:把基本数据类型转换为对应的包装类类型
    拆箱:把包装类类型转换为对应的基本数据类型
 */
public class IntegerDemo03 {
    public static void main(String[] args) {
        //装箱:把基本数据类型转换为对应的包装类类型
//        Integer i = Integer.valueOf(100);
        Integer ii = 100; //Integer.valueOf(100);

        //拆箱:把包装类类型转换为对应的基本数据类型
        ii += 200;
        /*
            ii = ii + 200;
            ii = ii.intValue() + 200;   //自动拆箱
            ii = 300; //Integer.valueOf(300);
         */
        System.out.println(ii);
    }
}

好了,自动装箱和拆箱我们就先讲到这里。


3:Date和SimpleDateFormat


3.1 Date(构造方法)


来,继续啊,下面我们来学习 Date 类和SimpleDateFormat类,它们涉及到两个案例:手机日期和时间显示和考勤查询


先来看手机日期和时间显示案例:获取当前时间,按照指定的格式显示在窗体上。


也就是在这里我们要进行把一个Date类型的数据,按照指定的格式,变成一个字符串数据显示出来。


再来看考勤查询案例,我们要通过输入的指定格式的日期字符串数据,得到Date类型的数据。


所以,我们学习Date类和SimpleDateFormat类的重点就是为了把Date类型数据和String类型数据之间进行按照指定格式进行转换。


首先呢,我们先来学习一下Date类,而关于Date类呢,我们先到帮助文档中去查看,然后回来总结,最后到IDEA中去演示。


来,打开我们准备好的帮助文档,关于通过帮助文档查看Date,大家按照老师讲解的API的使用步骤看看即可。


通过文档了解了Date类之后,下面我们回到资料中总结一下:


Date:

Date类表示特定的时刻,精度为毫秒


构造方法:

Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒

Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00


知道了(的构造方法后,我们到IDEA中去使用一下:

import java.util.Date;

/*
    构造方法:
        Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒
        Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
 */
public class DateDemo {
    public static void main(String[] args) {
        //Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒
        Date d1 = new Date();
        System.out.println(d1);

        //Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
        Date d2 = new Date(1000 * 60 * 60);
        System.out.println(d2);
    }
}

而目前呢,Date类中没有我们要使用的成员方法,所以,我们也就不看它的成员方法了。

讲解完毕后,大家赶快动手练习一下吧。


3.2 SimpleDateFormat(Date和String的相互转换)


来,继续啊,下面我们来学习SimpleDateFormat这个类。


打开我们准备好的帮助文档,关于通过帮助文档查看SimpleDateFormat,大家按照老师讲解的API的使用步骤看看即可。


通过文档了解了SimpleDateFormat类之后,下面我们回到资料中总结一下:


SimpleDateFormat:


SimpleDateFormat 是一个用于以区域设置敏感的方式格式化和解析日期的具体类。我们重点学习日期格式化和解析


日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从‘A’到‘Z’以及从‘a’到‘z’引号的字母被解释为表示日期或时间字符串的组成部分的模式字母


常用的模式字母及对应关系如下:

  • 举例: 2024年10月27日 11:11:11
  • 模式: yyyy年MM月dd日 HH:mm:ss


构造方法:

SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式

SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式


格式化(从 Date 到 String ):

String format(Date date):将日期格式化成日期/时间字符串


解析(从 String 到 Date ):

Date parse(String source):从给定字符串的开始解析文本以生成日期

了解了SimpleDateFormat类,以及Date和String相互转换的方法后,我们到IDEA中去体验一下:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
    构造方法
        SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
        SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式

    格式化(从 Date 到 String )
        String format(Date date):将日期格式化成日期/时间字符串

    解析(从 String 到 Date )
        Date parse(String source):从给定字符串的开始解析文本以生成日期
 */
public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
        //格式化(从 Date 到 String )
        Date d = new Date();
        //SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
//        SimpleDateFormat sdf = new SimpleDateFormat();
        //SimpleDateFormat(String pattern):构造一个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 = "2021-10-27 11:11:11";
//        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date dd = sdf2.parse(ss);
        System.out.println(dd);
    }
}
目录
打赏
0
1
1
0
59
分享
相关文章
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
1月前
|
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
68 11
Java爬虫获取微店快递费用item_fee API接口数据实现
本文介绍如何使用Java开发爬虫程序,通过微店API接口获取商品快递费用(item_fee)数据。主要内容包括:微店API接口的使用方法、Java爬虫技术背景、需求分析和技术选型。具体实现步骤为:发送HTTP请求获取数据、解析JSON格式的响应并提取快递费用信息,最后将结果存储到本地文件中。文中还提供了完整的代码示例,并提醒开发者注意授权令牌、接口频率限制及数据合法性等问题。
Java爬虫获取微店店铺所有商品API接口设计与实现
本文介绍如何使用Java设计并实现一个爬虫程序,以获取微店店铺的所有商品信息。通过HttpClient发送HTTP请求,Jsoup解析HTML页面,提取商品名称、价格、图片链接等数据,并将其存储到本地文件或数据库中。文中详细描述了爬虫的设计思路、代码实现及注意事项,包括反爬虫机制、数据合法性和性能优化。此方法可帮助商家了解竞争对手,为消费者提供更全面的商品比较。
如何在Java爬虫中设置动态延迟以避免API限制
如何在Java爬虫中设置动态延迟以避免API限制
菜鸟之路Day06一一Java常用API
《菜鸟之路Day06——Java常用API》由blue编写,发布于2025年1月24日。本文详细介绍了Java中常用的API,包括JDK7的时间类(Date、SimpleDateFormat、Calendar)和JDK8新增的时间API(ZoneId、Instant、DateTimeFormatter等),以及包装类的使用。通过多个实例练习,如时间计算、字符串转整数、十进制转二进制等,帮助读者巩固所学内容,提升编程技能。文章强调了理论与实践结合的重要性,鼓励读者多做练习以提高学习效率。
108 28
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
413 5
利用 Java 代码获取淘宝关键字 API 接口
在数字化商业时代,精准把握市场动态与消费者需求是企业成功的关键。淘宝作为中国最大的电商平台之一,其海量数据中蕴含丰富的商业洞察。本文介绍如何通过Java代码高效、合规地获取淘宝关键字API接口数据,帮助商家优化产品布局、制定营销策略。主要内容包括: 1. **淘宝关键字API的价值**:洞察用户需求、优化产品标题与详情、制定营销策略。 2. **获取API接口的步骤**:注册账号、申请权限、搭建Java开发环境、编写调用代码、解析响应数据。 3. **注意事项**:遵守法律法规与平台规则,处理API调用限制。 通过这些步骤,商家可以在激烈的市场竞争中脱颖而出。
Java 8 Stream API详解
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/47038607 Java ...
1058 0
1688API最新指南:商品详情接口接入与应用
本指南介绍1688商品详情接口的接入与应用,该接口可获取商品标题、价格、规格、库存等详细信息,适用于电商平台开发、数据分析等场景。接口通过商品唯一标识查询,支持HTTP GET/POST请求,返回JSON格式数据,助力开发者高效利用1688海量商品资源。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等