-
java笔记——基本数据类型与运算符
转义字符
当java中有些字符,java语法赋予了特殊的含义,如果不想要这些字符代表特殊含义,想要表示其字符本身,可以使用转义字符进行转义
转义字符从\开始
\'
\"
\\
\t : 制表符
一个制表符位置代表8个空格
cmd中一个英文占据1个空格,一个汉字占据2个空格
制表符位置 前面的内容如果满制表符位的整数倍,重新开辟一个制表符位,如果不满,补全一整个制表符位置
\n 换行
光标从这一行的行尾换到下一行的行首
\b 退格
光标回到上一格,如果\b后面没有内容的输出,对原数据不影响,如果\b后面存在内容的输出,会覆盖原有位置的内容。
1.数据类型
数据类型:存储数据的空间大小
分类:基本数据类型和引用数据类型
基本数据类型分类:4类八种
(1)基本数据类型
a.整型
表示名称 表现形式 大小 范围
字节型 byte 1个字节 8bit [-128,127]
短整型 short 2个字节16bit [-32768,32767]
整型 int 4个字节32bit 正负21亿
长整型 long 8个字节 64bit 非常大
整数字面常量值默认的数据类型为int类型,表示一个比int类型更大的数值的时候,在数据的后面添加一个L|l-->推荐使用L,在java中,如果给byte,short,char赋值的时候,在其范围内的常量能够直接赋值
b.浮点型
单精度 float 4个字节32bit 精确表示6~7位
双精度 double 8个字节64bit 精确表示16~17位
java中浮点类型的字面常量值默认是double类型,在java中 表示一个float类型的数据在数据的后面添加f|F,浮点类型的数据运算可能会造成数据的不精确 ,java中的浮点型数据存储标准: 二进制浮点型运算标准
c.字符型
char 字符型 2个字节
char类型数据的表现形式:一对''包裹一个字符 ' ' '1' '中',十进制的整数表示某一个字符 0~65535 -->Unicode
d.布尔型
boolean 真(对)->true | 假(错)->false 1bit
(2)引用数据类型 : 类 接口 数组[]
3.数值型表现形式:
整型 :
进制: 满几进一
二进制 : 由0,1组成,通过0b|0B开头
八进制 : 由0~7之间的数字组合而成,通过0开头
十进制 : 默认 ,由0~9之间的数字组合而成
十六进制 : 由0~9,a~f组合而成,通过0x|0X开头
转换:
其他进制转为十进制: 从后往前,从右往左,最后一位开始,当前这一个位置的数值*当前进制数^0开始,每次+1,最后的和为转为十进制的数据,十进制转为其他进制: 当前的十进制数据不停的除以2,每次关注余数,当结果为0不除了,余数从下往上看
浮点型:
1.当小数的整数位为0的时候,0.5-->0省略 : .5
2.科学计数法 e|E->10
1.23E3 - > 1.23*10^3
1.23E-3 - > 1.23/10^3
4.数据类型转换
正常: 对应类型的数据赋值给对应类型的变量,boolean类型不参与类型转换。
自动类型提升:小 --> 大
大范围类型 变量名 = 小范围类型的数据;
强制类型转换:大--> 小,有可能会损失精度
小范围类型 变量名 = (小范围类型)大范围类型的数据;
强转是发生在赋值之前的,大范围类型的数据强转为小范围类型,然后赋值给对应的小范围类型的变量
注意:
1.当多种类型参与运算时候,结果为参与运算中最大的数据类型
2.当多种类型参与运算时候,如果参数运算的最大类型小于int类型,结果提升成为int类型
3. byte->short->int->long->float->double
4.当byte,short,char赋值的时候,只要在其范围内的常量就能够成功赋值。
5.运算符
功能作用的不同分类:
(1)算数运算符
+
1)正号
2)加法运算
3)字符串的连接符
当+左右两边一旦出现字符串,+作为字符串的连接符使用,最后会把左右两边的数据拼接成一整个字符串得到结果
-
1)符号
2)减法运算
%
模以 取模 求余数,操作1%操作数2 当操作数1<操作数2时候,结果为操作数1,一个字符型数据参与运算(四则运算),会前转为十进制的整数再运算--> Unicode,ASCII
(2)赋值运算符
基础赋值运算符 =
=是java中唯一一个自右向左运算的符号
扩展赋值运算符 (算数运算符+基础赋值运算符)
+= a+=b ==> a = a+b;
-=
*=
/=
%= a%=b ==> a = a%b;
缺点:
不直观
优点:
提高执行效率,编译期会自动优化为扩展赋值运算符
自动做强制类型转换
(3)比较运算符|关系运算符
> < >= <=
只能针对数值型|能够转为数值型的数据进行操作
== !=
可以针对任意类型数据进行操作,结果为boolean类型的运算符
(4)逻辑运算符
& 与
一个为false就是false,两个都为true,结果才为true
| 或
一个为true就是true,两个都为false才是false
! 非 取反
!true->false
!false->true
^ 异或
相同为false,不同为true
短路运算符 : 当左边的操作数的值就能够决定最终的结果,右边操作数将不会执行
短路与 : 与单与逻辑相同
短路或 : 与单或的逻辑相同
推荐使用短路运算符,两边的操作数为boolean类型,结果为boolean类型结果。
(5)条件运算符
boolean表达式 ?值1 : 值2;boolean表达式 : 值为boolean类型的表达式
1)计算表达式,得到一个boolean结果
2)如果结果为true,条件运算符结果为值1
3)如果结果为false,条件运算符结果为值
(6)位运算符 (了解)
操作数: 运算符左右两边的数据成为操作数 3+4
表达式: 运算符连接左右两边的操作数整体称为表达式
语句 : 以;结束
6、操作数的不同分类:
单目运算符|一元运算符: 操作数为1个 ++ -- +(正号) -(负号)
双目运算符|二元运算符: 操作数为2个 a+b - * /
三目运算符|三元运算符: 条件运算符
++ -- 一元运算符 , ++ 自增 自身+1
a++ ==> a = a+1;++a ==> a = a+1;-- 自减 自身-1
a-- --> a = a-1;--a --> a = a-1;
只影响操作数本身
++放在操作数的前面或者后面,都是自身+1
--放在操作数的前面或者后面,都是自身-1
影响其他值(赋值,输出,表达式计算),++|--放在操作数的前面,先+1|-1,然后再去运算,++|--放在操作数的后面,先参与运算,然后再自身+1|-1
出处:https://www.cnblogs.com/Blank0926/p/15027367.html