基本数据类型
一、数据类型概述
1、编码发展
ASCII码–>
随着计算机发展出现:
ISO-8859-1(latin-1)
随着计算机向亚洲发展,开始逐渐支持中文:
GB2312–>GBK–>GB18030
支持繁体中文:大五码
后来出现了一种编码方式统一了全球所有文字,容量较大,这种编码方式叫做unicode编码。unicode编码方式由多种具体实现。
UTF-8,UTF-16,UTF-32
2、基本数据类型的取值范围:
类型 | 范围 |
---|---|
byte | -128~127 |
short | -32768~32767 |
int | -2147483648~2147483647 |
long | |
float | |
double | |
boolean | true/false |
char | 0~65535 |
3、基本数据类型的默认值,向0看齐
数据类型 | 默认值 |
---|---|
byte,short,int,long | 0 |
float,double | 0.0f/0.0d |
boolean | false |
char | \u0000 |
4、转义字符
关于java语言中的char类型,转义字符
转义字符:
反斜杠在java语言中具有转义功能
转义字符出现在特殊字符之前,会将特殊字符转义
\n 换行 \t制表符 '单引号 "双引号 \反斜杠
5、JDK中的native2ascii将字符转化为unicode编码
二、类型之间的转换
-
在类体中定义的变量,系统会自动赋初值,向0看齐。
public class DataTypeTest01 { //这里的static必须要加 static int k = 1000; // 1、成员变量没有赋值,系统会自动赋值,向0看齐 // byte 0 // short 0 // int 0 // long 0 // char \u0000 static int f; public static void main(String[] args){ /* int i; //局部变量 System.out.println(i) */ System.out.println(f); //0 //2、定义一个char类型的变量,起名c,同时赋值为a char c = 'a'; System.out.println(c); //3、一个中文占用2个字节,char类型正好是2字节 //所以java中的char类型变量可以存储一个中文字符 char x = '中'; System.out.println(x); } }
-
java中的char类型
/* 关于java语言中的char类型,转义字符 转义字符:\ 反斜杠在java语言中具有转义功能 转义字符出现在特殊字符之前,会将特殊字符转义 \n 换行 \t制表符 \'单引号 \"双引号 \\反斜杠 */ public class DataTypeTest02 { public static void main(String[] args){ char c1 = 'n'; System.out.println(c1); char c2 = '\n'; //并不是一个字符串\n,表示换行 System.out.println(c2); //System.out.println() //具有换行功能,输出以后换行 //System.out.print() //输出但是不换行 char x = 't'; // \t代表制表符,tab键 char y ='\t'; System.out.print(x); System.out.print(y); System.out.println('B'); char z = '\\'; System.out.println(z); //char a = ''; //报错:java中不允许这样写 //char a = '''; //报错:第一个单引号和第二个单引号配对,最后的单引号找不到另一半 char b = '\''; System.out.println(b); System.out.println("\"Hello World!\""); char m = '中'; System.out.println(m); char n = '\u4e2d'; System.out.println(n); char c10 = '\u0000'; //空字符 System.out.println(c10+1); //在java语言中整数表现形式有三种 //1、十进制:是一种缺省的表现形式 //2、八进制:以0开始 //3、十六进制:以ox开始 int d = 10; int e = 010; int f = 0x10; System.out.println(d); System.out.println(e); System.out.println(f); //在java语言中,整数默认为int类型进行处理,不能超出int类型的实际范围, //超出实际范围时需要在整数最后加l/L;推荐使用L //123这个整数属于int类型 //i声明时也是int类型, //所以不存在类型转换 int i = 123; System.out.println(i); //457是int类型 //y声明时是long类型 //小容量可以自动转换为大容量,存在类型转换 long j = 457; System.out.println(j); //2147483647字面值是int类型,占用4个字节 //y是long类型,占用8个字节,会自动类型转换 long c11 = 2147483647; System.out.println(c11); //错误: 过大的整数: 2147483648 // long c12 = 2147483648; //处理: long c12 = 2147483648L; System.out.println(c12); } }
-
java中的变量需要先声明,再赋值
直接在类体中声明的变量叫做成员变量,在方法体中声明的变量叫做成员变量。同一个变量只能声明一个,不能重复声明。
-
类型之间的转换
/* 关于基本数据类型之间的互相转换:转换规则 1、八种基本数据局类型当中除布尔类型之外剩余的7中类型之间都可以相互转换。 2、小容量向大容量转换,称为自动类型转换,容量从小到大排序: byte < short < int < long < float < double char< 注: 任何浮点类型不管占用多少字节,都比整数型容量大 char和short可表示的种类数量相同,但是char可以取更大的正整数。 3、char c=97; //a 4、当整数字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量 5、byte,short,char混合运算的时候,各自先转换成int类型再做运算 6、多种数据类型混合运算,先转换成容量最大的那种类型,再做运算。 */