Java之变量和运算符

news/2024/12/21 21:59:18/

1.关键字

常用的关键词类型如下表所示:

类别关键字说明
数据类型int表示整数类型
float表示单精度浮点数
double表示双精度浮点数
char表示字符类型
boolean表示布尔类型(真或假)
控制流if条件语句
else用于if条件不成立时的分支
switch多条件分支语句
caseswitch语句中的每个条件
defaultswitch语句中默认的条件
for用于循环的关键字
while条件为真时执行的循环
dowhile结合使用,至少执行一次循环
访问修饰符public公共访问修饰符
private私有访问修饰符
protected受保护访问修饰符
default没有修饰符时,包内可见
类和对象class定义一个类
interface定义接口
extends表示类的继承
implements表示类实现接口
new创建对象
this引用当前对象
super引用父类的构造器或方法
异常处理try异常处理的开始块
catch捕获异常
finally无论是否捕获到异常,都会执行的代码块
throw显式抛出异常
throws声明可能抛出的异常
其他static定义静态方法或属性
final定义不可更改的变量或不可重写的方法和类
abstract定义抽象类或方法
synchronized同步方法或代码块
volatile声明变量在多线程环境中的可见性
native声明本地方法
transient标记不需要序列化的变量
void表示没有返回值的方法
enum定义枚举类型
assert执行断言以进行调试

基本数据类型:

  1. 整型:byte \ short \ int \ long
  2. 浮点型:float \ double
  3. 字符型:char
  4. 布尔型:boolean

引用数据类型:

  1. 数组
  2. 接口
  3. 枚举
  4. 注解
  5. 记录

2.标识符

标识符即:Java中变量、方法、类等要素命名时使用的字符序列。(可以自己命名都是标识符)

2.1 标识符的命名

2.1.1 命名规则

  1. 组成:可由字母(大小写均可)、数字(0-9)、下划线(_)和美元符号($)构成。
  2. 首字符:必须以字母、下划线或美元符号开头,不能以数字开头。
  3. 禁止使用关键字:不可与Java关键字(如 class, public, void, if 等)相同。但可以包含。
  4. 大小写敏感:Java区分大小写,myVariableMyVariable 被视为不同标识符,但长度无限制。

2.1.2 命名规范

  1. 1.可读性:标识符应该具有描述性,能够清楚地表示其用途。例如,totalAmount 比 ta 更具可读性。
  2. 类名、接口名:通常使用驼峰命名法,首字母大写(例如 MyClass)。
  3. 方法名和变量名:通常使用小写字母开头的驼峰命名法(例如 calculateTotal,count)。
  4. 常量名:通常使用全大写字母,单词之间用下划线分隔(例如 MAX_VALUE)。

2.2 例子:

2.2.1 合法标识符

  • String firstName;
  • double totalAmount;
  • char $symbol;
  • boolean is_valid;

2.2.2 非法标识符

  • int 1stValue;     // 不能以数字开头
  • String class;     // 不能使用关键字
  • double total-amount; // 不能使用连字符

3.变量

概念:

  1. 是程序中不可或缺的组成单位,最基本的存储单元
  2. 构成要素:数据类型、变量名、变量值
  3. 声明格式:数据类型 变量名 = 变量值

作用:在内存中保存数据。

注意事项:

  • 先声明后使用
  • 不可脱离其作用域 
  • 同一个作用域内不可声明同名的变量名
  • 变量赋值前,必须满足变量的数据类型且在数据类型有效的范围内变化。

4.基本数据类型详解

4.1整数类型

数据类型大小范围用途示例
byte1 字节-128 到 127适合小范围整数byte smallNumber = 100;
short2 字节-2^15 到 2^15-1适合中等范围整数short mediumNumber = 30000;
int4 字节-2^31 到 2^15-1最常用的整型int number = 200000;
long8 字节-2^63 到 2^63-1存储超大范围整数long largeNumber = 10000000000L;

注意事项:

  • long类型的变量,赋值要以“l”,“L”作为后缀。
  • java中整型变量默认为 int 

4.2 浮点类型

float

4 字节 ±3.403E+38存储较小浮点数float decimalNumber = 5.75f;
double8 字节 ±1.798E+308存储较大浮点数double largeDecimal = 19.99;
  1. float:单精度,精确到尾数后7位
  2. double:双精度,精度为float的两倍

注意事项:

  • 定义float变量,赋值以“f”,“F”为后缀
  • java中浮点型变量默认为 double
  • 二进制浮点数不能精确的表示0.1、0.01等负次幂
  • 开发中需要极高精度,使用BigDecimal类替换浮点型。

4.3 字符类型和布尔类型

char2 字节'\u0000'(0)到 '\uffff'(65,535)存储单个字符char letter = 'A';
boolean未定义(可看作 1 位)只能取 true 或 false用于逻辑运算boolean isJavaFun = true;

char类型:

  1. 使用单引号(' ')括起来的单个字符。例:char a1= '六'。
  2. 直接用 Unicode 值来表示字符型常量,例:\u0023表示 '#'。
  3. java允许使用转义字符 '\',将其后的字符转变为特殊字符型常量。例:char a2 = '\n'; 

布尔类型:

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

  1. if条件控制语句
  2. while循环控制语句
  3. for循环控制语句
  4. do-while循环控制语句

boolean类型数据只有两个取值:true和false。

注意事项:

  • 不可以使用0或非0 的整数替代 false和true。

4.4 运算规则

可做运算的基本数据类型不包含 boolean类型。

规则包括:

4.4.1.自动类型提升

       1.当容量小的变量和容量大的变量做运算,结果自动转换为容量大的数据类型。(容量大小指 数据的范围大小)   

       2.运算特征为:byte、short、char -> int-> long-> float-> double(byte、short和char间做运算,结果用int类型)

4.4.2.强制类型转换

  1. 将取值范围大的类型强制转换为取值范围小的类型。
  2. 要使用强转符:(),在()内指明要转换的数据类型。
  3. 强制类型转换中,可能导致精度损失。

4.4.3 基本数据类型与String间的运算

简介:String为引用数据类型,采用""赋值,可包含0个,1个或多个字符。

  1. String与基本数据类型只能做连接运算,用"+"表连接。
  2. 结果为String类型。
  3. String类型无法转换为基本数据类型。

5.运算符

选择其中一部分有意思的做笔记:

条件运算符:格式:(条件表达式)?表达式1 : 表达式2;

  1. 结果为boolean类型
  2. 条件表达式结果为true,执行表达式1 ,否则,执行表达式2
  3. 表达式1 和 表达式2 需要是相同的类型或可兼容的类型

http://www.ppmy.cn/news/1536932.html

相关文章

【SQL】掌握SQL查询技巧:高效数据整合与查询优化

目录 1. SQL 的基本构成2. SQL 联接(JOIN)2.1 内联接(INNER JOIN)2.2 外联接(OUTER JOIN)2.2.1 左外联接(LEFT JOIN)2.2.2 右外联接(RIGHT JOIN)2.2.3 全外联…

力扣之1285.找到连续区间的开始和结束

题目 sql建表语句: Create table If Not Exists Logs (log_id int); Truncate table Logs; insert into Logs (log_id) values (1); insert into Logs (log_id) values (2); insert into Logs (log_id) values (3); insert into Logs (log_id) values (7); inse…

nginx:1.26.2-alpine自定义镜像制作

问题 最近需要自定义一个nginx发布静态文件和反向代理后台接口。 步骤 这里使用的nginx:1.26.2-alpine镜像(2024.10),现在这个时间点,这个版本的alpine和nginx版本都是最稳定的版本。 nginx.conf 这里需要自定义下/etc/nginx…

汽车主机厂主数据管理中一物多码或多码一物问题的具体表现有哪些?

数据入口多导致重复编码 在汽车主机厂的主数据管理中,由于存在多个数据入口,不同部门或环节可能会独立进行数据录入。这就容易出现一物多码或多码一物的情况。例如,采购部门、生产部门、物流部门等可能各自采用不同的编码体系来标识同一种汽…

项目完整开发的流程

流程 1.设计产品 2.写需求文档 2.1需求分析,后端设计数据库,建表,客户沟通,说完签字,留证据,防止后面扯皮,和防止后续变需求重新写业务 3.画原型图,也就是草图,初始的…

排序算法分类及其稳定性

排序算法可分为五类八种 类别 一、插入排序 1、直接插入排序 稳定 先对数组前两个元素进行比较和交换接着后面的元素依次作和前面的元素作比较和交换(插入) 2、希尔排序(shell排序) 不稳定 通过引入增量序列Ri 每次进行等距…

SpringBoot实现:星之语明星周边销售平台开发指南

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

makefile的基本练习

假设有如下目录结构:(目录结构图) 完成以下操作: 1、通过纯命令编写Makefile文件,并发现使用纯命令的不足; 2、在Makefile中,添加变量,简化参数的重复书写; 3、尝试在多目…