如若文章中出现冲突,或者出现错误,请联系 QQ:2669157689 指出我的问题。谢谢~
本章说明一下变量的声明,数据类型及其转换;Java中的关键字,保留字;运算符和表达式等
JAVA编程基础 —— 变量和运算符
1. Java的程序结构
Java块分为数据类型,变量,运算符和控制流语句。
- 数据类型
数据类型确定要存储在内存中的数据的类型。 - 变量
变量是存储数据的基本单元。 - 运算符
运算符是一个符号,用于操作一个或多个参数以得出结果。程序是按顺序执行的。 - 控制流语句
控制流语句允许改变语句执行的顺序。
2. 标识符、关键字和保留字
- 标识符
- Java中的包、类、方法、参数和变量的名称
- 标识符的命名规则
① 必须以字母、下划线(_)或美元符号($)开头;
② 余下的字符可以是下划线、美元符号或任何的字母或数字,长
度不限。标识符中不能有空格;
③ 不能使用Java中的关键字或者保留字做为标识符。
元素 | 规范 | 示例 |
---|
类名 | Pascal 规则 | Person StudentDemo |
变量名 | Camel 规则 | age height avgValue |
方法名 | Camel 规则 | getAge setUserName |
包名 | 全部小写 | com.neusoft |
常量名 | 全部大写 | MAX_VALUE |
- 关键字/保留字
Java中的关键字/保留字
| | | | |
---|
abstract | continue | goto | null | switch |
assert | default | if | package | synchronized |
boolean | do | implements | private | this |
break | double | import | protected | throw |
byte | else | instanceof | public | throws |
case | extends | int | return | transient |
catch | final | interface | short | try |
char | finally | long | static | void |
class | float | native | strictfp | volatile |
const | for | new | super | while |
3. 数据类型
Java中的数据类型
- 在Java中,数据类型分为俩大类:
① 基本数据类型
② 引用数据类型
具体请看另一篇大佬的文章,链接。
4. 常量
Java中的常量
- 常量指程序里持续不变的值,在整个程序运行过程中它是不可改变的。
- 常见的常量有:
① 整型常量,如:123,890,123L
② 浮点数常量,如:123.456,1.2F
③ 布尔型常量,如:true,false
④ 字符常量,如:‘a’, '8’
5. 变量
- 变量的概念
- 变量是指在程序的运行过程中随时可以发生变化的量
- 变量是程序中数据的临时存放场所
① 保存程序运行是用户输入的数据
② 特定的运算结果等
- 变量的声明
- 格式: 变量类型 变量名[ = 变量初值]
例如:
int x = 3;
double b = 0.123;
char ch;
ch = 'a';
6. 数据类型的转换
- 自动类型转换(隐式类型转换)
- 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后经行计算。
- 自动转换规则
- boolean 类型不可以转换为其他的数据类型
- 整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则:
- byte、short、char 之间不会相互转换,他们三者在计算时首先会
转换为 int 类型
- 强制类型转换(显示类型转换)
- 容量大的数据类型转换为容量小的数据类型时,需要使用强制类
型转换,其格式如下:变量 = (目标类型) 值
例如:
byte a;
int b;
a = (byte) b;
- 在强制类型转换过程中,源类型的值可能大于目标类型,因此
可能造成精度降低或溢出,使用时需注意
7. 运算符
- 运算符(操作符)
- 是一种特殊的符号,用以表示数据的运算、赋值和比较
- 运算符的种类:
- 算术运算符: +、﹣、*、/、%、++、 --(自增、自减)单目
- 赋值运算符:=、+=、﹣=、*=、/=、%= (自反赋值)
- 比较运算符:>、<、>=、 <=、= =、!=、instanceof
- 逻辑运算符:!、&&、||
- 位运算符: &、|、^ 、 ~、>>、<<、>>>(二进制数据)
- 条件运算符
- 条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的 if-else 语句 a ? b:c
- 算术运算符
符号 | 含义 | 备注 |
---|
+ | 加法 | |
- | 减法 | |
* | 乘法 | |
/ | 除法 | 若是两个整数相除,只保留整数部分; |
% | 取余 | 被模数为正数结果都为正,被模数为负数结果都为负 |
++ | 自增 | ++变量名:变量在参与其他操作前先将自己加1 变量名++:先用原来的值参与其他操作后,再将自己加1 |
– | 自减 | 算法同++ |
+ | 字符串连接 | 当操作数中只要有一个是String类型,系统会自动另一个操作数转换成字符串类型,然后进行连接 |
- 赋值运算符
符号 | 含义 | 备注 |
---|
= | x=y; | 把变量y的值赋给x |
+= | x+=y; | x=x+y; |
-= | x-=y; | x=x-y; |
*= | x*=y; | x=x*y; |
/= | x/=y; | x=x/y; |
- 比较运算符(关系运算符)
符号 | 含义 | 备注 |
---|
== | 相等于 | 注意不要误写成 “ = ” |
!= | 不等于 | |
< | 小于 | |
> | 大于 | |
<= | 小于等于(不大于) | |
>= | 大于等于(不小于) | |
- 逻辑运算符(布尔运算符)
符号 | 含义 | 备注 |
---|
&& | 逻辑与 | 相当于“且”,如果用&&连接表达式时,如果左面的表达式为false,则将不会计算其右边的表达式 |
|| | 逻辑或 | 相当于“或”,如果左面的表达式为true,则将不会计算其右边的表达式 |
! | 逻辑非 | |
- 位运算符(只对byte、short、char、int、long有效)
符号 | 含义 | 备注 |
---|
& | 按位“与” | 只有参加运算的两位都为1,&运算的结果才为1,否则为0 |
| | 按位“或” | 只有参加运算的两位都为0,|运算的结果才为0,否则为1 |
^ | 异或 | 只有参加运算的两位不同,^运算的结果才为1,否则为0 |
<< | 左移 | a<<b,将a的二进制数据左移b位,右边移空的部分补0 |
>> | 右移 | a>>b,将a的二进制数据右移b位,如果最高位是0,则左边移空的部分补0,如果最高位是1,则左边移空的部分补1 |
>>> | 无符号右移 | 不管最高位是0或1,左边移空部分都补0 |
- 三元运算符
- 所谓三元运算符,是对三个表达式进行的集中比较,表达式1的结果为true时,就为第二个表达式,如果为false时,就为第三个表达式。语法是:
- 表达式1?表达式2:表达式3
- 运算符的优先级
- 运算符的优先级
- 按操作数多少划分
一元操作符 > 二元操作符 > 三元操作符 - 按运算类型划分
算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 - 尽量多的使用括号
括号优先级别最高
- 表达式通常由多个运算符组成。优先级的规则决定每个运算符在任何
给定表达式中的计算顺序
顺序 | 运算符 |
---|
1. | 括号 |
2. | 一元运算符,如 -、++、- -和 ! |
3. | 算术运算符,如 *、/、%、+ 和 - |
4. | 关系运算符,如 >、>=、<、<=、== 和 != |
5. | 逻辑运算符,如 &、^、 |
6. | 条件运算符和赋值运算符,如 ? :、=、*=、/=、+= 和 -= |
8. 表达式
表达式是符合一定语法规则的运算符和运算数的序列
- 表达式的值和类型
- 对表达式中操作数进行运算得到的结果称为表达式的值
- 表达式值的数据类型即为表达式的类型
- 表达式的运算顺序
- 应按照运算符的优先级从高到低的顺序进行
- 优先级相同的运算符按照事先约定的结合方向进行
- 举例
下一章更新流程控制语句…