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表示负数,在这种表达…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
GitHub 常见高频问题与解决方案(实用手册)
1.Push 提示权限错误(Permission denied) 问题: Bash Permission denied (publickey) fatal: Could not read from remote repository. 原因: 没有配置 SSH key 或使用了 HTTPS 而没有权限…...