java数据类型

Java数据类型

一.数据类型

(1)基本数据类型

整数型
byte 占一个字节(占8位) -128 到 127(-2^7-2^7-1)(记)
short占两个字节(占16位) -32768 到 32767(-2^15-2^15-1)(记)
int 占四个字节(占32位) -2147483648 到 2147483647(-2^31-2^31-1)
long 占八个字节(占64位) -9223372036854775808 到 9223372036854775807

浮点型
float 占四个字节 单精度 -3.403E38 到 3.403E38
double 占八个字节 双精度 -1.798E308 到 1.798E308
32位第一位是符号位,后23位是有效数值位,剩余8位是指数位

3个特殊的浮点数值
正无穷大:一个正数除以0将得到正无穷大,正无穷大通过Double或Float 的INFINITY表示.
负无穷大:一个负数除以0将得到负无穷大,通过Double或FLOAT的-INFINITY表示。
非数:0.0除以0.0或对一个负数开方将得到一个非数(NaN)

1
2
3
4
5
6
//特殊浮点数
System.out.println(1/0);//ArithmeticException算数异常
System.out.println(1.0/0);//结果为Infinity正无穷大
System.out.println(-1.0/0);//-Infinity负无穷大
System.out.println(Math.sqrt(-1));//NaN非数
System.out.println(0.0/0.0);//运行结果NaN

字符型
char 占两个字节 0-65535
直接通过单个字符来指定字符型常量,例如’A’
通过转义字符表示特殊字符型常量,例如‘\n’
直接使用Unicode值来表示字符型常量,格式量’\uXXXX’(XXXX指的是16进制数)

1
2
3
4
5
6
7
8
9
//字符类型
System.out.println('A');
System.out.println('a');
System.out.println('6');
System.out.println('#');
System.out.println('\\');
System.out.println('\"');
System.out.println('\u0022');
System.out.println('粤');

ASCII码表
ASCII: 48:0, 65:A, 97:a

布尔类型
boolean 只有true和false两个值,java中没有明确指定占用字节数,因此无法与其他类型进行运算

注意:C语言中0代表true,1代表false

(2)引用数据类型

类、接口、数组、枚举、标注

一.类型转换

(1)自动类型转换
byte—>short—>int—>long—>float—>double
              ↑
char——↑

表达式类型的自动提升规则:
(1) 当一个算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升规则
(2) 所有的byte类型、short类型和char类型将被提升到int类型,整个算术表达式的数据类型自动控制提升到与表达式中最高等级操作数同样的类型(int前提升到int,int后的提升到出现最高的)

(2) 强制类型转换
强制类型转换:语法(目标类型)变量名

`基本数据类型的强制类型转换得到的结果可能不是想要的结果` `引用数据类型的强制类型转换需要注意:数据类型与强转类型必须存在继承关系,否则会引起ClassCastException。(后面面向对象三个特征会着重讲解)`
1
2
3
4
5
6
7
8
9
10
11
12
int b1 = 40000;
System.out.println(b1+"World"+"c");

byte a2 = -128;
System.out.println(a2+'7'+"_");

System.out.println("10+10="+10+10);

byte a3 = 3;
byte a4 = 4;
//byte a5 = a3 + a4;
//System.out.println(a5);//图二为报错
    byte a6 = 3 + 4;//java编译器有常量优化机制
//常量不作类型提升,变量才会出现转换类型异常问题
    System.out.println(a6);
文章作者: Hai
文章链接: http://yoursite.com/2019/07/09/java数据类型/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hai
打赏
  • 微信
  • 支付宝