JAVA学习(2)-全网最详细~

🌈write in front🌈
🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
📝个人主页:Aileen_0v0🧸—CSDN博客
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:Aileen_0v0🧸的JAVA学习系列专栏🌸——CSDN博客
🗼我的格言:"没有罗马,那就自己创造罗马💫~"

目录
变量和类型编辑
JAVA 中 package 的作用编辑
JAVA 中 println print printf 三者的区别 编辑
单位换算编辑
整型取值范围编辑
练习1编辑:
Identifiers 标识符编辑
练习2编辑:
练习3编辑:
练习4编辑:
练习5编辑:
练习6编辑:
Summary编辑

变量和类型
变量指的是程序运行时可变的量.
相当于开辟一块内存空间来保存一些数据
类型则是对变量的种类进行了划分,不同的类型的变量具有不同的特性
"变量"主要和我们的"内存"这样的硬件设备密切相关

输入设备:鼠标,键盘,话筒
输出设备:屏幕,耳机,音响
内存储器就是我们的CPU ~
内存: RAM --->用于运行程序 如下,如果跑满16G电脑就会卡死

运算器:进行逻辑运算
控制器:控制程序运行进程

x = 5 这个变量就是储存在我们的内存中

上面是安卓系统运行内存8GB
JAVA 中 package 的作用
在今天初写代码的时候,我遇到一个问题--->
Exception in thread "main" java.lang.Error:Unresolved compilation problem:

当我在第一行加上 package 文件名 这个错误就消失了
这是为什么呢?
package在Java中的作用是为了组织和管理Java类。它是一种命名空间,用于将具有相似功能或属于同一模块的类组织在一起。
使用package可以使Java程序更加容易维护和组织。
当多个Java程序员协同开发一个大型Java项目时,使用package可以防止不同程序员之间的类名冲突。同时,使用package也可以使Java程序的可重用性更高。通过将相关类组织在同一package中,其他开发人员可以更轻松地使用和重用这些类。
要在Java中创建一个package,需要在每个Java类文件的开头添加package语句,指定类所属的package名称。例如:
package Oniline;
public class HelloWorld{public static void main(String[] args) {/** 1.整型int 占 4字节*/int a = 10;System.out.println(a);}
}
在这个例子中,HelloWorld类属于名为Oniline的package。其他Java类也可以属于同一package。如果其他Java类想要使用HelloWorld类,只需要使用完整的类名:Oniline.HelloWorld。
JAVA 中 println print printf 三者的区别 
package Oniline;
public class HelloWorld{public static void main(String[] args) {/** 1.整型int 占 4字节*/int a = 10;System.out.println(a);// 打印 且换行System.out.print(a);// 打印 但是不换行System.out.printf("%d\n",a);//以格式化形式进行内容输出}
}
单位换算

整型取值范围
上面提到 一个int 是 4 字节 那么它就有 4 * 8 = 32位

对于正数有2^31 - 1种情况 减去全为0 的这一种情况
所以正数的范围是 0 - 2^31-1
负数范围是 -2^31 - -1
所以整型取值范围是 -2^31 - 2^31 - 1

package Oniline;
public class HelloWorld{public static void main(String[] args) {/** 1.整型int 占 4字节*/int a = 10;System.out.println(Integer.MAX_VALUE);System.out.println(Integer.MIN_VALUE);//Integer 用于包装类 相当于int// System.out.println(a);// 打印 且换行
// System.out.print(a);// 打印 但是不换行
// System.out.printf("%d\n",a);//以格式化形式进行内容输出}
}
通过命令行执行结果可知最大值是2147483647 , 最小值是 -2147483648.
package Oniline;
public class HelloWorld{public static void main(String[] args) {/** 1.整型int 占 4字节*/int max = Integer.MAX_VALUE;System.out.println(max);
// int a = 10;
// System.out.println(Integer.MAX_VALUE);
// System.out.println(Integer.MIN_VALUE);//Integer 用于包装类 相当于int// System.out.println(a);// 打印 且换行
// System.out.print(a);// 打印 但是不换行
// System.out.printf("%d\n",a);//以格式化形式进行内容输出}
}
控制台运行结果:

如果我们`在其后+1
控制台输出结果:由原来的 最大值变成了最小值 就像是上面的那个圆

练习1
:
int a;
System.out.println(a);
根据代码,猜测它的输出结果是什么: 随机数,0,还是输出错误


根据结果报错可知,JAVA中一个变量没有初始化我们就不能使用他.
但是如果我们给它初始化以后,控制台就可以正常编译了

Identifiers 标识符
package Oniline;
public class HelloWorld{public static void main(String[] args) {/** 1.整型int 占 4字节* 2.标识符 : 数字 字母 下划线 $*/int a = 0;System.out.println(2a);}
}
「Identifiers」 are for naming variables, constants, methods, classes, and packages. 标识符用于命名变量,常量,方法,类和包
「Descriptive」identifiers make programs easy to read. 描述性的标识符使程序易于明白
Since Java is 「case sensitive」, area, Area, and AREA are all different identifiers. 严格区分大小写

练习2
:
Which of these data types requires the most amount of memory?
A. long
B. int
C. short
D. double
E. float
double requires the most amount of memory among the given data types because it store floating-point numbers with greater precision than float data type. Double data type occupies 8 bytes (64 bits) of memory while int, short, long, and float take up 4 bytes (32 bits) of memory each.
在给定的数据类型中,double需要最多的内存空间。一个double类型的变量通常需要64位(1字节=8位)的内存空间来存储。这是因为double类型被设计用来存储双精度浮点数,这种类型的数具有更高的精度和范围,需要更多的内存空间来存储。
相比之下,像int或long这样的整数类型通常只需要32位或64位的内存空间,而char这样的字符类型通常只需要8位(1字节)的内存空间。因此,double类型需要比其他数据类型更多的内存空间。--->选D
练习3
:
Every letter in a Java keyword(reserved words) is in lowercase?
A. true
B. false
上面思维导图有介绍什么是保留字以及Java keyword(reserved words)保留字约定俗成的都用小写表示.--->选A
练习4
:
Which of the following is a valid identifier?
A. $343
B. class
C. 9X
D. 8+9
E. chocolate
A.
$343- 在许多编程语言中,以美元符号($)开始,后面跟数字不是有效的标识符。但在某些语言(如JavaScript)中,它可能被解析为一个合法的标识符。但在Java中虽然可以写成这样,但是不建议这样写B.
class- 在Java中,class是一个关键字-reserved word,不能作为标识符-identifier使用。C.
9X- 以数字开头,后面跟字母不是大多数编程语言所允许的。D.
8+9- 这是一个表达式,不是一个标识符。E.
chocolate- 这完全符合标识符的规则,是一个有效的标识符。--->选A
和E
练习5
:
Which of the following are correct names for variables according to Java naming conventions?
A. radius
B. Radius
C. RADIUS
D. findArea
E. FindArea
According to Java naming conventions, the following are the correct names for variables:
A. radius
D. findArea
Java区分大小写,因此变量名称需要以小写字母开头。只有当大写字母是较大单词的一部分时,才允许使用大写字母,例如“Radius”。名称不应包含特殊字符或数字,下划线“_”除外。--->选A和D
在Java中,全部字母大写通常用来定义常量。这是一种规范,可以让其他开发人员在阅读代码时更易于识别和理解这些值是不变的。常量的值在程序运行期间是无法更改的,因此它们必须在声明时就确定其值。常量的声明方式为:
public static final 数据类型 常量名 = 值;其中,public表示常量可以被任何类访问;
static表示常量是静态的,它属于类而不是对象;
final表示该常量的值不可修改。
大写字母可用于增强常量的可读性和识别性。例如:
public static final int MAX_NUMBER = 100;在程序的其他部分中,可以使用MAX_NUMBER来引用该常量的值,而无需担心它会被更改。
B.Radius开头字母大写 和 E.FindArea驼峰形式的命名都是 class类的命名格式
练习6
:
Which of the following are correct ways to declare variables?
A. int length; int width;
B. int length, width;
C. int length; width;
D. int length, int width;
正确的声明变量方式是选项A和B。
A. int length; int width;
B. int length, width;
在Java中,每个变量都需要独立地进行声明和初始化。因此,选项A和B都是正确的。选项C和D则存在错误,因为width变量没有被声明或初始化。
Summary
1.如何定义一个int类型的变量
2.int 类型在Java当中 就是4字节
3.int 最大值和最小值
4.如果一个局部变量,没有进行初始化,那就不能够使用它
5.Java 只有局部变量和成员变量(在类内部,方法外部的变量) 没有全局变量--->体现JAVA安全性

相关文章:
JAVA学习(2)-全网最详细~
🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...
MySQL学习笔记27
MySQL主从复制的核心思路: 1、slave必须安装相同版本的mysql数据库软件。 2、master端必须开启二进制日志,slave端必须开启relay log 日志。 3、master主服务器和slave从服务器的server-id号不能一致。 4、slave端配置向master端来同步数据。 master…...
数据结构与算法之字典: Leetcode 76. 最小覆盖子串 (Typescript版)
最小覆盖子串 https://leetcode.cn/problems/minimum-window-substring/description/ 描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意: 对于 t 中重…...
2023-10-03 VsCode诡异消失事件
VsCode诡异消失事件 前言一、排查问题二、原因分析三、其它可能不好的倾向总结 前言 今天打开电脑, 习惯性的打开VsCode, 收到错误消息, 该快捷方式所指向的项目Code.exe已经更改或移动, 因此该快捷方式无法正常工作. 是否删除该快捷方式. 一、排查问题 打开快捷方式指向的位…...
elementPlus表格组件el-table实现只能同时选择一行,全选按第一行处理
目录 需求背景: 具体实现: 模板代码: 函数处理代码: 代码讲解: 需求背景: 点击表格最左侧的复选框列,选中当前表格行,而且只允许选择一行,选中一行后,其…...
栈的应用场景(三)
最小栈 1.题目2.画图分析3.代码实现 1.题目 2.画图分析 3.代码实现 package Stack;import java.util.Stack; public class MinStack {private Stack <Integer> stack;private Stack <Integer> MinStack;public MinStack() {stack new Stack<>();MinStack …...
leetCode 45.跳跃游戏 II 贪心算法
45. 跳跃游戏 II - 力扣(LeetCode) 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0 &…...
【MATLAB-基于直方图优化的图像去雾技术】
【MATLAB-基于直方图优化的图像去雾技术】 1 直方图均衡2 程序实现3 局部直方图处理 1 直方图均衡 直方图是图像的一种统计表达形式。对于一幅灰度图像来说,其灰度统计直方图可以反映该图像中不同灰度级出现的统计情况。一般而言,图像的视觉效果和其直方…...
读书笔记|《数据压缩入门》—— 柯尔特·麦克安利斯 亚历克斯·海奇
前言:在接触文本隐写研究领域时了解到这本书。本书可算作《数据压缩》的入门书籍之一,这本书对熵编码、变长编码、统计编码、自适应统计编码、字典编码、上下文编码等常用编码方式的定义及来源进行介绍,对不同场景下不同格式的压缩数据有针对…...
Pandas进阶修炼120题-第五期(一些补充,101-120题)
目录 往期内容:第一期:Pandas基础(1-20题)第二期:Pandas数据处理(21-50题)第三期:Pandas金融数据处理(51-80题)第四期:当Pandas遇上NumPy…...
NPDP产品经理知识(产品创新管理)
复习文化,团队与领导力 产品创新管理: 如何树立愿景: 如何实现产品战略 计划 实施产品开发: 商业化,营销计划,推广活动 管理产品生命周期: 新式走向市场的流程:...
Flutter+SpringBoot实现ChatGPT流实输出
FlutterSpringBoot实现ChatGPT流式输出、上下文了连续对话 最终实现Flutter的流式输出上下文连续对话。 这里就是提供一个简单版的工具类和使用案例,此处页面仅参考。 服务端 这里直接封装提供工具类,修改自己的apiKey即可使用,支持连续…...
淘宝天猫粉丝福利购店铺优惠券去哪里找到领取网站?
淘宝天猫优惠券去哪里找到领取网站? 领取淘宝天猫粉丝福利购优惠券可通过百度搜索:草柴,进入草柴官方网站 或 手机应用商店搜索:草柴,下载安装草柴APP,就可以领取淘宝天猫优惠券; 草柴APP如何领…...
【考研复习】union有关的输出问题
文章目录 遇到的问题正确解答拓展参考文章 遇到的问题 首次遇到下面的代码时,感觉应该输出65,323。深入理解union的存储之后发现正确答案是:67,323. union {char c;int i; } u; int main(){u.c A;u.i 0x143;printf("%d,%d\n", u.c, u.i); …...
Android学习之路(16) Android 数据库Litepal
一.LitePal的介绍 Litepal是Android郭霖大神的一个开源Android数据库的开源框架,它采用了对象关系映射(ORM)的模式,这是让我们非常好的理解的数据库,一个实体类对应我们数据库中的一个表。该库中还封装了许多的方法&a…...
Redis持久化(RDB/AOF)
"在哪里走散,你都会 找 到 我。" 认识持久化 我们在接触Mysql事务的时候,一定了解过Mysql事务的四个特性: "原子性(A)一致性(C)隔离性(I)持久性(D)" 而其中持久性其实与持久化是一回事,所谓持久与不持久&#x…...
小谈设计模式(15)—观察者模式
小谈设计模式(15)—观察者模式 专栏介绍专栏地址专栏介绍 观察者模式核心思想主要角色Subject(被观察者)ConcreteSubject(具体被观察者)Observer(观察者)ConcreteObserver࿰…...
简单工厂模式 创建型模式(非GoF经典设计模式)
简单工厂模式是属于创建型模式,也因为工厂中的方法一般设置为静态,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工…...
PE文件之导入表
1. 导入表 2. 显示导入表信息的例子 ; 作用: 将RVA地址转成FOA即文件偏移 ; 参数: _pFileHdr 指向读到内存中文件的基址指针 ; _dwRVA 目标RVA地址 ; 返回: 目标RVA转成文件偏移的值 RVA2FOA PROC USES esi edi edx, _pFileHdr:PTR BYTE, _dwRVA:DWORDmov esi, _pFil…...
二、码制及其转换
原码 根据我们所学可知,数字电路的逻辑电路是通过输出0和1来表示二进制数的,那么这个二进制数的正负又该怎么表示呢? 答案是在这个二进制数的最高位作为符号位来表示正负性,用0正数,用1表示负数,在这种表达…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
