关键字、标识符、变量、基本数据类型

一、关键字(Keyword)

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词)

特点:全部关键字都是小写字母

Java关键字查询关键地址:

http:// https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

注意:

1、关键字一共有50个,其中const和goto是保留字(reserved word)

2、true, false, null不在其中,他们看起来像是关键字,其实是特殊的布尔值和空值

二、标识符(Identifier)

Java中变量、方法、类等要素命名时使用的字符序列,称为标识符。

区分技巧:凡是可以自己起名字的地方都叫标识符。

标识符的命名规则(必须遵守的硬性规定):

①:由26个英文字母大小写,0-9,_或$组成

②:数字不可以开头

③:不可以使用关键字和保留字,但能包含关键字和保留字

④:Java中严格区分大小写,长度无限制

⑤:标识符中不能包含空格

标识符的命名规范(建议遵守的软性要求):

①:包名:多单词组成时所有字母都小写:xxxyyyzzz

②:类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

③:变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

④:常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

注意:在起名字时,为了提高阅读性,要尽量有意义,做到“见名知意”。

三、变量

3.1 为什么需要变量

一花一世界,如果把一个程序看做一个世界或一个社会的话,那么变量就是程序世界的花花草草、万事万物。即,变量是程序中不可或缺的组成单位,最基本的存储单元。

3.2 初识变量

变量的概念:

①:内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化

②:变量的构成包含三个要素:数据类型、变量名、存储的值

③:Java中变量声明的格式:数据类型 变量名 = 变量值

变量的作用:用于在内存中保存数据

使用变量注意事项:

①:Java中每个变量必须先声明,后使用

②:使用变量名来访问这块区域的数据

③:变量的作用域:其定义所在的一对{ }内

④:变量只有在其作用域内才有效。出了作用域,变量不可以再被调用

⑤:同一个作用域内,不可以定义重名的变量


3.3 Java中变量的数据类型

Java中变量的数据类型分为两大类:

基本数据类型:包括整型类型、浮点数类型、字符类型、布尔类型

引用数据类型:包括数组、类、接口、枚举、注解、记录

3.4 变量的使用

3.4.1 步骤1:变量的声明

3.4.2 步骤2:变量的赋值

给变量赋值,就是把“值”存到该变量代表的内存空间中。同时,给变量赋的值类型必须与变量声明的类型一致或兼容

变量可以反复赋值

四、基本数据类型

4.1 整数类型:byte、short、int、long

Java各整数类型有固定的表数范围和字段长度,不受具体操作系统的影响,以保证Java程序的可移植性。

注意:

①:定义long类型的变量,赋值时需要以“l”或者“L”作为后缀

②:Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

③:Java的整型常量默认为int型

补充:计算机存储单位

字节(Byte):是计算机用于计量存储容量的基本单位,一个字节等于8bit

位(bit):是数据存储的最小单位。二进制数系统中,每个0或1就是一个位,叫做bit(比特),其中8bit=1Byte

转换关系:

4.2 浮点类型:float、double

与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响

浮点型常量有两种表示形式:

十进制数形式。如:5.12 512.0f .512

科学计数法形式。如:5.12e2 512E2 100E-2

float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求

double:双精度,精度是float的两倍。通常采用此类型

定义float类型的变量,赋值时需要以“f”或者“F”作为后缀

Java的浮点型常量默认为double型

4.2.1 关于浮点型精度的说明

并不是所有的小数都能精确的用二进制浮点数表示。二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂。

浮点类型float、double的数据不适合在不容许舍入误差的金融计算领域。如果需要精确数字计算或保留指定位数的精度,需要使用BigDecimal类。

4.3 字符类型:char

char型数据用来表示通常意义上的“字符”(占2个字节)

Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他书面语的一个字符

字符型变量的三种表现形式:

①:使用单引号(' ')括起来的单个字符

例如:char c1 = 'a' ; char c2 = '中'; char c3 = '9'

②:直接使用Unicode值来表示字符型常量: '\uXXXX' 。其中,XXXX代表一个十六进制整数。

例如:\u0023表示‘#’

③:Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量

例如:char c3 = '\n';           表示换行符

char类型是可以进行运算的。因为它都对应有Unicode码,可以看做是一个数值

4.4 布尔类型:boolean

boolean类型用来判断逻辑条件,一般用于流程控制语句中:

①:if条件控制语句

②:while循环控制语句

③:for循环控制语句

④:do-while循环控制语句 

boolean类型数据只有两个值:true、false,无其它

不可以使用0或者非0的整数代替false和true,这点和c语言不同

拓展:Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的boolean值,在编译之后都使用java虚拟机中的int数据类型来替代:true用1表示,false用0表示。

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

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

相关文章

电影小镇智慧旅游项目技术方案:PPT全文111页,附下载

关键词:智慧旅游项目平台,智慧文旅建设,智慧城市建设,智慧文旅解决方案,智慧旅游技术应用,智慧旅游典型方案,智慧旅游景区方案,智慧旅游发展规划 一、智慧旅游的起源 智慧地球是IB…

机器学习:增强式学习Reinforcement learning

收集有标签数据比较困难的时候同时也不知道什么答案是比较好的时候可以考虑使用强化学习通过互动,机器可以自己知道什么结果是好的,什么结果是坏的 Outline 什么是RL Action就是一个functionEnvironment就是告诉这个Action是好的还是坏的 例子 Space i…

算法专题二:滑动窗口

算法专题二:滑动窗口 一.长度最小的子数组:1.思路一:暴力解法2.思路二:滑动窗口双指针3.GIF题目解析:思路一:思路二: 二.无重复字符的最长子串:1.思路一:滑动窗口2.GIF题…

Android-----AndroidManifests.xml 之meta-data

一、概念 meta-data:元数据、文件元数据。主要用来定义一些组件相关的配置值。 metadata是一组供父组件使用的名值对(name-value pair),一个组件元素可以包含任意数量的meta-data子元素。这些子元素的值存放在一个 Bundle 对象中…

【具身智能评估9】Open X-Embodiment: Robotic Learning Datasets and RT-X Models

论文标题:Open X-Embodiment: Robotic Learning Datasets and RT-X Models 论文作者:– 论文原文:https://arxiv.org/abs/2310.08864 论文出处:– 论文被引:–(12/18/2023) 论文代码&#xff1a…

轻量封装WebGPU渲染系统示例<53>- 多盏灯灯光照在地面的效果

WebGPU实时渲染实现模拟多盏灯的灯光照在地面的效果灯光效果 。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MultiLightsTest.ts 当前示例运行效果: 此示例基于此渲染系统实现,当前示例TypeScript源…

2018年第七届数学建模国际赛小美赛B题世界杯足球赛的赛制安排解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 B题 世界杯足球赛的赛制安排 原题再现: 有32支球队参加国际足联世界杯决赛阶段的比赛。但从2026年开始,球队的数量将增加到48支。由于时间有限,一支球队不能打太多比赛。因此,国际足联提议改变…

计网02-计算机网络参考模型

一、OSI七层参考模型 1、分层的思想 分层模型用于网络协议的设计方法,本质是将网络节点间复杂的通信问题分成若干简单的问题逐一解决,通过网络的层次去找问题,将复杂问题简单化。 2、OSI参考模型 由于早期计算机厂商使用的是私有的网络模…

【PHP入门】2.1-运算符

-运算符- 运算符:operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。 2.1.1赋值运算符 赋值运算:符号是“”,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果&#…

scroll-behavior属性使用方法

定义和用法&#xff1a; scroll-behavior 属性规定当用户单击可滚动框中的链接时&#xff0c;是否平滑地&#xff08;具动画效果&#xff09;滚动位置&#xff0c;而不是直线跳转。 <style>element{/* 核心代码 */scroll-behavior: smooth;} </style> 属性值&am…

云原生之深入解析减少Docker镜像大小的优化技巧

一、什么是 Docker&#xff1f; Docker 是一种容器引擎&#xff0c;可以在容器内运行一段代码&#xff0c;Docker 镜像是在任何地方运行应用程序而无需担心应用程序依赖性的方式。要构建镜像&#xff0c;docker 使用一个名为 Dockerfile 的文件&#xff0c;Dockerfile 是一个包…

linux修改用户uid和gid并且修改文件所有权(所属用户及所属用户组)(chown命令、chgrp命令)(批量修改查找并修改文件、目录uid和gid)

文章目录 修改Linux用户UID和GID以及文件所有权1. 修改用户的UID和GID1.1 用户UID和GID的概念1.2 修改用户UID1.3 修改用户GID 2. 修改文件所有权2.1 文件所有权的概念2.2 修改文件所有者&#xff08;chown命令&#xff09;2.3 修改文件所属用户组&#xff08;chgrp命令&#x…

Gitlab仓库推送到Gitee仓库的一种思路

文章目录 Gitlab仓库推送到Gitee仓库的一种思路1、创建Gitee的ssh公钥&#xff08;默认已有Gitlab的ssh公钥&#xff09;2、添加Gitlab远程仓库地址3、添加Gitee远程仓库地址4、拉取Gitlab远程仓库指定分支到本地仓库指定分支&#xff08;以test分支为例&#xff09;5、推送本地…

PyTorch机器学习与深度学习

近年来&#xff0c;随着AlphaGo、无人驾驶汽车、医学影像智慧辅助诊疗、ImageNet竞赛等热点事件的发生&#xff0c;人工智能迎来了新一轮的发展浪潮。尤其是深度学习技术&#xff0c;在许多行业都取得了颠覆性的成果。另外&#xff0c;近年来&#xff0c;Pytorch深度学习框架受…

早期的OCR是怎么识别图片上的文字的?

现在的OCR技术融合了人工智能技术&#xff0c;通过深度学习&#xff0c;无论是识别的准确率还是效果都非常不错&#xff0c;那您知道在早期的OCR是通过什么技术来实现的吗&#xff1f;如果您不知道&#xff0c;那么&#xff0c;就让我来告诉您&#xff1a;它主要是基于字符的几…

【工具使用-Qt】Qt如何查看帮助文档

一&#xff0c;简介 Qt不需要单独下载帮助文档&#xff0c;在安装的时候&#xff0c;就已经帮你下载好了&#xff0c;在目录&#xff1a;安装目录/Qt5.14.2/Docs/目录下了。 二&#xff0c;查看方法 打开IDE&#xff0c;点击“帮助”&#xff1a; 输入想要查找的内容&…

阿里云主导《Serverless 计算安全指南》国际标准正式立项!

日前&#xff0c;在韩国召开的国际电信联盟电信标准分局 ITU-T SG17 全会上&#xff0c;由阿里云主导的《Serverless 计算安全指南》国际标准正式立项成功。 图 1 项目信息 在现今数字化时代&#xff0c;Serverless 计算正逐渐成为云计算的一个新的发展方向&#xff0c;其灵活…

【目标检测】视频输出体积太大?分析视频的编码与码率问题

在做视频目标检测时&#xff0c;发现一个问题&#xff0c;检测输出完的视频时大时小&#xff0c;有时输出体积过大&#xff0c;造成播放器播放时严重卡顿现象。本文就这一情况进行分析&#xff0c;并就该问题提出相关解决方案。 视频基础知识 隔行扫描和逐行扫描 早期电视台在…

恒创:多链路负载均衡是什么意思

多链路负载均衡是一种网络架构技术&#xff0c;它通过将流量分散到多个网络链路上&#xff0c;以提高网络的性能和可靠性。这种技术可以应用于各种场景&#xff0c;如数据中心、云计算、企业网络等。 在多链路负载均衡中&#xff0c;流量被分配到多个网络链路上&#xff0c;以…

【深度学习目标检测】十、基于yolov5的火灾烟雾识别(python,目标检测)

YOLOv5是目标检测领域一种非常优秀的模型&#xff0c;其具有以下几个优势&#xff1a; 1. 高精度&#xff1a;YOLOv5相比于其前身YOLOv4&#xff0c;在目标检测精度上有了显著的提升。YOLOv5使用了一系列的改进&#xff0c;如更深的网络结构、更多的特征层和更高分辨率的输入图…