一.数据类型
Java中的数据类型分为两种,分别是基本数据类型和引用数据类型,本文先介绍基本数据类型,引用数据类型之后会介绍。
基本数据类型共有四类八种
使用数据类型时要注意
整数的默认类型是int,小数的默认类型是double所以在定义float类型时后面一定要加f/F,整型赋值若超过int类型的范围时定义long类型数字后要加l/L(由于小写字母和数字1很相似,所以正常情况下用大写)
数据类型相互转换
自动转换
在进行算数运算时通常会将范围小的自动转换为范围大的数据类型。
b为long型无法转换为范围比long小的int型,则会报错,若强转为int型则会丢失精度。
a为int型可转为long型。
由于计算机CPU通常按照4个字节为单位从内存中读写数据,为了硬件上实现方便,诸如byte,short,char这种低于这个4个字节的类型,会先提升为int再参与计算。
强制类型转换
在进行算数运算时等号前后的数据类型必须一致,否则报错
强制类型转换通俗讲就是大范围数据类型转为小范围数据类型
这里要注意可能会导致精度丢失,如long类型在赋一个值假设在电脑中存储为11 11 11 11 ,如果强转为int型那么在电脑中只能存为11 11 。
二.运算符
1.算数运算符
基本四则运算符:加减乘除取模(+-*/%)
注意
- 除法前后如果都为整数那么结果也为整数,有一个为小数结果也为小数如(5/2=2) (5.0/2=2.5)
- 取模前后必须为整型,且结果是何符号取决于第一个数如(3%2=1)(3%-2=1)(-3%2=-1)
特殊记:5/0会报错 5.0/0结果为infinity(无穷大)
2.赋值运算符
3.自增/自减运算符
4. 关系运算符
5.逻辑运算符
逻辑运算符有三个 逻辑与&& 逻辑或|| 逻辑非!
1.&&
2.||
3.!
逻辑非一句话就能概括:非真为假非假为真
注意
- 对于&&,如果左侧为false(假)则表达式一定为false无需计算右侧表达式
- 对于||,如果左侧为true(真)则表达式一定为true无需计算右侧
- &和|如果表达式结果为boolean时,也表示逻辑运算,但与&& ||相比,它们不支持短路求值,左右两侧都会计算一边
6.位运算符
- 按位与&
- 按位或|
- 按位异或^
- 按位取反~
7.三元运算符
问号前面为真则max=a 为假则max=b