- 变量
变量顾名思义结束可以改变的量,在程序执行过程中,允许变量的值改变,定义变量就是在内存中定义一块空间,用来存放指定类型的数据
变量相当于造盒子,这个盒子是变量,盒子的名字是变量名,盒子中的数据是变量的值。
变量的数据类型 : 不同类型的数据所占空间大小不同
整数 : byte short int(默认) long
小数 : float double(默认)
字符型 : char
布尔型 : boolean
字符串 : String
变量的作用 : 存储单个数据
语法 :
- 声明的同时赋值 : 数据类型 变量名 = 赋值;
- 先声明后赋值 : 数据类型 变量名;变量名 = 赋值;
同时声明多个变量,要求类型一致
同时声明且赋值多个变量,要求类型一致
变量需要注意的点 :
数据类型
变量名 : 标识符
变量的值 : 要求与类型保持一致
作用域 **** : {}
从变量的声明开始,到包裹这个变量的离它最近的}结束
分类 :
局部变量 : 在方法中|语句块{}中定义的变量;只声明不赋值没有默认值
成员变量 : 在类中方法外的位置定义的变量;只声明不赋值存在默认值:
整数:0 小数:0.0 字符:空字符 布尔:false 引用 :null
注意 : = 是自右向左运算的符号。
- 常量
常量:在java程序执行期间,其值不会发生改变的量。
分类:
- 字面值常量:
整数常量:100,-5,0 …
小数常量:1.1,-5.5 …
字符常量:’ ’ , ’a’ , ‘A’ , ‘中’ …
布尔常量:true , false
字符串常量:"" , " " , "abc" , "中国" …
空常量:null
- 自定义常量:final 被final修饰的变量为常量
- 数据类型
数据类型 : DataType
基本数据类型 : 四类八种
引用数据类型 : 类 接口 数组 []
基本数据类型 : 规定存储数据的大小
- 整型 : 整数
字节型 byte 1byte = 8bit [-128,127]
短整型 short 2byte = 16bit [-32768,32767]
整型 int 4byte = 32bit +-21亿
长整型 long 8byte = 64bit 非常大
在java中整数的字面值常量默认为int类型
在为long类型数据赋值的时候,需要在数据的后面添加L(推荐)|l
- 浮点型 : 小数
单精度 float 4个字节 精确7位
双精度 double 8个字节 精确15位
在java中小数的字面常量值默认为double类型
在为float类型赋值的时候,需要在数据的后面添加F|f
在java浮点类型的数据不要大量的进行运算,可能会造成数据的不精确
- 字符型 :
字符型 char 2byte
java中字符型数据的表现方式 : ‘’包裹一个字符 ;0~65535十进制整数
- 布尔型
布尔型 boolean 1字节 1位有效
计算机基本存储单位 : 字节 bit比特位 --> 1byte字节 = 8bit位。
- 转义字符
因为有一些字符具有特殊的含义,但是不想要字符表示特殊含义,只想要表示字符本身,可以通过转义字符实现
转义字符从\开始eg:\' \" \\ \t : 制表符
一个制表符位默认8个空格,如果制表符位前面出现其他字符,检测前面的字符是否满制表符位的整数倍,如果不满补齐,如果满就重新开辟
\n : 让光标从这一行的行尾换到下一行的行首
\b : 退格 光标回退一格
- 数据类型转换
标准赋值:对应类型的数据赋值给对应类型的变量
当前后类型不一致涉及到类型转换的时候:
- Boolean类型不参与转换。
- 自动类型提升:小à大
- 强制类型提升:大->小
小范围类型 变量=(小范围类型)大范围类型的数据;
注意: 当表达式中存在多种数据类型参与运算,最终结果的类型是参与运算最大的数据类型。
参与运算的最大类型<int类型,最终会提升为int类型。
当想要为byte,short,char赋值的时候,将int类型的常量只要在其范围内就能成功赋值。
当字符类型参与运算,将字符类型转化成为十进制整数再进行运算。
- 运算符
1.根据功能作用分类 :
算术运算符:
加法运算符(+):计算两个值的和。
减法运算符(-):计算两个值的差。
乘法运算符(*):计算两个值的积。
除法运算符(/):计算两个值的商。
模运算符(%):计算两个值的余数。
赋值运算符:
简单赋值运算符(=):将右边的值赋给左边的变量。
复合赋值运算符(例如+=、-=、*=、/=):将右边的值与左边的变量进行计算,然后将结果赋给左边的变量。
比较运算符:
相等运算符(==):判断两个值是否相等。
不等运算符(!=):判断两个值是否不相等。
大于运算符(>):判断左边的值是否大于右边的值。
小于运算符(<):判断左边的值是否小于右边的值。
大于等于运算符(>=):判断左边的值是否大于等于右边的值。
小于等于运算符(<=):判断左边的值是否小于等于右边的值。
逻辑运算符:
逻辑与运算符(&&):当两个条件都为真时返回真。
逻辑或运算符(||):当至少一个条件为真时返回真。
逻辑非运算符(!):将真变为假,将假变为真。
位运算符:
按位与运算符(&):对两个操作数的每一个位执行与操作。
按位或运算符(|):对两个操作数的每一个位执行或操作。
按位异或运算符(^):对两个操作数的每一个位执行异或操作。
按位取反运算符(~):对操作数的每一个位执行取反操作。
左移运算符(<<):将操作数的所有位向左移动指定的位数。
右移运算符(>>):将操作数的所有位向右移动指定的位数。
无符号右移运算符(>>>):将操作数的所有位向右移动指定的位数,高位补0。
2.根据操作数分类 :
一元运算符|单目运算符 : 操作数只有一个 +正号 -负号 ++ -- !
二元运算符|双目运算符 : 操作有2个 + - * /
三元运算符|三目运算符 : 条件运算符
操作数 : 运算符左右两边的数据为操作数
表达式 : 运算符+操作数整体整体称之为表达式
语句 : java中语句以;结束
3.算数运算符 :
+ - * / %取模(求余数) ++ --
+ :
1.正号(省略)
2.加法运算
3.字符串连接符
当+左右两边一旦出现字符串,+就作为字符串连接符存在,将左右两边的操作数连接成为一个字符串
%取模(求余数) :
如果左边的操作数<右边的操作数,结果就为左边的操作数
++自增: 自身+1
a++ | ++a --> a = a+1;
--自减
a-- | --a --> a = a-1;
只影响自己 :
无论++出现在操作数的前面++a还是后面a++,都是自身+1
无论--出现在操作数的前面--a还是后面a--,都是自身-1
影响别人(输出|运算|赋值) :
++|--如果在操作数的前面,先自身+1|-1,然后再运算使用
++|--如果在操作数的后面,先再运算使用,然后自身+1|-1