1.释义
数据类型是为了把数据分成所需内存大小不同的数据,编程的时候需要用大的数据才申请大内存,这样可以充分利用内存。
Java 语言是一种强类型语言,要求所有变量先声明后使用。目的就是为了保证变量或者表达式在编译时就能够确定其类型,并为其分配相应的内存。
2.分类
2.1整型
2.1.1Java 整型
byte/short/int/long
2.1.2整型取值范围
Java 语言整数型默认为int 类型,如果要声明成 long 类型在变量值后加入L,如:long l = 123L
类型 占用存储空间字节数 数值范围
2.1.3Java 整型常量的三种表示方法十进制:如 123=1100+210+31=123
八进制,八进制 0 开头:如:013=18+31=11
十六进制,十六进制 0x 开头:如:0x23=216+3*1=35
【进制转换】
10 进制到二进制
示例:求十进制数 10 的二进制
6/2=3 余 0
3/2=1 余 1
1/2=0 余 1
将余数逆序输出就是 6 的二进制表示:110,位数不够补零
二进制到十进制
示例:求二进制 110 的十进制
规则:取出最后一位,从 2 的 0 次方开始乘,将得到的结果相加即可
02 的 0 次方=0
12 的 1 次方=2
1*2 的 2 次方=4
110 的十进制为:0+2+4=6
2.2浮点型
2.2.1Java 浮点型
float/double
2.2.2两种表示形式
十进制形式:例如:123.456 0.314
科学计数法:例如:1.23456E2 3.14E-1
2.2.3Java 浮点型取值范围
浮点声明默认是 double 类型,若要是float,请在尾部添加f 或是F。如:float myFloat=1.23
2.3布尔型
适用于逻辑运算,用于程序流程控制
只允许取值为 true,false,不可以任何其它形式代替
[示例]
boolean real=true; //正确boolean notReal=false; //正确boolean read2=1; //错误boolean notReal2=0; //错误
2.4字符型
2.4.1 Java 字符型
通常意义上的字符,用单个引号括起来的单个字符 如’1’,‘a’,‘b’等等
Java 采用 Unicode 编码(即为全球统一语言编码),均可以用十六进制表示编码值char c = ‘\u0012’;
转义字符,用’\n’来表示,即为转变之前的意义,但依然是个字符char c=’\n’; //表示换行符
3.基本类型转换
布尔类型不能与其它类型做任何转换
数值型、字符型可以相互转换,规则如下:
容量小的自动转换成表数范围容量大的,但 byte,short,char 不能相互转换,均转化成 int 做计算
容量大小排序为:byte,char,short
多类型混合运算时,系统会自动转换成统一类型(大容量数据)后再进行计算,即 先类型转换后计算
1.运算符
释义
用于表示数据的运算、赋值和比较的一系列符号我们称之为运算符。分类
运算符按功能划分如下:
运算符类型 运算符
算术运算符 +,-,*,/,++,–,%
关系运算符 <,<=,>,>=,,!=
布尔运算符 &&, ||,&,|,!,^
位运算符 &,|, ~,^,>>,>>>,<<
赋值类运算符 =,+=, -=, *=, /=, %=
字符串连接运算符 +
条件运算符(三目运算符) ? :
其他运算符 instanceof,new
1.1算术运算符
1.2关系运算符
注意 ‘’关系运算,其意义为全等,基本数据类型比较值,引用数据类型比较地址
1.3逻辑运算符
与 &:两个操作数相与,如果都为 true,则为 true 或 |:两个操作数相或,有一个为 true,则为 true
异或 ^:相异为 true,两个操作数不一样就为 true,相同为 false
短路&& 和 逻辑& 区别?
1.短路与,从第一个操作数推断结果,只要有一个为 fase,不再计算第二个操作数
2.逻辑与,两个操作数都计算
短路|| 和 逻辑| 区别?
1.短路或,从第一个操作数推断结果,只要有一个为 true,不再计算第二个操作数
2.逻辑或,两个操作数都计算
1.4赋值运算符注意
1)当 “=” 两侧数据类型不一致时,适用默认转换或强制转换处理,如 long num=20;int i=(int)num;
2)特殊情况为:当 byte,char,short 被整赋值时,不需要进行强制类型转换,不超过取值范围即可。即一个自动装载的过程。
char c=100;byte b=20; //正确
char c2=-99999;byte b2=128; //类型越界错误
1.5字符串连接运算符
“+” 可用于数值计算,当有一方是字符时,则为将左右两个数据转化成字符串连在一起。如 int i=10+20;String j=“10”+“20”。
当" +" 任意一侧为字符串时,系统将自动将两侧转化成字符串,做字符串链接操作。
当进行 System.out.println(var)打印操作的时候,均自动转化为字符串进行输出。
2.表达式
表达式是指由(常量、变量、操作数)与运算符所组合而成的语句。
符合语法规则的运算符+操作数,即为表达式,如:5+3,2.0+3.0,a+b,3%2
表达式最终运行结果即为表达式的值,值的类型就是表达式的类型
运算符优先级,决定表达式的运算顺序
三目运算符: 形如:x?y:z
释义:计算 x 的值,若为 true,则表达式的值为 y;若为 false,则表达式的值为 z 示例:
int score=70;
String result=score<60 ? “不及格” : “及格”;
System.out.println(result); //输出结果为及格