二、Java的变量

news2024/9/28 23:25:41

二、变量

2.1、关键字与保留字

关键字

定义:赋予特殊含义,用做专门用途的字符串

特点:关键字的所有字母都为小写

保留字(reserved word)

现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字。如:goto 、 const

2.2、标识符

标识符的使用

1、标识符:凡是自己可以起名字的地方都叫标识符。 比如:类名、变量名、方法名、接口名、包名...

2、标识符的命名规则:

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

  2. 数字不可以开头。

  3. 不可以使用关键字和保留字,但能包含关键字和保留字。

  4. Java中严格区分大小写,长度无限制。

  5. 标识符不能包含空格。

3、Java中的名称命名规范

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

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

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

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

2.3、变量

变量的包含变量类型变量名存储的值:定义变量的格式: 数据类型 变量名 = 变量值

String myName = "Arbicoral";
System.out.println(myName);

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

注意:

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

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

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

2.3.1、数据类型

  • 7种基本数据类型:byte、 short、 int 、long、 float、 double、 char、 boolean

  • 3种引用数据类型:class、 interface、 array

  • 整型的常量,默认类型是 :int

  • 浮点型的常量,默认类型为:double

2.3.1.1、成员变量和局部变量

  • 在方法体外,类体内声明的变量称为成员变量

  • 在方法体内部声明的变量成为局部变量

2.3.1.2、整数类型

bit : 计算机中的最小存储单位;Byte:计算机中基本存储单元。1 Byte = 8 bit

整型的常量,默认类型是 :int

2.3.1.3、浮点类型

单精度float(4字节)、 双精度double(8字节);声明 float 型变量,必须以”f“或”F“结尾

float表示数值的范围比long还大,因为一部分用来存整型,一部分用来存储小数点

浮点型的常量,默认类型为:double

E:10

2.3.1.4、字符型

1字符=2字节,用 一对'' 表示,内部只能写一个字符。a=97;A=65

表示方式:

1、声明一个字符;

2、转义字符;

3、直接使用Unicede值来表示字符型常量。

char c1 = 'S';
//转义字符:换行符
char c2 = '\n';
//Unicode,十六进制
char c3 = '\u0056'; // 表示字母V

2.3.1.5、编码发展史

  1. ASCⅡ:适用范围太小。

  2. Unicode编码:无法区别Unicode和ASCⅡ,计算机无法区分三个字节表示一个符号还是分别表示三个符号。

  3. UTF-8:是一种变长的编码方式,使用1-6个字节表示一个符号,可以根据不同的符号而变化字节长度。

2.3.1.6、布尔型

  1. 只能取2个值之一:true、false;

  2. 常常在条件判断、循环结构中使用。

2.3.1.7、String

字符串属于引用数据类型

String可以是空,但是char字符型不能为空,可以加一个空格。

String可以和其他8种数据类型做运算,且运算符号是 + ,预算结果都是String

String s1 = "";
char c1 = ' ';
char c2 = ''; // 编译不通过
//*****************************
int number = 1002;
String numberStr = "学号";
String stu = numberStr + number; //+:连接运算

2.4、数据类型运算

  1. 自动类型提升:byte、short、char--> int--> long--> float--> double

    • 当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

    • 特别的:当 byte、char、short三种类型的变量做运算时,结果为 **int型**

  2. 强制类型转换:自动类型提升运算的逆运算。

    • 需要使用强转符();

    • 注意点:强制类型转换,可能导致精度损失(高-->低)。

说明:

  1. 当 long 型后面没有加 l或L也可以执行,没报错, 说明是一个int型转为long型,数据类型提升了

  2. float 后面一定要加上F or f,不加会报错,因为float-->double会有精度损失

  3. 整型常量,默认类型为int型

  4. 浮点型常量,默认类型为double型

2.5、进制

所有数字在计算机底层都以二进制形式存在

对于整数,有4种表示方式:

  • 二进制(binary):0、1,满2进1,以0b或0B开头;

  • 十进制(decimal):0~9,满10进1;

  • 八进制(octal):0~7,满8进1,以数字0开头表示;

  • 十六进制(hex):0~9及A~F,满16进1,以0x或0X开头表示。此处A~F不区分大小写。如:0x1AF + 1 = 0x21B0

计算机底层都以补码的方式来存储数据!

正数三码合一!

符号位:0-->正数;1-->负数

2.5.1、二进制-->十进制

2.5.2、十进制-->二进制

除2取余的逆。

2.5.3、十六进制<-->八进制

  • 八进制/十六进制-->二进制

  • 二进制-->八进制/十六进制

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

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

相关文章

使用PYQT制作人才交流管理系统

利用使用PYQT制作一个人才交流管理系统&#xff0c;先使用QT designer.exe设计好人才交流管理系统的各个UI界面&#xff0c;然后利用pyuic把生成的ui界面编译为py文件&#xff0c;在主函数文件内创建一个类继承ui.py界面的类&#xff0c;即可完成数据库逻辑与 GUI 代码分离&…

小米不再忍耐,裁员三分之一强势反击印度,印度制造或因此梦破

就在小米公司表态继续投资印度之后不久&#xff0c;印度媒体报道指小米印度公司的员工数量从1500人减少到1000人左右&#xff0c;这显示出小米开始强势反击印度&#xff0c;业界人士指出此举的影响远不止于此&#xff0c;结果很可能是导致印度制造的梦想破灭。 1.小米为印度手机…

软件工程——第9章面向对象方法学引论知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1.当前最好的软件开发技术是&#xff1f; 2.面向对象的原则是什么&#xff1f; 3.人们把客观世界中的实体抽象为什么&#xff1f; 4.软件系统本质上…

主诉病程时长提取

编写Python函数 import re def structured_pro(original_text,keyword,out_unitNone):pattern_split_str[。&#xff0c;]pattern_splitre.compile(pattern_split_str,re.I|re.M)original_listpattern_split.split(original_text)pattern_keywordre.compile(keyword,re.I|re.M…

目前最好的MicrosoftProject替代方案

Microsoft Project是一个功能强大的项目管理工具。然而它可能是昂贵的&#xff0c;并且可能不适合所有的项目管理需求。幸运的是&#xff0c;有几个Microsoft Project的替代方案提供了类似的特性和功能。在本文中我们将探索目前可用的一些最好的Microsoft Project替代方案。 1、…

12.4 ARM异常处理

目录 ARM异常处理&#xff08;一&#xff09; 异常 概念 异常处理机制 ARM异常源 概念 ARM异常源 ARM异常模式 ARM异常处理&#xff08;二&#xff09; ARM异常响应 异常向量表 异常返回 IRQ异常举例​编辑 ARM异常处理&#xff08;三 &#xff09; 异常优先级 …

自我介绍这样写?

已经帮小伙伴改了 500 多份简历了&#xff0c;也发现了一些大家写简历时的共性问题。其中让我印象比较深刻的一个点就是 自我介绍 &#xff0c;基本上所有同学的自我介绍都是这么写的&#xff1a; 读这篇文章的朋友们&#xff0c;你是不是也是这么写自我介绍的呢&#xff1f; 这…

MySQL索引优化整合案例实现

目录 1 JOIN优化1.1 JOIN算法原理1.2 in和exists函数 2 order by优化2.1 索引排序2.2 额外排序2.3 排序优化 3 索引单表优化案例3.1. 建表3.2. 单表索引分析3.1.1 需求3.1.2 优化 4 索引多表优化案例 1 JOIN优化 1.1 JOIN算法原理 1) JOIN回顾 JOIN 是 MySQL 用来进行联表操作…

在 Jetpack Compose 中创建 BottomAppBar

Jetpack Compose 是 Android 的现代 UI 工具包&#xff0c;它使得构建美观且功能强大的应用变得更加简单。在本文中&#xff0c;我们将探讨如何使用 Jetpack Compose 创建一个 BottomAppBar。 开始之前 确保你的开发环境已经设置好了 Jetpack Compose。你需要使用 Android Stu…

矩阵Matrices

目录 矩阵的变换 向量和矩阵 矩阵的变换 房子图形的矩阵变换&#xff08;wiggle动态变换&#xff09; uicontrol的‘style’类型&#xff1a; X house dot2dot(X) theta1 wiggle(X) function dot2dot(X) % DOT2DOT Connect the points from a 2-by-n matrix. X(:,end1) X…

5 类数据,洞察游戏的秘密

数据犹如一扇扇窗户&#xff0c;透过它&#xff0c;我们可以洞察到游戏世界内部的诸多秘密。这些秘密&#xff0c;就像是隐藏在房间深处的宝藏&#xff0c;只有真正理解并善用它们&#xff0c;我们才能创造出更吸引人的游戏&#xff0c;形成更成功的商业模式。 一个关键的问题是…

【Linux】—— 浅谈进程优先级

本期&#xff0c;我们将来聊聊的是关于进程优先级的相关知识&#xff01;&#xff01;&#xff01; 目录 序言 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;查看系统进程 1、PRI and NI 2、PRI vs NI &#xff08;三&#xff09;设置优先级 序言 首先…

关于antdesign-vue的layout组件样式失效问题(#components-layout-demo-custom-trigger)

1.错误描述 使用antdesign vue 中的layout作为主要布局&#xff0c;https://www.antdv.com/components/layout-cn 正常引入后&#xff0c;跟期望的样子不一样 期望中的样子 实际的样子 logo没有了&#xff0c;而且此时也无法更改样式。 此时的样式是这样的 无论怎么修改都…

Grafana 使用Rest API 作为数据源的实践

本文使用最新版本的Grafana 10 进行操作。 如果要使用Rest API 作为grafana 的数据源&#xff0c;可以选择安装一个Infinity的数据源插件。 如果创建数据源时&#xff0c;搜不到infinity&#xff0c;点击find more 查找安装该数据源插件 1. 安装 Infinity 数据源插件&#xf…

IP 协议的相关特性

目录 IP协议有三大特点&#xff1a;无连接、无状态、不可靠。 四位版本号 四位头部长度 八位服务类型: 十六位总长度 16 位标识, 3 位标志, 13 位片偏移 八位生存时间 八位协议 十六位首部校验和 关于IP v4地址不够的问题 ip地址动态分配: ip地址转换(NAT) 数据传输…

一个空的Object在内存中占用几个字节

文章目录 一、对象在内存中的布局1. 对象头1.1. 哈希码&#xff08;Hash Code&#xff09;&#xff1a;1.2. 对象所属的年代&#xff08;Generation&#xff09;&#xff1a;1.3. 对象锁&#xff08;Object Lock&#xff09;&#xff1a;1.4. 锁状态标志&#xff08;Lock State…

POE级联蓝牙定位系统方案_蓝牙信标,蓝牙网关,级联蓝牙网关

近年来,随着新能源行业的快速发展,在化工厂,核电厂以及电力电厂等企业,对人员定位,人员导航,资产定位,生命体征监测的需求越来越大。传统的蓝牙室内定位方案中蓝牙信标为锂亚电池供电,需定期更换电池且有安全隐患,为更好的服务有蓝牙定位导航,被动人员定位,生命体征…

vue创建项目报错npm install --loglevel error --legacy-peer-deps

vue创建项目报错npm install --loglevel error --legacy-peer-deps 如图所示&#xff1a; 话不多说&#xff0c;直接上解决方法&#xff1a; 1、找到这两个文件&#xff08;每个人的位置不一样&#xff0c;像我是安装在D盘&#xff09; 2、分别点进去&#xff0c;右键—属性…

A Survey on Evaluation of Large Language Models

这是LLM相关的系列文章&#xff0c;针对《A Survey on Evaluation of Large Language Models》的翻译。 大型语言模型评价综述 摘要1 引言2 背景2.1 大语言模型2.2 AI模型评估 3 评估什么3.1 自然语言处理任务3.1.1 自然语言理解3.1.2 推理3.1.3 自然语言生成3.1.4 多语言任务…

vue——接口修改请求头——有些接口不需要请求头传递token——基础积累

最近在写后台管理系统的时候&#xff0c;遇到一个切换租户的功能。在请求接口的时候不需要传递token 直接上代码吧&#xff1a; 1.html代码 login2(this.user.id, this.ruleForm.tenantType) .then(this.afterLogin) .finally(() > {this.confirmLoading false;if (this…