JAVA的简单理解

JAVA语法基础

JAVA中语法中类与对象的体现

在java中,认为万事万物皆为对象,这里类比C/C++,进行简单的区别与分析。

在C/C++中,往往使用头文件<stdio.h>等标准输入输出函数来控制简单的人机交互,而在java中,人机交互的输入方式,则是用类进行包装。

例如

Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
int j=sc.nextInt();

这里就是new了一个对象sc,再对i,j进行输入的操作。

再例如对于随机数的生成,C/C++中往往是再次引用头文件进行库函数的调用,而java中则还是类与对象的体现。

例如

Random r=new Random();
int k=r.nextInt(4);

这里还是new了一个对象 而Random的本质是一个类,我认为,java提供了丰富的类,类似于C/C++中库函数的作用,从而二为业务开发提供了良好的生态

JAVA中的数据与简单内存的理解

JAVA中的数据类型分为基本数据类型与引用数据类型

基本数据类型在我的理解中可简单记忆为整形类,浮点型类,字符与布尔,而其他的就是引用数据类型。

这里要提到两个重要的概念,栈与堆

栈是一种简单的数据结构,有着后进先出的特点,

JAVA中内存有着栈区与堆区,基本数据类型存储的数据都在栈区中存在,而引用数据类型,拿数组举例

例如

int arr[]={1,2,3,4,5};

这个式子中,存储在栈中的只有指向new出来空间的地址,而1,2,3,4,5都存储在堆中,在JAVA中,堆中的内存不需要手动的管理,这点是与C/C++不同的。

JAVA特性(与C/C++作比较)

1.Java中没有直接称为“函数”的概念,但实际上Java中的方法已经涵盖了函数的所有功能,并且更加符合面向对象编程的思想。

JAVA实现基本的功能的单位叫做方法,类比C/C++中的主函数,JAVA中程序的入口叫做主方法,程序员手动定义的用来实现功能的部分称之为方法。

2.case的新使用,在较新版本的JDK这种,提供了这种使用途径,避免break的过多与直观思维上的困难。

例如

case 0 -> "Zero";
case 1 -> "One";
case 2 -> "Two";

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/869511.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WebScoket-服务器客户端双向通信

WebSocket是一种在基于TCP连接上进行全双工通信的协议。 ![image-20250109103523290](https://image0219.oss-cn-hangzhou.aliyuncs.com/images/image-20250109103523290.png)WebScoket学习笔记1. 消息推送常用方式介绍 轮询 浏览器以指定的时间间隔向服务器发出HTTP请求,服务…

提升设计团队效率:如何选择合适的管理工具优化跨职能协作

一、设计团队与其他部门的协作挑战 在传统的项目管理模式中,设计团队往往与其他职能团队(如开发、营销、产品等)存在一定的沟通隔阂。设计团队通常专注于创意和视觉表现,而开发团队则专注于技术实现,营销团队关注市场推广和客户需求,产品团队则负责产品规划和战略。由于各…

2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其中包含 n 个代表奖励值的数字。 你开始时的总奖励 x 为 0,并且所有下标都是未标记状

2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其中包含 n 个代表奖励值的数字。 你开始时的总奖励 x 为 0,并且所有下标都是未标记状态。你可以进行以下操作若干次: 1.从索引范围 [0, n - 1] 中选择一个未标记的下标 i。 2.如果 re…

Python包管理uv使用

介绍 用Rust编写的一个极其快速的Python包和项目管理器。 比pip快10-100倍。 安装和管理 Python 版本。 运行和安装 Python 应用程序。 通过 curl 或 pip ,无需 Rust 或 Python 即可安装。 支持 macOS、Linux 和 Windows。安装 使用独立安装# macOS / Linux curl -LsSf https:…

Calculator VB6

Calculator是我用VB6开发的计算器,支持语音朗读。 在计算方面,支持加减乘除四则运算。也支持括号此外,与VBS语法一样,还可以使用三角函数、平方等运算符。

SendMail C#版

SendMail是我用C#开发的一款发送邮件的工具。 左侧是要发送的内容,右侧是发件人的账户配置,具体可以参考新浪邮箱或者Outlook账户配置方面的资料。输入各项,点击【发送】按钮,对方就收到了邮件。

Windows 行为测试 删除 FileStream 正在读写文件可以继续读写

本文在 Win11 系统下,测试使用 FileStream 对文件进行读写,读写过程中,删除正在读写的文件后的行为测试结论: 使用 FileShare 带 Delete 的共享方式打开的 FileStream 正在对文件进行读写过程中,可以对正在读写的文件进行删除。文件删除之后,不影响已经打开的 FileStream…

如何轻松实现服务器文件自动化传输,保障传输安全与效率?

服务器文件自动化传输是企业数据管理中至关重要的一环,确保数据的一致性、完整性和可用性。常见的服务器文件自动化传输方式,像FTP/HTTP等传统协议的⽂件同步⼯具来实现。但存在一定问题: 1.传输安全可靠性低:传输过程受⽹络环境影响较⼤,易出现延迟、断线、⽂件丢包等情况…

芯片半导体基础(二) :20世纪最伟大的发明,PN结与晶体二极管

liwen01 2025.01.12 前言 PN结 是晶体管的基础,它使得晶体管能够作为一个放大或是开关元器件。晶体管的发明不仅是一个技术上的突破,也标志着电子学的一个新时代。它极大地推动了科技和社会的发展,奠定了现代信息技术的基础,因此也被认为是20世纪最伟大的发明之一。 1947年…

DevExpress gridControl 绑定数据源之后添加非绑定列

using (DevExpress.Utils.WaitDialogForm dlg = new DevExpress.Utils.WaitDialogForm("请稍等", "查询中......", new System.Drawing.Size(100, 50))){string sqlString = "SELECT ITEM ,DESCRIPTION ,CATEGORY3 FROM WIPDBA.TIME_IMA x WHERE x.…

Gitlab搭建npm仓库

由于图片和格式解析问题,为了更好阅读体验可前往 阅读原文:::warning 使用gitlab的仓库注册表特性需要版本14.0+,如果你的版本比较低,请先根据自己的需求合理升级后再使用 ::: npm私有仓库的搭建方式有很多种,比如使用docker(阅读此篇),这里讲述如何使用gitlab作为npm仓库…