当前位置: 首页 > news >正文

Java变量与标识符

一、关键字(Keyboard)

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

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

  • 官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

说明:

  1. 关键字一共50个,其中constgoto保留字(reserved word)。

  2. truefalsenull不在其中,它们看起来像关键字,其实是字面量,表示特殊的布尔值和空值。

二、标识符(Identifier)

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

标识符的命名规则  :

        > 由26个英文字母大小写,0-9 ,_或 $ 组成  
        > 数字不可以开头。
        > 不可以使用关键字和保留字,但能包含关键字和保留字。
        > Java中严格区分大小写,长度无限制。
        > 标识符不能包含空格。

 标识符的命名规范 :

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

        > 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz(大驼峰命名法)

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

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

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

 三、变量

变量的概念:

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

  • 变量的构成包含三个要素:数据类型变量名存储的值(值最重要)

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

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

  • 使用变量注意:

    • Java中每个变量必须先声明,后使用。

    • 使用变量名来访问这块区域的数据。

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

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

    • 同一个作用域内,不能定义重名的变量。

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

  • 基本数据类型:包括 整数类型(byte、int、short、long)浮点数类型(float、double)字符类型(char)布尔类型(boolean)

  • 引用数据类型:包括数组(array)、类(class)接口(interface)枚举注解记录

基本数据类型: 

1.整型 
  • 定义long类型的变量,赋值时需要以"l"或"L"作为后缀。

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

  • Java的整型常量默认为 int 型

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

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

  • 定义float类型的变量,赋值时需要以"f"或"F"作为后缀。

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

 说明:

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

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

public class Exercise1 {public static void main(String[] args) {double PI = 3.14; //圆周率double radius1 = 1.2;double radius2 = 2.5;int radius3 = 6;System.out.println("第1个圆的面积:" + PI * radius1 * radius1);System.out.println("第2个圆的面积:" + PI * radius2 * radius2);System.out.println("第3个圆的面积:" + PI * radius3 * radius3);}
}
3. 字符型
  • char 型数据用来表示通常意义上“字符”(占2字节)

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

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

    • 形式1:使用单引号(' ')括起来的单个字符

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

    • 形式2:直接使用 Unicode值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。

      例如:\u0023 表示 '#'。

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

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

    转义字符说明Unicode表示方式
    \n换行符\u000a
    \t制表符\u0009
    \"双引号\u0022
    \'单引号\u0027
    \\反斜线\u005c
    \b退格符\u0008
    \r回车符\u000d
  • char类型是可以进行运算的。因为它都对应有Unicode码,可以看做是一个数值。

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

    • if条件控制语句;

    • while循环控制语句;

    • for循环控制语句;

    • do-while循环控制语句;

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

boolean isFlag = true;if(isFlag){//true分支
}else{  //false分支
}

基本数据类型变量间运算规则:

        在Java程序中,不同的基本数据类型(只有7种,不包含boolean类型)变量的值经常需要进行相互转换。转换的方式有两种:自动类型提升强制类型转换

 1.自动类型提升(小变大)

规则:将取值范围小(或容量小)的类型自动提升为取值范围大(或容量大)的类型

 char、byte、short --> int --> long --> float --> double

(注意:整数的默认数据类型是int,浮点数的默认数据类型是double)

(1)小范围数据类型能赋值给大数据类型

int i = 'A';
double d = 10;

(2)不同大小的数据类型变量进行运算时,结果的数据类型为运算过程中最大容量的数据类型

int i = 1;
byte b = 1;
double d = 1.0;double sum = i + b + d;//混合运算,升级为double

(3) 当byte,short,char数据类型的变量进行算术运算时,按照int类型处理。

byte b1 = 1;
byte b2 = 2;
byte b3 = b1 + b2;//编译报错,b1 + b2自动升级为intchar c1 = '0';
char c2 = 'A';
int i = c1 + c2;//至少需要使用int类型来接收
System.out.println(c1 + c2);//113 
 2.强制类型转换(大变小)

规则:将取值范围大(或容量大)的类型强制转换成取值范围小(或容量小)的类型。

//数据类型1 变量名 = (数据类型1)被强转数据值;  ()中的数据类型必须小于等于变量值的数据类型
//以下述代码为例,变量d要从double转化为int,数据类型由大变小,所以是强制转换,就要在d前面加上(),并且在括号中写入要转化成的数据类型int。
double d = 1.2;
int num = (int)d;

(1)当把存储范围大的值(常量值、变量的值、表达式计算的结果值)强制转换为存储范围小的变量时,可能会损失精度溢出

(2)当某个值想要提升数据类型时,也可以使用强制类型转换。这种情况的强制类型转换是没有风险的,通常省略。

(3)声明long类型变量时,可以出现省略后缀的情况。float则不同。  

long l1 = 123L;
long l2 = 123;//如何理解呢? 此时可以看做是int类型的123自动类型提升为long类型//long l3 = 123123123123; //报错,因为123123123123超出了int的范围。
long l4 = 123123123123L;//float f1 = 12.3; //报错,因为12.3默认看做是double,不能自动转换为float类型
float f2 = 12.3F;
float f3 = (float)12.3;

 基本数据类型与String(引用数据类型)的运算:

1、任意八种基本数据类型的数据与String类型只能进行连接“+”运算,且结果一定也是String类型

int num = 10;
boolean b1 = true;
String s1 = "abc";String s2 = s1 + num + b1;
System.out.println(s2);//abc10true//String s3 = num + b1 + s1;//编译不通过,因为int类型不能与boolean运算
String s4 = num + (b1 + s1);//编译通过

 2、String类型不能通过强制类型()转换,转为其他的类型

String str = "123";
int num = (int)str;//错误的int num = Integer.parseInt(str);//正确的,借助包装类的方法才能转

 

 

相关文章:

Java变量与标识符

一、关键字(Keyboard) 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词) 特点:全部关键字都是小写字母 官方地址: https://docs.oracle.com/javase/tutorial/java/nut…...

AWS无服务器 应用程序开发—第十七章 AWS用户池案例

在AWS Cognito用户池中,用户属性可以根据应用程序的需求进行配置和管理。以下是一般情况下用户属性的一些常见设置: 必须的属性: 用户名(Username):通常用作用户的唯一标识符。 密码(Password…...

java中的枚举

第1部分:引言 枚举在Java中的重要性 枚举在Java中扮演着至关重要的角色,它不仅提高了代码的可读性和可维护性,还增强了类型安全。枚举的使用可以避免使用魔法数字或散列常量,这些在代码中通常难以理解和维护。通过枚举&#xff…...

各种开发语言运行时占用内存情况比较

随着科技的发展,编程语言种类繁多,不同的编程语言在运行时的内存占用情况各不相同。了解这些差异对于开发者选择合适的编程语言尤为重要。本文将讨论几种主流编程语言在运行时的内存占用情况,包括C、C、Java、Python和Go等。 1. C语言 内存…...

【基础知识10】label与input标签

label标签说明 HTML元素表示用户界面中某个元素的说明 将一个和一个元素相关联主要有这些优点: 标签文本不仅与其相应的文本输入元素在视觉上相关联,程序中也是如此。这意味着,当用户聚焦到这个表单输入元素时,屏幕阅读器可以读…...

【SDV让汽车架构“和而不同”】

昔日以“排气管数量”和“发动机动力”为骄傲的荣耀已然成为过往。在这个崭新的时代,特斯拉、理想、蔚来、小鹏、零跑等新兴的汽车制造商纷纷推出了搭载可交互大屏、实现万物互联、软件功能持续更新的新车型,它们被誉为“车轮上的智能手机”。同时&#…...

面试经验分享 | 驻场安全服务工程师面试

所面试的公司:某安全厂商 所在城市:浙江宁波 面试职位:驻场安全服务工程师 面试官的问题: 1、信息收集如何处理子域名爆破的泛解析问题? 泛域名解析是:*.域名解析到同一IP。域名解析是:子域…...

SpringBoot 学习笔记

文章目录 SpringBoot1 SpringBoot 的纯注解配置(了解)1.1 环境搭建1.1.1 jdbc配置1.1.2 mybatis配置1.1.3 transactional配置1.1.4 service配置1.1.5 springmvc配置1.1.6 servlet配置1.1.7 存在的问题 1.2 新注解说明1.2.1 Configuration1.2.2 Component…...

Android 13 为应用创建快捷方式

参考 developer.android.google.cn 创建快捷方式 来自官网的说明: 静态快捷方式 :最适合在用户与应用互动的整个生命周期内使用一致结构链接到内容的应用。由于大多数启动器一次仅显示四个快捷方式,因此静态快捷方式有助于以一致的方式执行…...

PTA—C语言期末复习(选择题)

1. 按照标识符的要求,(A)不能组成标识符。 A.连接符 B.下划线 C.大小写字母 D.数字字符 在大多数编程语言中,标识符通常由字母(包括大写和小写)、数字和下划线组成,但不能以数字开头&#xff0c…...

基于STM32的智能家用空气净化系统

目录 引言环境准备智能家用空气净化系统基础代码实现:实现智能家用空气净化系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:空气净化管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家用空气净化系…...

计算机图形学入门18:阴影映射

1.前言 前面几篇关于光栅化的文章中介绍了如何计算物体表面的光照,但是着色并不会进行阴影的计算,阴影需要单独进行处理,目前最常用的阴影计算技术之一就是Shadow Mapping技术,也就是俗称的阴影映射技术。 2.阴影映射 Shadow Map…...

电机应用相关名词介绍

1.电机转速 定义:电机转速指电机工作时旋转的速度,是衡量电机性能的重要指标之一。 单位: 每分钟转数(RPM):即Revolutions Per Minute,表示电机每分钟旋转的圈数。 每秒转数(RPS…...

哈尔滨等保测评解读

哈尔滨的信息系统安全等级保护测评(简称“等保测评”)是中国网络安全法规的一部分,旨在确保关键信息基础设施和其他重要信息系统的安全。下面是对哈尔滨等保测评的解读: 测评目的 等保测评的主要目的是评估信息系统是否满足国家规…...

python接口自动化的脚本

使用Requests库进行GET请求 Requests是Python中最常用的HTTP库,用于发送HTTP请求。下面是一个简单的GET请求示例,用于从API获取数据。 import requests url = "https://api.example.com/data" response = requests.get(url) if response.status_code == 200:prin…...

pdf转换成cad,这几个cad转换小妙招快码住!

在数字设计领域,PDF(Portable Document Format)和CAD(Computer-Aided Design)文件格式各有其独特之处。PDF常用于文件共享和打印,而CAD则是工程师和设计师们进行精确绘图和建模的必备工具。然而&#xff0c…...

计算机组成原理——系统总线

题目:计算机使用总线结构便于增减外设,同时__C____。 A.减少了信息传送量 B.提高了信息传输速度 C.减少了信息传输线的条数 1. 总线的分类 1.1. 片内总线 芯片内部的总线 在CPU芯片内部,寄存器与寄存器之间、寄存器与逻辑单元ALU之间 1.1.1. 数据总线 双向传输总线 数…...

2024年6月大众点评广州餐饮店铺POI分析20万家

2024年6月大众点评广州餐饮店铺POI共有199175家 店铺POI点位示例: 店铺id k9uiFADtAvs9EdPC 店铺名称 点都德(聚福楼店) 十分制服务评分 8.6 十分制环境评分 8.3 十分制划算评分 8.5 人均价格 77 评价数量 41673 店铺地址 惠福东路470号(富临食府对面) 大…...

【最佳实践】前端如何搭建自己的cli命令行工具,让自己编码的时候如虎添翼

作为前端开发人员,搭建自己的前端CLI工具是一个有趣且有意义的事情。以下是一篇详细的教程,包括使用场景和案例。 使用场景 假设你是一个前端团队的一员,需要频繁地在不同的项目中执行一些标准化的任务,比如: 根据模…...

未来一周比特币价格及数字货币市场预测

荷月的比特币市场就像过山车一样,仅仅六月下旬就跌去-12%,本周更是暴跌-6%,至 58,378美元。在这种市场表现,应有的踩踏如期而至。德国政府今日宣布再出售750 比特币的行为继续打击多头,但是小编认为这恰恰预示着市场可…...

Qt Quick 教程(二)

文章目录 今天分析一段代码1. 注册单例类型2. 注册普通QML类型3. 注册C++类型到Qt元对象系统4.总结,具体解释5.如何在QML中使用这些注册的类型参考今天分析一段代码 // Register typesqmlRegisterSingletonType(QUrl("qrc:/StyleSheet.qml"), "Librum.style&qu…...

10个实用的Python编程实例,助你快速掌握Python技巧!

作为一门简洁易学且强大的编程语言,Python广泛应用于各个领域。本文将向大家介绍10个实用的Python编程实例,通过详细的实例代码帮助读者快速掌握Python的基础知识和常用技巧。 1. 计算阶乘 def factorial(n):if n 0:return 1else:return n * factorial…...

为什么要本地化您的多媒体内容?

当我们访问网站、应用程序和社交媒体时,体验不再局限于陈旧的文本和静态图像。现代处理能力和连接速度提高了快速加载视频、音频和动画的可能性。 这一切都提供了更具沉浸感和互动性的用户体验。多媒体是数字营销中最有效的内容之一,因为它对用户更具吸…...

MMCV【mmclassification】 从0到1 之 Docker 容器环境搭建步骤总结

🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 文章目录 📙 Linux 下 Docker 安装环境检查Docker 安装 [ root 或者 sudo 权限用户可安装 ]给 普通用户 加入 Docker …...

深入探索Jetpack数据绑定(DataBinding)

Jetpack的数据绑定(DataBinding)库为我们提供了一个强大而灵活的工具,用于将UI组件与数据源绑定在一起。本文将深入探讨数据绑定的高级用法,包括双向绑定、自定义Binding Adapter、使用LiveData和ViewModel,以及如何处…...

vivado CELL_BLOAT_FACTOR、CFGBVS

CELL_BLOAT_FACTOR CELL_BLOAT_FACTOR属性用于指定添加“空白”或 增加单元格间距以增加分层单元格之间的放置距离 单元Vivado放置器会将模块中的单元隔开,以改善路由结果 设计。 当模块中的单元放置在一起时,可以使用单元膨胀,并且 从而在放…...

Linux—进程与计划管理

目录 一、程序 二、进程 1、什么是进程 2、进程的特点 3、进程、线程、携程 3.1、进程 3.2、线程 3.3、携程 三、查看进程信息 1、ps -aux 2、ps -elf 3、top ​3.2、输出内容详解 3.2.1、输出第一部分解释 3.2.2、输出第二部分解释 4、pgrep 5、pstree 四、进…...

整数智能与上海数据交易所携手,共筑数据要素市场新篇章

近期,整数智能荣获上海数据交易所“数据治理服务商”证书,正式加入上海数据交易所数商生态,成为上海数据交易所官方认证的数据治理服务商。 在数字经济的浪潮中,上海数据交易所一直扮演着引领者和推动者的角色。紧扣建设国家级…...

计算机网络-自顶向下方法复习纲要

计算机网络-自顶向下方法复习纲要 第一章:计算机网络和因特网 协议:p6网络边缘:p6网络核心:p15存储转发传输机制:p16电路转发中的复用:p19-p20分组交换和电路交换的区别/对比:p18/p20分组交换…...

1.3.1 离散周期信号DFS

目录 离散周期序列的DFS表示 离散周期信号DFS的性质 线性特性 位移特性 对称特性 奇偶对称 共轭反转对称 实序列的对称特性 周期卷积 DFS——Discrete Fourier Series 傅里叶级数 离散周期序列的DFS表示 做题得到的小公式 离散周期信号DFS的性质 线性特性 位…...

新建网站解析域名/全球外贸采购网

目录 1.安装item2 2.安装brew 3.安装lrzsz 4.安装脚本到mac目录 4.1先下载脚本 4.2保存 iterm2-send-zmodem.sh 和 iterm2-recv-zmodem.sh 到mac的 /usr/local/bin/ 路径下 4.3添加脚本可执行权限: 5.在item2中配置 6.使用 7.可能遇到的问题 新版mac系统里没有/usr/…...

买了虚拟主机怎么做网站/专业拓客公司联系方式

1 配置文件的先后顺序 properties 属性配置 !!! settings 全局配置参数 typeAliases 类型别名 !!! typeHandlers 类型处理器 objectFactory 对象工厂 plugins 插件 envioronments 环境 集合属性 对象 tr…...

网络网站首页设计/西安网站外包

此错误表示您的代码或您在应用程序中使用的任何外部库都在使用SLF4J库(一个开放源代码日志记录库),但无法找到所需的JAR文件,例如slf4j-api-1.7.2.jar因此它是在线程“ main” java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory 。 如…...

做网站用什么比较好/网络优化工程师是做什么的

消息传递机制: 在OC中,方法的调用不再理解为对象调用其方法,而是要理解成对象接收消息,消息的发送采用‘动态绑定’机制,具体会调用哪个方法直到运行时才能确定,确定后才会去执行绑定的代码。方法的调用实际就是告诉对…...

asp.net做动态网站/成都seo优化

进来看了看keras, 比tf友好的多啊,总结下: Keras有两种类型的模型,顺序模型(Sequential)和泛型模型(Model) 首先比较简单的顺序型 Sequential模型接口 代码示例 model Sequential() model.a…...

做盗版小说网站能赚钱不/百度客服电话是多少

“要想保证皮带电子秤的精度,必须要对电子秤安装、调试的每一个步骤严格把关。”近期,安装维修中心副段长刘云多次叮嘱参与施工的电工段自动化班组职工。皮带电子秤依附于皮带运输机,它通过称重传感器感应皮带上物料的压力换算成皮带上物料的…...