Java是一种强类型语言,每个变量都必须声明其数据类型。Java的数据类型可分为两大类:基本数据类型(primitive data type)和引用数据类型(reference data type)。
Java中定义了4类8种基本数据类型
1.数值型 ①整数类型byte<1字节>、short<2字节>、int<4字节>、long<8字节>
②小数(浮点)类型float<4字节>、double<8字节>
2.单字符类型 char<2字节>
3.布尔类型 boolean<1字节>
5类5种引用数据类型
1.类 class :String(字符串,多个字符)、System
2.接口 interface
3.数组 <引用数据类型的大小统一为4个字节>
4.枚举
5.注解
1字节有8位 byte:-128~127
class Test01{public static void main(String[] args){System.out.println(18);//18是一个整数,默认是intSystem.out.println(1.8);//1.8是一个小数,默认是doubleSystem.out.println('尚');//'尚'是一个单字符类型,是char,是单引号System.out.println("尚硅谷");//"尚硅谷"是一个字符串类型,是String,是双引号System.out.println(true);//true是boolean}
}
整型用于表示没有小数部分的数值,它允许是负数。
int表数范围大约有21亿
public class TestInt{public static void main(String[] args){byte a =100;int b =5030303;int c =05; //八进制int d =0x15; //十六进制int e =0B101011; //二进制System.out.println(e);}}
Java语言的整型常数默认为int型,声明long型常量数字可以后加'L'。
带小数的数据再Java中称为浮点型。 默认为double型, 声明float类型常量数字后面加'F'。
float比long类型的范围要大,因为底层存储方式不同。
float:精度:小数点后7-8位
double:精度:小数点后15-16位
public class TestFloatNumber{public static void main(String[] args){double d1=3.14;double d2=3.14E2; //科学计数法表示小数,E2表示10的2次方System.out.println(d2);// float f1=1.65;; //会报错。1.65是double类型的浮点常量,不能直接赋值给floatfloat f2=1.65F;//浮点数是不精确的,尽量不要直接进行比较。float d3=0.1F;double d4=1.0/10;System.out.println(d4);System.out.println(d3==d4); //一个等于号是赋值;两个等于号是比较运算。}}
字符型,再Java中使用单引导号来表示字符常量,例如‘A',与“A”不同,“A”表示含有一个字符的字符串,char类型用来表示在Unicode编码表中的第一页字符,0-65535。
public class TestChar{public static void main(String[] args){char c1='a';char c2='中';char c3='\u0061'; //前缀u表示UnicodeSystem.out.println(c1);System.out.println(c2);System.out.println(c3);//java中的字符串不是基本数据类型,而是一个独立定义的类。string str="我爱中国";system.out.prinltn(str);}
}
Java语言中还允许使用转义字符‘\’来将其后的字符转变为其他的含义。
\b 退格 \u0008 ; \n 换行 \u000a ; \r 回车 \u000d ; \t 制表符(Tab) \u0009 ;
\ " 双引号 \u0022 ; \ ' 单引号 \u0027 ; \\ 反斜杠 u004c
boolean型,有两个常量值,true和false,在内存中占1个或4个字节,不能用boolean类型的变量存储其他的数据,不可以使用0或非0的整数代替ture和flase用来判断逻辑条件,一般用于程序流程控制。
public class TestBoolean{public static void main(String[] args){boolean b1=true;boolean b2=false;if(b1){System.out.println("b1是ture");}else{System.out.println("b1是false");}}
}