Java中Integer方法

先进行专栏介绍

本专栏是自己学Java的旅途,纯手敲的代码,自己跟着黑马课程学习的,并加入一些自己的理解,对代码和笔记

进行适当修改。希望能对大家能有所帮助,同时也是请大家对我进行监督,对我写的代码进行建议,互相学习。

Integer方法

Integer类提供了许多方法来操作整数值。

定义

java 复制代码
public final class Integer extends Number implements Comparable<Integer> {
    // 类的成员变量和方法
}

分析

Integer类是final类,这意味着它不能被继承。它实现了Comparable接口,这使得我们可以对Integer对象进行比较。此外,它还继承了Number类,这意味着我们可以将Integer对象转换为其他数字类型,如byte、short、long、float和double。

常用方法

parseInt(String s):将字符串s解析为一个整数值并返回。

valueOf(int i):返回一个表示指定整数值i的Integer对象。

intValue():返回Integer对象的值作为一个int类型。

compareTo(Integer anotherInteger):将Integer对象与anotherInteger进行比较,如果相等则返回0,如果小于anotherInteger则返回负数,如果大于anotherInteger则返回正数。

toString():返回Integer对象的字符串表示。

equals(Object obj):将Integer对象与obj进行比较,如果obj是一个Integer对象且值相等则返回true,否则返回false。

hashCode():返回Integer对象的哈希码值。

toBinaryString(int i):返回一个表示整数值i的二进制字符串。

toHexString(int i):返回一个表示整数值i的十六进制字符串。

toOctalString(int i):返回一个表示整数值i的八进制字符串。

基本类型包装类

将基本数据类型封装成对象的好处是可以通过对象调用方法操作数据

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

byte->Byte

short->Short

int->Integer

long->Long

float->Float

double->Double

char->Character

boolean->Boolean

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

代码示例
java 复制代码
public class crj {
    public static void main(String[] args) {
//        //Integer(int value):
//        Integer i1=new Integer(100);
//        System.out.println(i1);
//        //Integer(String s)
//        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);
    }
}

int String 类型相互转换

代码示例
java 复制代码
public class crj {
    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);

        //String->int
        String s = "100";
        //方法1  String->Integer->int
        Integer i = Integer.valueOf(s);
        int x = i.intValue();
        System.out.println(x);
        //方法2 static int parseInt(String s)
        int y = Integer.parseInt(s);
        System.out.println(y);
    }
}

综合案例:猜数字

java 复制代码
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;

public class crj {
    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);
        //产生数字
        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 numberFiled = new JTextField();
        numberFiled.setBounds(120, 100, 150, 20);
        jf.add(numberFiled);

        //猜数字按钮
        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 = numberFiled.getText().trim();
                if (StringNumber.equals("")) {
                    JOptionPane.showMessageDialog(jf, "猜的数字不能为空");
                    return;
                }

                //每次根据数字给出提示
                int guessNumber = Integer.parseInt(StringNumber);
                if (guessNumber > number) {
                    JOptionPane.showMessageDialog(jf, "你猜的数字"+guessNumber+"大了");
                    numberFiled.setText("");
                }else if(guessNumber<number){
                    JOptionPane.showMessageDialog(jf,"你猜的数字"+guessNumber+"小了");
                    numberFiled.setText("");
                }else{
                    JOptionPane.showMessageDialog(jf,"恭喜你猜中了");
                }
            }
        });
        jf.setVisible(true);
    }
}
相关推荐
非优秀程序员9 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
知已难寻9 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
沐晓时光10 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
文丑颜不良啊11 小时前
LeetCode2481~2500题目解析
java·leetcode
Flynn Liang12 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
聪明的笨猪猪13 小时前
实际工程问题:AI 生成 Spring Cache(@Cacheable / @CachePut / @CacheEvict)缓存注解踩坑
java·经验分享·面试·ai编程
愿有所息13 小时前
记一次 ARM64 + JDK8 上 fastjson2 的诡异数据错乱
java
秋饼14 小时前
MCP 2026-07-28 无状态协议大改版:Spring AI 2.1 多轮往返请求与网关路由落地
java·ai·技术分享·后端开发
SL_staff15 小时前
JVS-BI 实战:业务人员如何用零代码 ELT + 可视化配置构建实时经营分析闭环
java·spring·全栈
SL_staff15 小时前
企业AI落地难?JVS-AI渐进式实践:安全可控、小切口验证、标准化沉淀与规模化复制
java·开源·aigc