首页 > 编程语言 >秋招Java后端开发冲刺——基础篇2

秋招Java后端开发冲刺——基础篇2

时间:2024-06-21 08:59:42浏览次数:12  
标签:Java int double valueOf 数据类型 冲刺 秋招 Integer 方法

Java语言基础

一、基本数据类型(8个)

  1. 整型:byte(1字节)、 short(2字节)、int(4字节)、 long(8字节,使用时一定要在数值后面加上 L)
    :整型类型的最高位表示数据符号位,因此实际上数据的表示范围为( − 2 字节数 , 2 字节数 - 2^{字节数},2^{字节数} −2字节数,2字节数)
  2. 浮点型:float(4字节),double(8字节)
  3. 字符型:char(2字节)
  4. 布尔型: boolean(1bit)

二、包装类型(Java中的类)

  1. 整型:Byte、Short、Integer、Long
  2. 浮点型:Float、Double
  3. 字符型:Character
  4. 布尔型:Boolean
    :String不是包装类型,是Java中的一个类

三、基本数据类型和包装类型间区别与联系

类型泛型存储位置占用空间默认值比较方式
基本数据类型×栈、堆、方法区(元空间)不同类型不同默认值==
包装类型nullequals()

类型间转换:

  • 自动装箱:直接将基本数据类型的变量赋值给包装类对象,这是Java编译器自动处理的,从Java 5开始引入的特性。例如,Integer boxedIntValue = intValue。
  • 显式装箱:使用包装类的静态方法valueOf进行转换,例如,Integer explicitlyBoxedIntValue = Integer.valueOf(intValue)。
  • 自动拆箱:直接将包装类型的对象赋值给基本数据类型变量
  • 显式拆箱:使用包装类的静态方法xxxValue()进行转换,例如,int baseValue = boxedIntValue.intValue()。
  1. 基本数据类型 -> 包装类型
// 基本数据类型
        int intValue = 5;
        char charValue = 'a';
        boolean booleanValue = true;
        byte byteValue = 1;
        short shortValue = 2;
        long longValue = 100L;
        float floatValue = 3.14f;
        double doubleValue = 3.14159;

        // 自动装箱:将基本数据类型转换为包装类型
        Integer boxedIntValue = intValue;
        Character boxedCharValue = charValue;
        Boolean boxedBooleanValue = booleanValue;
        Byte boxedByteValue = byteValue;
        Short boxedShortValue = shortValue;
        Long boxedLongValue = longValue;
        Float boxedFloatValue = floatValue;
        Double boxedDoubleValue = doubleValue;

        // 显示装箱:使用包装类的构造函数
        Integer explicitlyBoxedIntValue = Integer.valueOf(intValue);
        Character explicitlyBoxedCharValue = Character.valueOf(charValue);
        Boolean explicitlyBoxedBooleanValue = Boolean.valueOf(booleanValue);
        Byte explicitlyBoxedByteValue = Byte.valueOf(byteValue);
        Short explicitlyBoxedShortValue = Short.valueOf(shortValue);
        Long explicitlyBoxedLongValue = Long.valueOf(longValue);
        Float explicitlyBoxedFloatValue = Float.valueOf(floatValue);
        Double explicitlyBoxedDoubleValue = Double.valueOf(doubleValue);
  1. 包装类型 -> 基本数据类型
Integer boxedIntValue = Integer.valueOf(5);
        Character boxedCharValue = Character.valueOf('a');
        Boolean boxedBooleanValue = Boolean.valueOf(true);
        Byte boxedByteValue = Byte.valueOf((byte) 1);
        Short boxedShortValue = Short.valueOf((short) 2);
        Long boxedLongValue = Long.valueOf(100L);
        Float boxedFloatValue = Float.valueOf(3.14f);
        Double boxedDoubleValue = Double.valueOf(3.14159);

        // 自动拆箱:将包装类型转换为基本数据类型
        int intValue = boxedIntValue;
        char charValue = boxedCharValue;
        boolean booleanValue = boxedBooleanValue;
        byte byteValue = boxedByteValue;
        short shortValue = boxedShortValue;
        long longValue = boxedLongValue;
        float floatValue = boxedFloatValue;
        double doubleValue = boxedDoubleValue;

        // 显示拆箱:使用包装类的对应方法
        int explicitlyUnboxedIntValue = boxedIntValue.intValue();
        char explicitlyUnboxedCharValue = boxedCharValue.charValue();
        boolean explicitlyUnboxedBooleanValue = boxedBooleanValue.booleanValue();
        byte explicitlyUnboxedByteValue = boxedByteValue.byteValue();
        short explicitlyUnboxedShortValue = boxedShortValue.shortValue();
        long explicitlyUnboxedLongValue = boxedLongValue.longValue();
        float explicitlyUnboxedFloatValue = boxedFloatValue.floatValue();
        double explicitlyUnboxedDoubleValue = boxedDoubleValue.doubleValue();

四、方法

  1. 静态方法和普通方法的区别
类型调用方式访问限制
静态方法对象名.方法名()/ 类名.方法名()只能访问类的静态变量或静态方法
普通方法对象名.方法名()无限制
:静态方法是在类加载的时候就分配了内存空间,而类的非静态成员是在创建对象时才分配内存空间,因此静态方法访问非静态成员是非法的。
  1. 重载
  • 方法重载:指的是在同一个类中定义两个方法名完全相同的方法,但两个方法的形式参数不同(类型、个数和顺序),在调用的时候程序会根据实际参数与形式参数的匹配自动调用正确的方法。
    :形参名称不同是错误的
  • 重载方法一般用于实现类似的功能,比如不同类型数据的加减等运算
  • 构造方法可以重载
public class methodTest {
    //整数+整数
    public int add(int a,int b){
        return a+b;
    }
    //整数+浮点数
    public double add(double a,int b){
        return a+b;
    }
    //浮点数+浮点数
    public double add(double a,double b){
        return a+b;
    }
    public static void main(String[] args){
        methodTest mt=new methodTest();
        int result1=mt.add(1,2);
        double result2 = mt.add(1.2,5);
        double result3=mt.add(2.3,5.2);
    }
}
  1. 重写
  • 方法重写:指的是在子类重写父类中的同一个方法,实现不同的逻辑
  • 方法名、参数列表必须相同,子类方法返回值类型应比父类方法返回值类型更小或相等
    :private/final/static 修饰的方法不能被重写,构造方法不能被重写
// 父类
class Animal {
    // 父类中的方法
    public void makeSound() {
        System.out.println("The animal makes a sound");
    }

    // 父类中的另一方法
    public void sleep() {
        System.out.println("The animal is sleeping");
    }
}

// 子类
class Dog extends Animal {
    // 子类重写父类的方法
    @Override
    public void makeSound() {
        System.out.println("The dog barks");
    }
}

标签:Java,int,double,valueOf,数据类型,冲刺,秋招,Integer,方法
From: https://blog.csdn.net/qq_50604294/article/details/139684545

相关文章

  • 《JAVA 程序设计语言学习心得》
    在信息科技高速发展的当下,我怀着对编程世界的强烈好奇和探索欲望,开启了JAVA程序设计语言的学习之旅。一、学习JAVA程序设计语言的背景和动机随着数字化时代的来临,编程技能在各个领域的重要性日益凸显。我意识到掌握一门强大的编程语言,不仅能够提升自己的逻辑思维和解决问......
  • 基于Java的图书管理系统源码( GUI+JavaSwing+MySql )
    基于Java的图书管理系统源码(GUI+JavaSwing+MySql)1、使用JavaSwing,Mysql实现2、IDEA编写,eclipse也可以运行(测试使用的IDEA24.1.3)3、测试环境:JDK1.8(JDK20),MySQL5.54、本项目实现了注册、登录、图书馆数据维护、新书订购、借阅管理、系统维护等功能=============......
  • 在Java中public class与class的区别(详细解释)
    在Java中,class 关键字用于定义一个类。当你使用 class关键字定义一个类时,它可以是公开的(即可以从其他包中访问)或包私有的(即只能在定义它的包内部访问)。在编写程序时,为了明确指定一个类为公开的,我们可以使用public 关键字来修饰 class。下面是publicclass 和 class(没有......
  • java的日志记录框架
    1.什么是日志日志是记录应用程序运行时所产生的事件信息的工具。2.日志的分类(1)SQL日志(2)异常日志(3)业务日志3.日志的主要用途问题追踪、状态监控、安全审计4.使用log4j2日志的步骤a.配置log4j2配置文件b.创建日志容器log对象c.使用log对象对应的危险等级提示来记录日......
  • 基于Springboot的CSGO赛事管理系统(有报告)。Javaee项目,springboot项目。
    演示视频:基于Springboot的CSGO赛事管理系统(有报告)。Javaee项目,springboot项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringBoot+Mybatis+Vue+Maven+Layui+Elementui来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统......
  • 基于SSM的宠物医院管理系统的设计与实现(有报告)。Javaee项目。ssm项目。
    演示视频:基于SSM的宠物医院管理系统的设计与实现(有报告)。Javaee项目。ssm项目。项目介绍:采用M(model)V(view)C(controller)三层体系结构,通过Spring+SpringMvc+Mybatis+Vue+Layui+Elementui+Maven来实现。MySQL数据库作为系统数据储存平台,实现了基于B/S结构的Web系统。......
  • 【全网最全最详细】JavaSE基础面试题(下)
    目录二十七、什么是BIO、NIO、AIO?二十八、SimpleDateFormat是线程安全的吗?二十九、如何解决SimpleDateFormat线程不安全的问题?三十、while(true)和for循环哪个性能好?三十一、Arrays.sort是使用什么排序算法实现的?三十二、String是如何实现不可变的?三十三、字符串常量......
  • 2024华为OD机试真题- 计算三叉搜索树的高度-(C++/Java/Python)-C卷D卷-100分
     2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述定义构造三叉搜索树规则如下:每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是:1.如果数小于节点的数减去500,则将数插入节点的左子树2.如果数大于节点的......
  • Java基础
    1.Hashcode的作用Java的集合有两类,一类是List,还有一类是Set。前者有序可重复,后者无序不可重复。当我们在Set中添加元素的时候,怎么判断集合中是否存在该元素,我们可以用equals方法来判断,但是当元素很多的时候,这种方法显然就很慢了。于是有人发明哈希算法来提高集合中查找元素......
  • java的CC1链分析与利用
    CC1链子分析CommonsCollections简介ApacheCommonsCollections是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强有力的数据结构类型并实现了各种集合工具类。作为Apache开源项目的重要组件,被广泛运用于各种Java应用的开发。环境配置jdk版本:jdk8......