Java数据类型

Java的数据类型分为2类:

1、基本数据类型

2、引用数据类型

一、基本数据类型的分类:

整型

byte:占1个字节存储空间

short :占2个字节存储空间

int :占4个字节存储空间

long:占8个字节存储空间

浮点型

float :占4个字节存储空间

double:占8个字节存储空间

字符型:

char:占2个字节存储空间

布尔型

boolean:占1个字节存储空间

注:1字节等于1个四位二进制数,即1111。2字节等于1个8位二进制数,即 1111 1111。以此类推。

二、引用数据类型

引用数据类型:使用自己或者其他程序员创建的非基本数据类型。

注: 创建一个class类的时候就相当于创建了一个数据类型,我们使用这些class类的方法就叫引用。

引用数据类型的使用步骤:(以Scanner类为例)

1、导入类(也称导包):
使用import关键字;格式是 import java.util.Scanner;

2、创建对象:
使用关键字new;
Scanner 类型名 = new Scanner(System.in);

3、引用对象中的属性或者方法:
使用引用字符 “.” ; sc.方法名;

算术运算符

算数运算符是用于数据与数据之间进行算数运算的符号。
主要有 +、-、*、/、%

注:
1、byte、short、char、只要参与算数运算,都会自动转换成int类型

2、自动类型转换规则:

范围小的类型向范围大的类型提升:
byte、short、char → int → long → float → double

byte、short、char 在运算时自动转换成int。
int + double = double +double

long占8字节,float占4字节,为什么自动类型转换却是long转float?

因为float的存储方式和long类型不一致,float的32位bit中,1位表示符号位,后面8为表示指数位,剩下的23位表示小数位,所以在存储数值范围上,float比long大。

float的表示形式是: 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节

3、“%”:叫做取余运算符。
什么叫取余:取余就是两个数相除,取最后的余数。
例:5%2 = 1 → 5/2=2…余1,这个1不能被2除,所以1是余数

或者 5%3 = 2 → 5/3=1…余2,这个2不能被3除,所以2是余数

或者 6%3 = 0 → 6/3=2……余0,6被3整除了,没有余数,所以结果是0。

取余的作用:
1、判断整数的奇偶性:
偶数都能被2整除,所以余数都是0。
例:4%2=0、8%2=0、16%2=0、18%2=0等

奇数余2的结果都为1。
例:5%2=1、7%2=1、13%2=1等

2、判断一个数是否能被另一个数整除。
如果能被整除,那么余数就为0,反之则余数不为0。

关系运算符

关系运算符是用于判断运算符两边的数据之间的关系。
主要有 ==、!=、<、<=、>、>= 等。

a==b,判断a和b的值是否相等,成立为true,不成立为false
a!=b,判断a和b的值是否不相等,成立为true,不成立为false
a>b,判断a是否大于b,成立为true,不成立为false
a>=b,判断a是否大于或等于b,成立为true,不成立为false
a<b,判断a是否小于b,成立为true,不成立为false
a<=b,判断a是否小于或等于b,成立为true,不成立为false

注:
1、不管关系表达式多么简单或者多么复杂,最终的结果只有两个,要么是true,要么是false
2、
= : 表示的是赋值……赋值运算符
== : 表示的是判断是否相同……关系运算符

逻辑运算符

说明:连接条件表达式,筛选多条件共同作用的结果。

分类:
与(&)、或(|)、非(!)、异或(^)
短路与(&&)、短路或(||)

&:逻辑与,两个条件表达式中有一个为false,结果为false
|:逻辑或,两个条件表达式中有一个为true,结果为true
!:逻辑非,把条件表达式的结果取反
^:逻辑异或,两个条件表达式结果相同为false,反之为true

&&:短路与,作用和&相同,但是如果第一个条件为false,则第二个条件不执行。
||:短路或:作用和|相同,但是如果第一个条件为true,则第二个条件不执行

注:运算的最终结果只有true或者false。