当前位置: 首页 > news >正文

Java 空值与null 形参与实参学习

Java系列文章目录


文章目录

  • Java系列文章目录
  • 一、前言
  • 二、学习内容:
  • 三、问题描述
  • 四、解决方案:
    • 4.1 空值与null的区别
      • 4.1.1 空值(Empty Value)
      • 4.1.2 Null
    • 4.2 形参与实参区别
  • 五、总结:
    • 5.1 学习总结:

一、前言

  • 学习null与空值的区别
  • 学习形参与实参

二、学习内容:

  • null与空值

三、问题描述

  • 形参实参混淆
  • null与空值混淆

四、解决方案:

4.1 空值与null的区别

4.1.1 空值(Empty Value)

定义: 空值通常指的是一个有效的值,但这个值是不包含任何内容。例如,在字符串上下文中,空字符串 “” 表示一个长度为零的字符串。

表现形式:

  • 在很多编程语言中,空值可以用 “”(空字符串)、0(数字零)或其他类型的空对象(如空数组 [])表示。

数据类型:

  • 空值通常属于特定的数据类型(比如空字符串属于字符串类型)。

4.1.2 Null

定义: Null 是一个特殊的标记,表示没有值或缺失的值。它表示“没有任何对象”或“未知的值”。

表现形式:

  • null 是一个关键字,例如 JavaScript、Java 和 Python(使用 None 表示)。

数据类型:

  • Null 通常不是特定类型的值,而是一种状态,强调变量没有被初始化或没有具体的值。

应用场景

  • 空值可用于表示清空的状态,例如用户输入未填充的字段,但仍然该字段存在。
  • Null常用于检查变量是否已初始化或特定字段是否存在,尤其在数据库和数据结构中很常见。

例子

let str = ""; // 空字符串  
let obj = null; // Null值  

4.2 形参与实参区别

  • 值传递: 形参的改变不会影响实参。
  • 引用传递: 形参的改变可能会影响实参,但这通常只适用于可变对象。

Java实际上是值传递,但对于引用类型(对象),实参的引用被传递,形参可以通过引用修改对象的内容,但如果形参重新指向一个新的对象,实参不会受到影响


五、总结:

5.1 学习总结:

  • 空值是不含内容的有效值

  • null是未初始化的一种状态
    在这里插入图片描述

  • 形参如果采用值传递,变化不会影响实参;

  • 如果采用引用传递且实参是可变对象,变化可能会影响实参。

在这里插入图片描述

(后续有遇到问题再添加)


声明:如本内容中存在错误或不准确之处,欢迎指正。转载时请注明原作者信息(麻辣香蝈蝈)。

http://www.lryc.cn/news/424160.html

相关文章:

  • 【QT常用技术讲解】QTableView添加QCheckBox、QPushButton
  • linux监控命令
  • SpringBoot入门笔记
  • python 华为od 单词接龙
  • Vue+Echart实现地图省市区三级下钻
  • Apache Tomcat 信息泄露漏洞排查处理CVE-2024-21733)
  • 51单片机-LED实验
  • 无人机开启农林植保新篇章
  • 第N4周:NLP中的文本嵌入
  • C++高精度减法
  • protobuf cmakelist,msvc utf-8设置
  • Haproxy讲解
  • K8S系列——一、Ubuntu上安装Helm
  • 排序: 插入\希尔\选择\归并\冒泡\快速\堆排序实现
  • OpenCV图像处理——按最小外接矩形剪切图像处理ROI后映射回原图像
  • Linux中以单容器部署Nginx+ASP.NET Core
  • 【秋招笔试】8.11大疆秋招(第三套)-三语言题解
  • 标题:打造编程学习的知识宝库:高效笔记记录与整理
  • 【Rust光年纪】Rust 官方提供的关键工具概览:代码检查、格式化和依赖管理
  • 【Python学习-UI界面】PyQt5 小部件8-QSlider 数值滑动
  • MapReduce入门教程
  • JDBC1 Mysql驱动,连接数据库
  • LeetCode 205 同构字符串
  • ARM高性能计算(HPC)处理器Neoverse介绍
  • 【每日力扣中医养生】力扣1298. 你能从盒子里获得的最大糖果数
  • 大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
  • C#创建一个自定义控件类
  • springboot牙科就诊管理系统--论文源码调试讲解
  • CUDA+tensorflow+python+vscode在GPU下环境安装及问题汇总与解答
  • 24/8/14算法笔记 复习_逻辑回归sigmoid