您的位置:首页 > 财经 > 产业 > 广州最新发布最新_怎么开网店详细步骤教程_哔哩哔哩b站在线看免费_十堰seo优化

广州最新发布最新_怎么开网店详细步骤教程_哔哩哔哩b站在线看免费_十堰seo优化

2025/1/3 10:38:59 来源:https://blog.csdn.net/weixin_73527957/article/details/143435765  浏览:    关键词:广州最新发布最新_怎么开网店详细步骤教程_哔哩哔哩b站在线看免费_十堰seo优化
广州最新发布最新_怎么开网店详细步骤教程_哔哩哔哩b站在线看免费_十堰seo优化

目录

  • Java基本语法和基础数据类型
    • 标识符和关键字有什么区别?
    • Java关键字有哪些?
    • Java基本数据类型有哪些?
    • 什么是自动装箱和拆箱?
      • 自动装箱(Autoboxing)
      • 自动拆箱(Unboxing)
    • 自动装箱和拆箱在哪些情况下发生?
      • 自动装箱(Autoboxing)发生的情况:
      • 自动拆箱(Unboxing)发生的情况:
    • Java有哪些类型的转换?区别是什么?
      • 自动类型转换(隐式类型转换)
      • 强制类型转换(显式类型转换)
      • 注意事项
    • 参考

Java基本语法和基础数据类型

在这里插入图片描述

标识符和关键字有什么区别?

标识符

  • 由开发者自定义的,用于标识特定的程序元素
  • 它必须以字母(A-Z或a-z)或下划线(_)开头,后面可以跟字母、数字(0-9)或下划线

关键字

  • 关键字是编程的语言预定义的,具有特殊意义的单词
  • 它们用于表示语言的语法结构,不能用于标识符

Java关键字有哪些?

  • 访问控制:private、protected、public
  • 类,方法和变量修饰符:abstract、calss、estends、final、implents、interface、native、new、static、strictfp、synchronized、transient、volatile、enum
  • 程序控制:break、continue、return、do、while、if、else、for、instanceof、switch、case、default、assert
  • 错误处理:try、catch、throw、throws、finally
  • 包相关:import、package
  • 基本类型:boolean、byte、char、double、float、int、long、short
  • 变量引用:super、this、void
  • 保留字:goto、const

Java基本数据类型有哪些?

Java中的基本数据类型(也称为原始数据类型)包括以下8种:

  1. 整型

    • byte:8位有符号整数,取值范围从-128到127。
    • short:16位有符号整数,取值范围从-32,768到32,767。
    • int:32位有符号整数,默认的整数类型,取值范围从-2,147,483,648到2,147,483,647。
    • long:64位有符号整数,取值范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。在数值后加上Ll来表示。
  2. 浮点型

    • float:32位单精度浮点数,遵循IEEE 754标准。在数值后加上Ff来表示。
    • double:64位双精度浮点数,遵循IEEE 754标准,默认的浮点数类型。
  3. 字符型

    • char:16位Unicode字符,可以存储任何字符。
  4. 布尔型

    • boolean:只有两个可能的值:truefalse

什么是自动装箱和拆箱?

在Java中,自动装箱(Autoboxing)和拆箱(Unboxing)是两个与基本数据类型和它们的包装类(Wrapper Classes)之间转换相关的概念。

自动装箱(Autoboxing)

自动装箱是指将Java的基本数据类型自动转换成对应的包装类对象的过程。这种转换是自动进行的,不需要程序员显式地进行类型转换。例如,可以将一个int类型的值直接赋值给一个Integer对象,Java编译器会自动将int装箱为Integer对象。

Integer integerObject = 10; // 自动装箱,将int类型10转换为Integer对象

自动拆箱(Unboxing)

自动拆箱是指将包装类对象自动转换成对应的基本数据类型的过程。与自动装箱相反,自动拆箱将包装类对象还原为基本数据类型。这同样是由Java编译器自动完成的。

int intValue = integerObject; // 自动拆箱,将Integer对象转换为int类型的值

自动装箱和拆箱在哪些情况下发生?

自动装箱和拆箱在Java中主要在以下情况下发生:

自动装箱(Autoboxing)发生的情况:

  1. 赋值给包装类对象
    当基本数据类型的值被赋给对应的包装类对象时,会自动装箱。

    Integer i = 10; // int 装箱成 Integer
    
  2. 作为参数传递给接受包装类对象的函数
    当函数的参数是包装类类型时,传递基本数据类型会自动装箱。

    void takeInteger(Integer i) {// ...
    }
    takeInteger(20); // int 装箱成 Integer
    
  3. 集合类操作
    当将基本数据类型添加到需要对象的集合类(如ListSetMap等)时,会自动装箱。

    List<Integer> list = new ArrayList<>();
    list.add(30); // int 装箱成 Integer
    
  4. 条件语句
    在某些条件语句中,如ifwhile,基本数据类型会被自动装箱以便与包装类对象进行比较。

    if (40 != null) {// int 装箱成 Integer,然后与null比较
    }
    

自动拆箱(Unboxing)发生的情况:

  1. 赋值给基本数据类型的变量
    当包装类对象被赋值给基本数据类型的变量时,会自动拆箱。

    Integer i = 50;
    int j = i; // Integer 拆箱成 int
    
  2. 作为参数传递给接受基本数据类型的函数
    当函数的参数是基本数据类型时,传递包装类对象会自动拆箱。

    void takeInt(int i) {// ...
    }
    takeInt(60); // Integer 拆箱成 int
    
  3. 算术运算
    当包装类对象参与算术运算时,会自动拆箱成基本数据类型。

    Integer a = 70;
    Integer b = 80;
    int sum = a + b; // 两个Integer对象拆箱成int,然后相加
    
  4. 比较运算
    当包装类对象使用==进行比较时,会自动拆箱成基本数据类型。

    Integer x = 90;
    Integer y = 90;
    boolean equal = x == y; // 两个Integer对象拆箱成int,然后比较
    
  5. 条件语句
    ifwhile等条件语句中,包装类对象会自动拆箱以便与基本数据类型进行比较。

    while (100 < 200) {// Integer 拆箱成 int
    }
    

自动装箱和拆箱使得代码更加简洁,但也要注意它们可能带来的性能影响,特别是在循环和大量数据处理的情况下,因为频繁的装箱和拆箱可能会导致不必要的性能开销

Java有哪些类型的转换?区别是什么?

Java中有两种主要的类型转换:自动类型转换(也称为隐式类型转换)和强制类型转换(也称为显式类型转换)。

自动类型转换(隐式类型转换)

自动类型转换发生在不同数据类型之间的赋值或参数传递时,当源数据类型的值可以无损失地转换为目标数据类型时,Java编译器会自动进行类型转换。这种转换通常发生在以下几种情况:

  1. 从小到大的转换

    • byteshortcharint,然后到long,最后到floatdouble
    • 例如:byteintintlongfloatdouble
  2. 对象之间的转换

    • 从子类对象到父类对象的引用转换。
    • 例如:Dog dog = new Dog(); Animal animal = dog;(其中DogAnimal的子类)

强制类型转换(显式类型转换)

强制类型转换是程序员明确指定的类型转换,用于将一个类型的值转换为另一个类型的值。如果转换不兼容,编译器会报错。这种转换通常发生在以下几种情况:

  1. 从大到小的转换

    • doublefloat,然后到long,接着到intcharshort,最后到byte
    • 例如:doubleintintbyte
  2. 对象之间的转换

    • 从父类对象到子类对象的引用转换。
    • 例如:Animal animal = new Dog(); Dog dog = (Dog) animal;(其中DogAnimal的子类)
  3. 基本数据类型和字符串之间的转换

    • 基本数据类型到String,以及String到基本数据类型的转换。
    • 例如:int i = 10; String str = String.valueOf(i); 或者 String str = "123"; int i = Integer.parseInt(str);

注意事项

  • 在进行数值类型的强制转换时,可能会发生数值溢出或精度损失。
  • 在进行对象引用的强制转换时,如果转换不兼容,运行时会抛出ClassCastException
  • 字符串到基本数据类型的转换可能会抛出NumberFormatException,如果字符串的内容不能被解析为相应的数值类型。

类型转换是Java编程中的一个重要概念,正确地使用类型转换可以帮助程序员编写出更加灵活和高效的代码。

参考

部分参考Javaguide的关于面试的文档(准备面试的同学强烈推荐!)
链接:https://javaguide.cn/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com