JAVA变量在不同情况下未赋值与默认初始值

这篇具有很好参考价值的文章主要介绍了JAVA变量在不同情况下未赋值与默认初始值。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、默认初始值

二、本地变量

代码

运行结果

二、实例变量

代码

运行结果

 三、本地变量和实例变量的区别

1.作用域

2.生命周期

3.初始化


一、默认初始值

数据类型 初始值 数据类型 初始值
byte 0 long 0L
char ‘u0000’ float 0.0f
short 0 double 0.0
int 0 boolean false
引用 null

二、本地变量

必须初始化且不赋默认值

本地变量主要用于中间计算,开发人员需要自行分配值。为避免错误,需要初始化本地变量。

代码

public class Input {
    public static void main(String[] agrs) {
       
        int a;
        System.out.println(a);
    }

}

运行结果

JAVA变量在不同情况下未赋值与默认初始值

二、实例变量

可不初始化且赋默认值

实例变量用于在未来和中间的计算中携带数据。Java不强制初始化实例变量并允许默认值。

代码

public class Input {
    public static void main(String[] agrs) {
  
        Cat cat = new Cat();
        System.out.println("name = " + cat.name + '\n' + "age = " + cat.age);
    }

}

class Cat {
    String name;
    int age;
}

运行结果

JAVA变量在不同情况下未赋值与默认初始值

 三、本地变量和实例变量的区别

Java实例变量和本地变量的区别在于它们的作用域和生命周期。文章来源地址https://www.toymoban.com/news/detail-466068.html

1.作用域

  • 实例变量属于类对象,可以在整个类中使用(包括方法)。
  • 本地变量只能在它们的方法中使用,并且只在方法被调用时存在。

2.生命周期

  • 实例变量的生命周期与类对象的生命周期相同。当类对象被创建时,实例变量也被创建,当类对象被销毁时,实例变量也被销毁。
  • 本地变量只在它们所在的方法被调用时才会被创建并分配内存,一旦方法调用结束,本地变量所分配的内存会自动释放。

3.初始化

  • 实例变量可以自动初始化,当类对象被创建时,如果没有为实例变量指定初始值,Java会自动为实例变量指定默认值。
  • 本地变量必须明确初始化赋值,否则编译器会报错。

到了这里,关于JAVA变量在不同情况下未赋值与默认初始值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 271_C++_分别把int类型的参数赋值给unsigned char和char类型的变量,有没有存在异常情况【有详细例子】

    在C++中,将 int 类型的参数赋值给 unsigned char 和 char 类型的变量是允许的,但需要注意一些潜在的异常情况,特别是与数值范围和符号有关的情况。 unsigned char : unsigned char 是一个无符号字符类型,它的取值范围通常是0到255。将一个 int 值赋给 unsigned char 时,如果 int 的值在

    2024年02月09日
    浏览(45)
  • Java中Map集合初始化并赋值

    Java中Map集合初始化并赋值的几种方式:

    2024年02月11日
    浏览(53)
  • Java创建数组、赋值的四种方式,声明+创建+初始化 详解

    以int数据类型为例 注意: new 数据类型[]{},其中花括号可以省去,但要在[ ]中填写数组的个数; 创建多维数组时 new后面第一个方括号中的元素数量不能省略 1、一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 推荐使用第一种格式,因为第一种格式具有更好的可读性,表

    2024年04月11日
    浏览(58)
  • java基础:初始化ArrayList时直接赋值的四种方式

    在Java中,初始化ArrayList时直接赋值有以下几种常见方式: 构造器传入集合 : 或者在Java 9及以上版本中使用 List.of() 方法创建不可变列表: 使用匿名内部类 (不常用且可能引起混淆,实际编程中很少这样用): 注意:这种方式利用了匿名内部类的实例初始化块,但不是标准

    2024年04月22日
    浏览(42)
  • java中使用BeanUtils.copyProperties方法对象复制同名字段类型不同赋值为空问题解析

    对象之间的复制,dto对象中字段类型为String,model中字段类型为BigDecimal。使用BeanUtils.copyProperties方法进行对象批量复制。 提示:这里描述项目中遇到的问题: 使用Spring 的 BeanUtils.copyProperties 方法发现dto中的String类型字段无法转换为model中的BigDecimal类型同名字段。 使用Spring

    2024年02月13日
    浏览(39)
  • Java中变量的默认值

    变量必须先声明,再赋值才能访问. 但是对于成员变量来说,可以不手动赋值,系统会默认赋值. 类型        默认值 byte        0 short        0 int         0 double        0.0 long        0L float        0F boolean        false; char        u0000 引用数据类型        null null是一个

    2023年04月18日
    浏览(29)
  • HTTP身份认证401不同情况下弱口令枚举方法及java代码实现

    大家好,我是ABC_123 。在日常的渗透测试及红队评估项目中,经常遇到http 401身份认证的情况,具体就是访问一个特定目录的时候,会弹出一个要求输入用户名密码的框框。很多朋友会误以为是与tomcat的http basic认证一样,就是把用户名及密码进行了简单的base64加密,然后使用

    2024年01月15日
    浏览(48)
  • 第83篇:HTTP身份认证401不同情况下弱口令枚举方法及java代码实现(上篇)

    大家好,我是ABC_123 。在日常的渗透测试及红队评估项目中,经常遇到http 401身份认证的情况,具体就是访问一个特定目录的时候,会弹出一个要求输入用户名密码的框框。很多朋友会误以为是与tomcat的http basic认证一样,就是把用户名及密码进行了简单的base64加密,然后使用

    2024年02月04日
    浏览(43)
  • 【JAVA】数据类型与变量(主要学习与c语言不同之处)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 1. 字面常量 2. 数据类型 3. 变量 在上节课 HelloWorld 程序中, System.Out.println(\\\"Hello World\\\") ; 语句,不论程序何时运行,输出的都是 Hello World,其实 \\\"Hello Wo

    2024年03月28日
    浏览(48)
  • C++二维数组的初始化赋值及示例

    C++二维数组可以看作一个表格,横向为表格的行,纵向为表格的列,数组定义时行号在前,列号在后。二维数组的定义格式为: 数据类型  数组名[常量行表达式][常量列表达式] 。 二维数组的元素是按先行后列的顺序存放的,例如,定义一个int a[3][2]的数组,其形式为: a[

    2024年02月12日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包