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

一、关键字(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.hqwc.cn/news/284822.html

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

相关文章

微服务——服务异步通讯(MQ高级)

MQ的一些常见问题 消息可靠性 生产者消息确认 返回ack,怎么感觉这么像某个tcp的3次握手。 使用资料提供的案例工程. 在图形化界面创建一个simple.queue的队列,虚拟机要和配置文件里面的一样。 SpringAMQP实现生产者确认 AMQP里面支持多种生产者确认的类…

Jmeter 性能-负载阶梯场景

1、安装阶梯测试的第三方插件->搜jpgc 选项-JMeter Plugins Manager -搜jpgc 空格,然后安装 2、脚本-线程组选jpgc Stepping Thread Group 最终并发数为100,并发数从0开始,5秒内增加10个并发数,增加10个后持续30s,…

[C++]——STL简介

带你了解c的STL 前言:一、什么是STL?二、STL有什么版本?三、STL的组件有哪些?四、如何学习STL?五、总结 前言: 我写这个博客,是为了在学习过程中能够更加有条理,更加全面,更加清晰的学习STL。…

Pipelined-ADC设计一:序言

现在是2023年12月18日,准备开新帖,设计一个 流水线型 模数转换器( Pipelined-ADC )。记录帖,后续会放在咸鱼。同步记录,谨防盗用。 初定指标:12位50Mhz,采用2.5bit每级结构&#xff…

教育机构小程序管理系统的全方位优化

随着互联网的快速发展,线上教育也日益受到人们的关注和欢迎。为了满足广大学生和家长的需求,教育机构纷纷开发出自己的小程序管理系统。本文将详细介绍如何使用乔拓云平台,一键开发出自己的教育机构小程序管理系统。 1.进入乔拓云后台 首先&…

C# 使用FluentHttpClient请求WebApi

写在前面 FluentHttpClient 是一个REST API 异步调用 HTTP 客户端,调用过程非常便捷,采用流式编程,可以将所有请求所需的参数一次性发送,并直接获取序列化后的结果。 老规矩从NuGet上安装该类库: 这边一定要认准是 P…

检测车牌的SIFT特征并匹配

# 代码5-14 检测车牌的SIFT特征并匹配 import cv2img1 cv2.imread(../data/plate.jpg) img2 cv2.imread(../data/car.jpg)sift cv2.SIFT_create() # 利用sift.detectAndCompute()函数找到特征点,计算描述符; kp1, des1 sift.detectAndCompute(img1, …

Git提交前的必备神器——自动清除调试语句脚本

说在前面 不知道大家有没有遇到这样一种情况,平时在写代码调试时有时候会使用到debugger,可能大部分时间在提交代码前会记得把debugger先删除,但可能也会存在将debugger提交上去的情况,那我们该怎么防止出现这种情况呢&#xff1f…

C语言—每日选择题—Day53

指针相关博客 打响指针的第一枪&#xff1a;指针家族-CSDN博客 深入理解&#xff1a;指针变量的解引用 与 加法运算-CSDN博客 第一题 1. 有以下程序&#xff0c;输出的结果为&#xff08;&#xff09; #include <stdio.h> int main() {char a H;a (a > A &&…

【03】GeoScene创建海图或者电子航道图数据

1 配置Nautical属性 1.1 管理长名称 长名称&#xff08;LNAM&#xff09;是一个必要的对象标识符&#xff0c;是生产机构&#xff08;AGEN&#xff09;、要素识别号码&#xff08;FIDN&#xff09;和要素识别子项&#xff08;FIDS&#xff09;组件的串联。这三个子组件用于数…

MidJourney笔记(8)-ask和blend命令

经过前面的课程介绍,我相信大家对MidJourney有一定的认识,接下来就给大家介绍一下MidJourney的常用命令。 /ask 获取问题答案。 我一开始以为是随便问题都可以问,最后发现只能回答MidJourney相关的问题。 我们先试试一些日常生活问题: 今天天气如何? 以为它不会识别中文,…

蓝桥杯time模块常用操作

#导入time模块import time #获取时间戳 start_time time.time () print ( "start_time ", start_time) time .sleep ( 3) end_time time.time () print ( "end_time ", end_time)#计算运行时间 print("运行时间 { :.0f } ".format(end_time …