JAVA数据类型
· 基本数据类型:具体数字单元
整型:默认0 ; 另:从短到长 byte short int long
浮点型:默认0.0
布尔型:默认false
字符型:默认’\u0000’
进行数据传输或者文字编码转换的时候用byte类型
处理中文最方便的是char
描述内存或文件大小,描述表的主键列(自动增长)可以使用long
· 引用数据类型:数组、类、接口
所有的引用类型默认都为null
整型
public class Hello {
public static void main(String args[]){
int max = Integer.MAX_VALUE; //获取int的最大值
int min = Integer.MIN_VALUE;
System.out.println(max); //2147483647
System.out.println(min); //-2147483648
System.out.println("-----------------");
System.out.println(max+1); //-2147483648 最大值+1=最小值
System.out.println(max+2); //-2147483647 最大值+2=次小值
System.out.println(min-1); //2147483647 最小值-1=最大值
System.out.println(min-2); //2147483646 最小值-2=次大值
//即若超过最大的保存范围,则出现循环问题,java中称为数据溢出
}
}
解决溢出:
- 预估数据范围,发现可能溢出则使用范围更大的long型数据类型定义变量。
- 将加数(常量,默认为int型)进行数据类型转变:
System.out.println(max+1L);
注意这里的数据类型转换时,理论上使用大小写的L都可以,但是实际编码中,小写l容易被认成1,所以一般使用大写L进行数据类型转换
从大范围数据类型转换到小范围需要手动强制转换(如果不必要,不建议这样转换):
long i = 23;
int l = (int)i;
浮点型
小数被定义的时候是double类型
如果float i = 1.2;则会发生数据类型的转换
若报错则:float i = (float)1.2;(或者float i = 1.2F;)可解决
字符型 char
单引号内的内容
任何编程语言中,字符都可以与int进行互相转换
大写字母的范围:‘A’(65)~‘Z’(90)
小写字母的范围:‘a’(97)~‘z’(122)
数字范围:‘0’(48)~‘9’(57)
可以发现大小写对应字母之间差了32个数字的长度,可以利用此实现大小写的互相转换。
注意,java中的char可以保存中文数据,是因为java使用的是Unicode这种十六进制的编码,所以很方便
布尔型
取值范围只有两个:true、false【0和非0在java中不好使了,在没有boolean类型的语言中可以这样用】
String字符串
双引号内的内容
任何语言都没有字符串这种基本数据类型,它不算数据类型,只能说是一种数据操作。由于String类比较特殊,所以可以像普通变量那样采用直接赋值的方式进行字符串的定义,用双引号进行字符串描述。
可以使用“+”来进行字符串的连接。用来连接字符串时,被连接的字符串对象用""括起来;表达式对象用()括起来:如果不扩的话默认是字符串类型的数据互相连接【int类型的与String类型的进行运算自动转换类型为String的,在下面的例子中,int型的常量转变为String类型的
System.out.println("输出结果"+1+2);
输出结果12
正确的编写应该是:
System.out.println("输出结果"+(1+2));
输出结果3
描述字符串的时候可以使用转义字符进行一些处理:
例如:制表符:(\t)、":(")、’:(’)、换行(\n)、\(\)来描述
System.out.println("我可以,\n我一定可以");//换行的转移操作
System.out.println("我可以,\"我\"一定可以");//双引号的转义字符
//双引号一般是String字符串的标志,如果想表示,可以用这种转义字符来进行表示
System.out.println("\t我可以,我一定可以");//制表符的转义操作
输出: