变量,常量,数据类型,运算符(Java语言)
今天我们来简单聊聊变量,常量,数据类型,运算符的一些东西,希望可以帮到大家。
常量
常量很简单:通俗的说就是代码编译后不可被修改的值,我们都知道,java程序要先编译成.class文件,然后才可以执行,那么常量就是经过编译后在.class文件里不能被修改的值。为什么,编译后就不能被修改呢,因为编译成.class文件后,再打开,原来的代码就成了乱码,这些代码计算机能看懂,而我们看不懂,所以无法轻易的进行修改。
变量
对于变量呢,变量可以分为几部分:数据类型+变量名+值。我给大家举个生活中的例子:比若说酒店,酒店有房间的类型(单人间,双人间,大床房等),房间号(101,102,201等)以及住在里面的顾客。那么一一对比,房间的类型就对应数据类型,房间号就对应变量名,顾客就对应变量的值,也就是说数据类型和变量名不能被轻易的改变,但是值是可以发生变化的(就像酒店里的顾客也会发生变化一样)
变量的声明
数据类型 变量名 例如:int i;
变量的赋值
变量名 = 值 例如: i = 1;
变量的声明及初始化
通俗的说,就是将上面的两步合成一步
数据类型 变量名 = 值 例如: int i = 1;
变量的作用域
我们今天先来聊聊成员变量和局部变量
- 成员变量:又被称之为属性,在方法外,类里声明的变量,成员变量在当前类中都可以使用,且成员变量又默认值,若为基本数据类型,默认值为0,若为引用数据类型,默认值为“null(空)"
- 局部变量:在方法内声明的变量,顾名思义,局部变量只能在当前声明该变量的方法中使用,局部变量没有默认值
数据类型
数据类型可以分为基本数据类型和引用数据类型
引用数据类型太多了,这里不细说,只给大家简单的了解一下
引用数据类型:类,接口类,数组类型,枚举类型,注解类型
基本数据类型可以分为八种,这里给大家细说一下
基本数据类型:byte,short,int,long,float,double,boolean,char
关键字 | 字节数 | 类型 |
---|---|---|
byte | 1 | 字节(整数) |
short | 2 | 短整型(整数) |
int | 4 | 整型(整数) |
long | 8 | 长整型(整数) |
float | 4 | 单精度浮点型(小数) |
double | 8 | 双精度浮点型(小数) |
boolean | 1 | 布尔型(真/假) |
char | ? | 字符型(字符) |
看到上面的表后,大家肯定有疑问,char类型到底占几个字节?我是不是写错了,写了个问号?其实不是的,char类型不仅包括英文字母,数字,符号,还包括汉字,英文字母和数字都占两个字节,但是中国汉字博大精深,有的汉字占3个字节,有的汉字占4个字节,所以没法统一的说char型到底占几个字节。
运算符
运算符分为以下几种(运算符只能用于基本顺序类型的运算)
1.算数运算符
运算符 | 含义 |
---|---|
+ | 加 |
– | 减 |
* | 乘 |
/ | 除 |
% | 求余 |
++ | 自增长 |
– – | 递减 |
加减乘除自然不用多提,求余也简单,顾名思义也就是求余数。我们重点聊聊“++”和“- -”
自增长,也就是自身加1,那递减,自然就是自身减1了,似乎也不难,为什么要单独提出来呢?
因为“++”和“- -”有放的前后之分。
int i = 1;
int j = i++;//(代码1)
int j = ++i;//(代码2)
如上述代码,如果执行代码1,那么i=2,j=1;为什么呢?因为把"++"放在后面,那就是先运算,在自加。
如果执行代码2,那么就是i=2,j=2,把“++”放在前面,那就先自加,再运算。
既然说到这里,那么多提一句,是“int j = i++
”执行速度快还是“int j = ++i
”执行速度快呢?
答案是“int j = ++i
”运行速度快一些。
因为“int j = i++
”的执行流程是:1.存储自加前的 i ,2.进行运算,3.自加,4.存储自加后的i;
而”int j = ++i
“的执行流程是:1.自加,2.存储自加后的i,3.运算
2.赋值运算符
运算符 | 含义/举例 |
---|---|
= | 赋值,把右边的值赋给左边 |
+= |
i + = j; 又可以写为 i = i + j;
|
-= |
i - = j; 又可以写为 i = i - j;
|
*= |
i * = j; 又可以写为 i = i * j;
|
/= |
i / = j; 又可以写为 i = i / j;
|
%= |
i % = j; 又可以写为 i = i % j;
|
3.逻辑运算符
运算符 | 含义 |
---|---|
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
== | 等于等于(判断等号两边的存储地址) |
!= | 不等于 |
& | 与(有假为假,同真为真) |
&& | 短路与 |
| | 或(有真为真,同假为假) |
|| | 短路或 |
! | 非 |
这边我门再聊聊"&“和”&&“的区别
“&” 是先执行完所有的条件,然后再判断是真是假。它会把所有的判断语句都执行
“&&”是边判断边执行,如果判定条件出现假,那么后面的语句就不再执行,直接返回为假。
同理”|“和”||"的区别也是这样
4.位运算符(常用于进制的计算)
运算符 | 含义 |
---|---|
>> | 右移 |
<< | 左移 |
5.三目运算符(也可以说是表达式)
这边我门直接举一个例子进行说明
用法 |
---|
表达式(返回值位Boolean类型)?值1:值2 |
如果表达式为真,返回值1,如果表达式为假,返回值2
3>1?true:false;
如上述代码,返回值就是true,
那这就先到这了,如果有什么不对的地方,请大家私信我,我会尽快修正,谢谢大家的观看!
本文地址:https://blog.csdn.net/qq_43336579/article/details/107675137