【JavaSE】Java(五十):核心要点

news2024/11/23 23:32:13

文章目录

  • 1. ==JDK 和 JRE 有什么区别==
  • 2. ==\==和 equals 的区别==
  • 3. final 在java中有什么作用
  • 4. Java中的Math() 类有哪些常用方法
  • 5. String 属于基础数据类型吗?


在这里插入图片描述

1. JDK 和 JRE 有什么区别

JDK(Java Development Kit)和 JRE(Java Runtime Environment)是两个不同的软件包。它们共同提供了 Java 开发和运行时环境,但在功能和用途上存在一些区别。

JRE 包含 Java 运行时环境,它只用于执行 Java 应用程序,而没有提供任何开发工具。JRE 包括 JVM(Java 虚拟机)、Java 标准类库、Java 插件等组件,用户可以利用 JRE 去运行已经编写好的 Java 应用程序。

JDK 则是 Java 开发工具包,它除了包括 JRE 中的组件外,还提供了一系列的开发工具,例如编译器 javac、调试器 jdb、工具库 jdeps 等等。因此,JDK 可以被用来开发、测试和部署 Java 应用程序。

简单地说,JRE 是 Java 应用程序的运行时环境,而 JDK 是 Java 应用程序的开发环境。如果你只想运行 Java 应用程序,则只需要安装 JRE;如果你需要开发和调试 Java 应用程序,需要安装 JDK。

2. ==和 equals 的区别

在 Java 中,"=="和 “equals()” 都是比较对象的方法,但它们的功能和用法有所不同。

"==“是一个运算符,用于比较两个变量或表达式的值是否相等,如果相等则返回 true,否则返回 false。当使用”==“比较两个对象时,实际上比较的是这两个对象的内存地址是否相同。也就是说,”=="比较的是两个对象是否是同一个对象。

而 “equals()” 是 Object 类定义的方法,用于比较两个对象的内容是否相等。如果两个对象的内容一样,则返回 true,否则返回 false。默认情况下,Object 类中的 equals() 方法使用的是"=="比较两个对象的地址是否相同,因此如果你在自定义类中想要对 equals() 进行内容比较的话,就需要重写该方法,以比较对象的内容。

“==” 比较的是两个对象是否指向同一个内存地址,"equals()"比较的是两个对象的内容是否相等。

在大多数情况下,我们需要使用 equals() 方法来比较两个对象的内容,而不是使用“==”比较它们的内存地址。


3. final 在java中有什么作用

在 Java 中,关键字 final 用于表示一个不可变的对象、变量或方法。它可以被用来修饰类、方法和字段。

final 关键字修饰类:表示该类是一个最终类(或者称之为不可扩展类),即不能被其他类所继承。例如 String 类就是一个被 final 修饰的类。

final 关键字修饰方法:表示该方法不能被子类继承和重写。如果一个类被声明为 final,其中的所有方法都自动成为 final 方法(因为无法从这个类派生出子类来覆盖这些方法)。

final 关键字修饰变量:表示该变量只能赋值一次,然后就不能再改变。如果使用 final 关键字修饰了一个引用类型的变量,那么该变量的指向(即内存地址)不能改变,但是该变量中存储的对象本身是可以更改的。

除了以上作用以外,final 在多线程编程中也有重要的应用。当一个变量被声明为 final,意味着该变量对于所有的线程都是同步的,因此我们可以避免对其进行加锁等操作。

final 关键字用于表示一些不可变的概念,可以增强代码的安全性和可靠性。

4. Java中的Math() 类有哪些常用方法


在 Java 中,Math 类是一个系统提供的用于进行数学计算的类。它包含了许多数学运算的静态方法,例如:

abs():返回一个数的绝对值。

ceil():返回大于或等于指定 double 值的最小整数。

floor():返回小于或等于指定 double 值的最大整数。

round():返回最接近指定 double 值的 long 或 int,四舍五入。

max():返回两个数中的较大值。

min():返回两个数中的较小值。

pow(x,y):返回 x 的 y 次幂。

random():返回一个随机数,该随机数大于等于 0.0 且小于 1.0。

除了以上方法,Math 还包括了处理三角函数、指数、对数等高级运算的方法。

需要注意的是,由于 Math 中的所有方法都是静态方法,因此我们可以直接使用类名来调用这些方法,而不需要创建一个 Math 对象。

Math 类提供了一系列用于数学计算的静态方法,可以方便地完成各种数学计算操作。


5. String 属于基础数据类型吗?

String 不属于 Java 基础数据类型,而是 Java 中的一个类。Java 中的基础数据类型包括:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)以及布尔型(boolean)这四种。

String 类是用来处理字符串的,它只是 Java 类库中提供的一个类,用来存储和操作字符串。在 Java 中,我们可以通过直接赋值或者调用构造函数创建字符串对象,例如:

String str1 = "Hello World"; // 直接赋值方式创建 String 对象
String str2 = new String("Hello World"); // 通过 String 类的构造函数创建对象

需要注意的是,String 类是被 final 修饰的,即该类不能被继承。同时,由于 String 类是一个非基础数据类型的类,因此在进行字符串比较时,应该使用 equals() 方法来比较内容是否相等,而不是使用 == 运算符。

String 不是 Java 中的基础数据类型,而是一个用来处理字符串的类。它可以方便地实现对字符串的各种操作。




在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FusionCharts Suite XT 3.20.X Crack

3.20版# 2023年3月24日 新功能 FusionCharts 3.20版本引入了一种新方法_changeXAxisCordinates,它允许用户自动更改x轴,使其在图例或数据交互时居中对齐。 FusionCharts 3.20版本更新了Angular集成,支持Angular版本14和15。 FusionChart…

HTML (Hyper Text Markup Language)

目录 网页(html文件) 什么是HTML? web标准 为啥需要web标准 web标准的构成 VScode的使用 HTML标签 基本语法 标签关系 结构标签 课间拓展: 了解骨架代码 HTML中常见的标签 标题标签 注释标签 段落标签 换行标签 文本格式化标签 div 和span 标签 图像标签 …

【vulnhub靶场】MATRIX-BREAKOUT: 2 MORPHEUS

文章目录 描述:一、开启靶机信息收集二层发现三层探测信息整理:初步攻击basic爆破:已知漏洞利用文件上传 后渗透测试后渗透测试 描述: 这是《黑客帝国》系列的第二部,副标题是《沉睡魔咒:1》。它的主题是回到第一部《…

chatgpt赋能python:Python如何在图片上添加文字

Python如何在图片上添加文字 对于网站的SEO优化而言,图片上的文字也是非常重要的一环。而Python是一种常用的编程语言,可以通过一些Python库来在图片上添加文字。 PIL库介绍 PIL(Python Imaging Library)是Python中常用的图像处…

面对日益增加的网络安全风险,需要全面的API安全

全球商业界在过去几年中面临的挑战是前所未有的。流行病、通货膨胀、能源危机、战争、经济衰退以及供应链的碎片化和延误都给组织带来了问题,没有一个行业、市场或地区未受影响。 然而,尽管存在这些问题,我们的数字生态系统和足迹变得越来…

chatgpt赋能python:Python如何更改主题

Python 如何更改主题 Python 是一种非常强大的编程语言,能够适用于多种领域,包括数据分析、机器学习、Web 开发等。Python 社区为开发者提供了各种主题,这篇文章将介绍 Python 如何更改主题。 什么是主题? 主题是指编程环境的外…

Web服务器开发、文件上传

1 Stream的读写操作 2 http模块web服务 3 request请求对象 4 response响应对象 5 axios node中使用 6 文件上传的细节分析 前面一篇提到的内容是node对底层的文本操作,还没有涉及到从文本文件获取信息然后传递给客户端和如何响应客户端请求。这里开始了解如何实…

chatgpt赋能python:Python实现人脸识别的可能性和局限性

Python实现人脸识别的可能性和局限性 随着计算机视觉技术的不断发展,人脸识别技术也得到了广泛应用,其中Python作为一种高效、简洁和易于学习的编程语言,被广泛用于人脸识别算法的开发和实现。 什么是人脸识别? 人脸识别是一种…

chatgpt赋能python:Python如何导入CSV的完全指南

Python如何导入CSV的完全指南 CSV是一种常见的数据格式,在数据分析和处理中使用广泛。使用Python,我们可以轻松地读取、处理和分析CSV文件。在本指南中,我们将介绍如何使用Python导入CSV文件。 什么是CSV文件? CSV文件是按照逗…

chatgpt赋能python:Python如何将内容写进文件:从初学者到高级编程工程师的终极指南

Python如何将内容写进文件:从初学者到高级编程工程师的终极指南 Python是一种流行的编程语言,具有简洁而易于阅读的语法,开发人员可以非常方便地使用它来读取和写入文件。 本文将从基础到高级介绍使用Python将内容写入文件。 基础知识 在P…

论文笔记--Evaluating Large Language Models Trained on Code

论文笔记--Evaluating Large Language Models Trained on Code 1. 文章简介2. 文章概括3 文章重点技术3.1 评估3.2 模型训练--Codex3.3 微调模型--Codex-S3.4 微调模型--Codex-D 4. 文章亮点5. 原文传送门6. References 1. 文章简介 标题:Evaluating Large Languag…

chatgpt赋能python:Python构造函数详解

Python构造函数详解 在Python中,构造函数是一种特殊的函数,用于创建类的实例并初始化其属性。Python构造函数的名称为__init__,它在创建类的实例时自动调用。本篇文章将全面介绍Python构造函数的重要性及其使用方法。 为什么需要构造函数&a…

Python之并发编程协程

一、介绍 基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换保存状态 CPU正在运行一个任务,会在两种情况下切走去执行其他的任务&a…

从零手写操作系统之RVOS抢占式多任务实现-06

从零手写操作系统之RVOS抢占式多任务实现-06 多任务系统的分类抢占式多任务的设计代码任务切换流程分析系统启动任务mepc初始化首个被调度执行的任务任务切换 兼容协作式多任务软件中断编码实现 测试 注意点 本系列参考: 学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春 整理而…

QT QVerticalSpacer 弹簧控件

本文详细的介绍了QVerticalSpacer控件的各种操作,例如:新建界面、控件布局、隐藏控件、设置宽高、添加布局、其它参数、.h源文件、cpp源文件、其它文章等等操作。 实际开发中,一个界面上可能包含十几个控件,手动调整它们的位置既费…

chatgpt赋能python:Python如何优化SEO

Python如何优化SEO SEO是指搜索引擎优化,是提高网站在搜索引擎中排名的技术实践。Python是一种高效、易用、灵活的编程语言,可以被应用于SEO的优化过程中。 关键词优化 关键词是SEO过程中的重要元素,Python可以帮助我们快速优化关键词。以…

chatgpt赋能python:Python拆分:如何有效地拆分Python代码

Python拆分:如何有效地拆分Python代码 Python是一种简洁而优雅的编程语言,它拥有庞大的库,使得它可以轻松处理各种任务。然而,在开发大型项目时,代码可能会变得冗长而难以维护。 通过拆分代码,可以使得代码…

WhatWeb使用教程,图文教程(超详细)

「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 WhatWeb 一、扫描网站指纹二、扫描强度三、扫描内网…

Golang每日一练(leetDay0088) 数组的乘积、搜索二维矩阵II

目录 238. 除自身以外数组的乘积 Product of Array Except Self 🌟🌟 240. 搜索二维矩阵 II Search A 2d Matrix ii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每…

SpringBoot中的增删改查案例

目录 一、案例说明 二、数据库 三、案例源码 3.1、pom文件 3.2、Application.yml 3.3、项目结构 a)整体结构 b)Java代码部分 c)资源文件部分 3.4、业务功能的实现 1)配置类 2)实体类 3)Mapper文…