Java为啥有的地方赋值是 数据类型 变量名 = 值; 有的是 一个单词 变量名 = new 又是那个单词();

embedded/2024/10/10 22:44:58/

在Java中,你提到的两种赋值方式实际上反映了Java中对象和非对象(基本数据类型)之间的区别。这是Java(以及许多其他面向对象编程语言)的一个核心特性。

第一种:数据类型 变量名 = 值;

这种方式用于基本数据类型的变量赋值。基本数据类型包括int、double、char、boolean等,它们不是对象,而是直接存储数据的简单类型。当你为这些类型的变量赋值时,你直接给出了数据的值。例如:

java
int age = 25; // 整数类型
double pi = 3.14; // 浮点类型
char letter = 'A'; // 字符类型
boolean isDone = true; // 布尔类型
第二种:一个单词 变量名 = new 又是那个单词();

这种方式用于对象的创建和赋值。在Java中,除了基本数据类型之外的所有内容都被视为对象,包括数组和类实例。当你使用new关键字时,你实际上是在请求JVM(Java虚拟机)在堆内存中为你的对象分配空间,并返回一个指向该新创建对象的引用。这个引用被存储在变量中。

这里的“一个单词”通常指的是类名(或者在某些情况下是接口名,但这通常与工厂模式或依赖注入等高级概念相关)。例如:

java
String name = new String("John Doe"); // String是一个类
List<Integer> numbers = new ArrayList<>(); // ArrayList是一个类,实现了List接口
Person person = new Person(); // 假设Person是一个用户定义的类

在上面的例子中,String、ArrayList和Person都是类名。当你使用new关键字加上类名并调用其构造函数(如果有的话,如上例中的new String("John Doe")和new ArrayList<>())时,你会得到一个该类的对象实例的引用,这个引用被存储在左侧的变量中。

总结
第一种方式用于基本数据类型的变量赋值。
第二种方式用于对象的创建和赋值,通过new关键字和类名(或接口名与工厂方法结合)来实现。

这两种方式共同构成了Java语言中变量赋值的基础,体现了Java作为面向对象编程语言的特点。


http://www.ppmy.cn/embedded/125580.html

相关文章

第五十九周周报 IAGNN

文章目录 week 59 IAGNN摘要Abstract一、大数据相关1. 磁盘扩容以及数据恢复2. 单机hbase 二、文献阅读1. 题目2. Abstract3. 网络结构3.1 问题定义3.2 IAGNN 4. 文献解读4.1 Introduction4.2 创新点4.3 实验过程4.4 实验结果 5. 结论参考文献 week 59 IAGNN 摘要 本周阅读了…

MySQL 日志 - Binlog

文章目录 binlog 的格式mysqbinlog 工具SHOW binlog events;binlog 和 redo log 对比 https://dev.mysql.com/doc/refman/8.4/en/binary-log.html binlog 全称 BinaryLog&#xff0c;是 MySQL 数据库中用于记录所有更改数据库状态的事件的日志文件。它主要用于以下几个目的&am…

C++ 功能使用技巧

1. 通过C执行shell指令&#xff0c;比如&#xff0c;在代码中查找进程名称&#xff0c;并进行终止 2.单实例线程操作 1. 要点 snprintf 函数被用于构建一个包含多个命令的字符串 在C语言中&#xff0c;system函数用于执行shell命令 在C或C编程中&#xff0c;::mkdir 函数用…

0基础跟德姆(dom)一起学AI 机器学习03-线性回归

线性回归 线性回归介绍 【理解】举个栗子 假若有了身高和体重数据&#xff0c;来了播仔的身高&#xff0c;你能预测播仔体重吗? 这是一个回归问题&#xff0c;该如何求解呢? **思路**:先从已知身高X和体重Y中找规律&#xff0c;再预测 •数学问题&#xff1a;用一条线来拟…

Unity各个操作功能+基本游戏物体创建与编辑+Unity场景概念及文件导入导出

各个操作功能 部分功能 几种操作游戏物体的方式&#xff1a; Center:有游戏物体父子关系的时候&#xff0c;中心点位置 Global/Local:世界坐标系方向/自身坐标系方向 &#xff1a;调试/暂停/下一帧 快捷键 1.Alt鼠标左键&#xff1a;可以实现巡游角度查看场景 2.鼠标滚轮…

二、MySQL的数据目录

文章目录 1. MySQL8的主要目录结构1.1 数据库文件的存放路径1.2 相关命令目录1.3 配置文件目录 2. 数据库和文件系统的关系2.1 查看默认数据库2.2 数据库在文件系统中的表示2.3 表在文件系统中的表示2.3.1 InnoDB存储引擎模式2.3.2 MyISAM存储引擎模式 2.4 小结 1. MySQL8的主要…

蓝桥杯:求平均年龄

#include<stdio.h> int main() { int num 0; float age 0,sum0; printf("请输入总人数: "); scanf_s("%d" ,& num); for (int i1; i <num;i) { scanf_s("%f", &age); sum age…

多模态简单了解

多模态 1.文本编码2. ViT图像编码器2.1图像矩阵self-attention计算&#xff1a; 3.Transformer多模态3.1CLIP 图文交互3.2 对比学习训练3.3 flamingo 图文交互3.4 LLava 图文交互 1.文本编码 简介&#xff1a; 即通过embedding将字符向量化&#xff0c;进入模型即可。 2. ViT…