基本数据类型
java中的基本数据类型有: int (整形), long (长整型),short (短整型),byte (字节型),double (双精度浮点型) ,float (单精度浮点型) char (字符型) boolean (布尔型);
byte 、int 、 short 、 long
int (整形), long (长整型),short (短整型),byte (字节型)这几个类型通常用来表示没有小数的整数 ;
- 所占字节数:int (占4个字节) 、byte(占1个字节)、short(占2个字节) 、long(占8个字节)
- 表示范围的大小从小到大排序 :byte(表示的范围) < short (表示的范围) < int (表示的范围) < long (表示的范围) ;
- byte 可以表示的范围为 -128 ~ 127 ;
byte by = -128 ;
byte by2 = 127 ;
byte by3 = 128 ; //像这样超出范围的就会报错
- long
定义long类型的变量时 ,在其值后面加大写L或小写的l (推荐大写L)
long l = 123l ; // 小写的l容易看成是数字1
long l2 = 123L ;
float、 double
有了表示整数的类型就有表示小数的类型 ,float (单精度浮点型) 、double(双精度浮点型),
double 表示小数的范围就比float更大 ;
- 所占字节数:float (占4个字节)、double(占8个字节)
- float
在我们定义float类型的变量时可能会发现编译器会报错;
float flo = 1.1 ; //这一行代码会报错
float flo1 = 1 ;
double dou = 1.1 ;
因为 像 1.1这样带小数的数,会默认为是double类型的 ,而float类型占4个字节,double占8个字节,我们把一个8字节的类型赋给一个4字节的类型肯定是不行的,所以要在赋给变量的值后面加一个f或F ;
float flo = 1.1f ;
float flo1 = 1.1F ;
要点:
- java各个数据类型所占的字节数即使在不同位数的机器里所需要的字节数都是相同的 ,(例如 int , 在32位的机器上需要占4个字节 ,在64位的机器上也一样是需要占4个字节)
- char 类型的数据没有负数 ,不能表示负数 ,所以char 能表示的范围为 :0 ~ 2^16 -1 ,( 而 int , float 等类型 是可以表示负数的 ,例如 int 能表示的范围 为 : - 2^31 ~ 2^31-1)
- boolean 布尔型的 值只有 true 和 false (用来表示对和错),没有明确规定占几个字节 ;(和c语言里不同 ,c语言里可以用 0 来表示false ,非 0的数字 表示 true ,java里 true 就是 true ,false 就是 false ,不能用0 和非0 来表示);
- java 里 没有long long这个类型 ;
String
String 字符串类型 , 是用来表示字符串的类型 (注意开头的S要大写)
// String 类型变量的定义和赋值
String a = "123" ;
String a1 = "张3" ;
String a3 = "li si" ;
// 直接赋值 , 输入法英文状态下的双引号引住的就是字符串;
String b = "" + 456 ;
//双引号加 内容 ,(这里的 “ + ” 加号相当于 拼接的意思 ,这样相当于 b = "456" )
String c = String.valueOf(789) ;
// 调用 方法 赋值 , 这样相当于 c = "789 " ;
System.out.println(a);
System.out.println(a1);
System.out.println(a3);
System.out.println(b);
System.out.println(c);
最后输出的结果如下
//c语言里就没有字符串这种类型
要点:
- 用英文状态下的双引号引起来的单个或多个叫字符串,单引号引起来的单个字符是char类型的字符; (例如 : "zhangsan" , 这个是字符串 ; 'A' , 这个是字符A ; 而 “zhangsan” 和 ‘A’ ,这两个是错误的, 看双引号和单引号来分辨)
//例如
String a = "zhangsan" ;
String b = "A" ;
String c = "1" ;
// 输入法英文状态下的双引号引起的是字符串 ,双引号里可以有一个或多个字符
char d = 'A' ;
char e = '2' ;
//输入法英文状态下的单引号引起的是字符 ,单引号里只能有一个字符;
String f = “zhangsan” ;
char f1 = ‘A’ ;
//这两个字符串和字符 就是用了错误的引号,仔细看就可以看出和前面5个的区别 ;