Java学习笔记 ------- 数据类型
前言
java是强类型( strongly typed) 语言, 强类型包含两方面的含义:
1) 所有的变量必须先声明后使用
2) 指定类型的变量只能接受预支匹配的值
一, 基本数据类型
Java 的基本数据类型包括: Boolean , 字符型 和 数值类型
数值类型包括: 整形和浮点类型
boolean
大小:Java规范并没有强制指定Boolean 类型的变量所占内存大小
范围:true 和 false
例子:boolean a = false
boolean b = true
byte
大小:1个字节,即在内存中占8位
范围: -128~127, 即-27~27-1
例子:byte a = 100;
short
大小:2个字节
范围:-32768~32767, 即:-215~215-1
例子:short a = 10000
int
大小:4个字节
范围:-2147483648~2147483647,即:-231~231-1,留个印象:21亿多
例子:int a = 100000000
long
大小:8个字节
范围:-263~263-1,留个印象:92亿亿
例子:long a = 232384829L
注意:
1,int是最常见的整数类型,直接给出一个整数值默认就是int类型
2,若要定义成long型, 必须在数字后面加上l(小写)或 L (大写), 一般使用L。
字符型
大小:2个字节
例子:char a =‘shenjilin‘
字符型同通常用于表示单个的字符, 必须使用单引号( ' )括起来
单浮点数
大小:4个字节
例子:float a = 12.3f
注意:java默认的浮点数是双浮点数(double) , 所以使用float 是必须加上f或F
双浮点数
大小:8个字节
例子:double a = 12.3
注意:若需要数据非常精确的话,不要使用浮点数,因为java的浮点数不精准,应该使用类Decimal,
二,基本数据类型的类型转换
自动类型转换
byte——> short ——> int ——> long ——> float ——> double ——> char ——> int
1 public class MyClass { 2 public static void main(String[] args) { 3 int myInt = 9; 4 double myDouble = myInt; // 自动类型转换,将int转换为double 5 6 System.out.println(myInt); // 输出 9 7 System.out.println(myDouble); // 输出9.0 8 } 9 }
强制类型转换
1, 会损失精度, 产生误差, 小数点以后的数字全部舍弃,
2. 容易超过取值范围
public class MyClass { public static void main(String[] args) { double myDouble = 9.78; int myInt = (int) myDouble; // 强制类型转换: double 转换成 int System.out.println(myDouble); // 输出 9.78 System.out.println(myInt); // 输出 9 } }