变量,常量,数据类型,运算符(Java语言)

今天我们来简单聊聊变量,常量,数据类型,运算符的一些东西,希望可以帮到大家。

常量

常量很简单:通俗的说就是代码编译后不可被修改的值,我们都知道,java程序要先编译成.class文件,然后才可以执行,那么常量就是经过编译后在.class文件里不能被修改的值。为什么,编译后就不能被修改呢,因为编译成.class文件后,再打开,原来的代码就成了乱码,这些代码计算机能看懂,而我们看不懂,所以无法轻易的进行修改。

变量

对于变量呢,变量可以分为几部分:数据类型+变量名+值。我给大家举个生活中的例子:比若说酒店,酒店有房间的类型(单人间,双人间,大床房等),房间号(101,102,201等)以及住在里面的顾客。那么一一对比,房间的类型就对应数据类型,房间号就对应变量名,顾客就对应变量的值,也就是说数据类型和变量名不能被轻易的改变,但是值是可以发生变化的(就像酒店里的顾客也会发生变化一样)
变量的声明
数据类型 变量名 例如:int i;
变量的赋值
变量名 = 值 例如: i = 1;
变量的声明及初始化
通俗的说,就是将上面的两步合成一步
数据类型 变量名 = 值 例如: int i = 1;
变量的作用域
我们今天先来聊聊成员变量和局部变量

  1. 成员变量:又被称之为属性,在方法外,类里声明的变量,成员变量在当前类中都可以使用,且成员变量又默认值,若为基本数据类型,默认值为0,若为引用数据类型,默认值为“null(空)"
  2. 局部变量:在方法内声明的变量,顾名思义,局部变量只能在当前声明该变量的方法中使用,局部变量没有默认值

数据类型

数据类型可以分为基本数据类型和引用数据类型
引用数据类型太多了,这里不细说,只给大家简单的了解一下
引用数据类型:类,接口类,数组类型,枚举类型,注解类型
基本数据类型可以分为八种,这里给大家细说一下
基本数据类型: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.小类型转大类型:直接转换
2.大类型转小类型需要强制转换,可能会精度丢失或报错

强转语法

转换后的数据类型   变量名 =(转换后的数据类型)值/变量
//例如
int i = 200byte b =byte)i;
//因为200超过了byte的取值范围,所以势必会造成数据精度的丢失

运算符

运算符分为以下几种(运算符只能用于基本顺序类型的运算)
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,

那这就先到这了,如果有什么不对的地方,请大家私信我,我会尽快修正,谢谢大家的观看!

猜你喜欢

转载自blog.csdn.net/qq_43336579/article/details/107675137