javaSE-关键字-变量-数据类型-005
一、什么是关键字?
关键字:sun公司在开发Java时,提前定义好了一些具有特殊含义的单词,这些单词全部小写,具有特殊含义,不能作为标识符,Java语言中所有的关键字都是小写;
Java语言中是严格区分大小写的:Public和public不一样
二、varible [?ve?ri?b(?)l] 变量
1、变量实质:是内存中存储数据的基本单元;本质上是一块内存空间,用于存储常量数据;包含数据类型、名称、字面值
2、变量要求:变量中存储的具体数据必须与“变量数据类型”一致,否则会报错
3、变量作用:内存空间得到了重复的使用:变量必须先声明,在赋值,才能能访问, int i;程序执行到这里,内存空间并没有开辟出来,变量i便没有初始化,所以没有赋值之前是无法访问的
4、变量三要素:变量的数据类型、变量的名字、变量中保存的值
5、变量名属于标识符:首字母小写,后面每个单词首字母大写,遵循驼峰命名方式,见名知意。
6、局部变量:在方法体中声明的变量(注意:局部变量只在方法体当中有效,方法体执行结束该变量的内存就释放了。)
成员变量:在方法体制外【类体制内】的变量
7、关于变量的作用域,大家可以记住一句话:出了大括号就不认识了。
8、java中有一个变量访问有一个很重要的原则:就近原则。(不仅java中是这样,其它编程语言都有这个原则。)哪个离我近,就访问哪个。
三、数据类型
数据类型分为两类:1、引用数据类型;2、基本数据类型;
1、引用数据类型:数组、类、接口(String:字符串型属于引用数据类型,不属于基本数据类型)
2、基本数据类型:整数型:byte-->short--> int--> long 浮点型:float-->double 布尔型:boolean 字符型:char
3、数据类型作用:声明变量,不同的数据类型,在内存中分配的空间大小不同。
四、基本数据类型使用注意事项
1、char‘字符型’字面值必须使用单引号括起来,属于文字
2、在java中:在任何情况下,(数字)整数型的“字面量/数据”默认被当做int类型处理。
3、浮点型“字面量/数据”默认当作double双精度浮点类型处理
4、char和short 表示的种类总数一样,只不过char可以表示更大的正整数。
5、byte、char、short做混合运算的时候,各自先转换成int再做运算。
6、多种数据类型做混合运算的时候,最终的结果类型是“最大容量”对应的类型。
7、char+short+byte 这个除外。因为char + short + byte混合运算的时候,会各自先转换成int再做运算。
4-1 基本数据类型char
1、char 变量 = 'a';只能是一个字母或正数;小数不行(1.8);两个汉字不行;两个字母不行'ab';单引号里面只能是一个字符
2、char x = 97;这个java语句是允许的,并且输出的结果是'a'
3、整数赋值给char类型变量,自动转换成char字符型,结果是一个字符。当整数没有超出byte short char的取值范围,整数可以直接赋值给byte short char类型的变量。
4-2基本数据类型 : int / float / double
1、在Java语言中“整数型字面值”被默认当作:int 类型处理,要让“整数型字面值”当作long类型需要在后面添加“L”
2、在Java语言中一个小数默认当作double类型值,如果为:float变量时需要在小数后面添加:F或f
4-3、数据类型之间的转换
1、boolean布尔数据类型不能与其他类型数据进行转换,其都能互相转换
2、自动转换:小容量向大容量转换
3、强制类型转换:大容量向小容量转换;小容量加括号;(小转大自动转 ;大转小强制转,小容量加括号;)
4、任何浮点型数据,无论占用多少字节,都比整数型容量大
5、强制类型转换:直接输出,小容量加括号,后面跟需要输出的变量System.out.println((int)fl);
4-4、转义字符反斜杠---> \
“\”反斜杠 : \转义字符,出现在特殊字符前面,会将特殊字符转为普通字符
\n------------------------------>换行
\t ------------------------------>制表符tab
\\------------------------------>普通反斜杠
\'------------------------------>普通单引号
\"---------------------------->普通双引号
五、应用数据类型:包装类
1、八种包装类属于引用数据类型,父类是Object。将基本数据类型 -(转换为)->引用数据类型(装箱),将引用数据类型--(转换为)-> 基本数据类型(拆箱)
2、Integer 包装类构造方法有两个:
第一个:Integer(int)---->Integer(234);
第二个:Integer(String)-----> Integer("123");
3、整数型常量池:java中为了提高程序的执行效率,将[-127到128](共计255个对象)之间所有的包装对象提前创建好,放到了一个方法区的“整数型常量池”当中了,目的是只要用这个区间的数据不需要再new了,直接从整数型常量池当中取出来。原理:x变量中保存的对象的内存地址和y变量中保存的对象的内存地址是一样的。
六、基本数据的容量大小排序;取值范围;以及对应的包装类
byte < short = char < int< long < folat < double ( 顺需要记住强制类型转换要用到 )八种基本数据类型区别是:占用的空间大小不同
byte和boolean是1个字节,short和char是2个字节,int和float是4个字节,long和double是8个字节
(1个字节)byte: [-128 ~ 127]
(2个字节)short: [-32768 ~ 32767] 可以表示65536个不同的数字
(4个字节)int: [-2147483648 ~ 2147483647]
(2个字节)char: [0~65535] 可以表示65536个不同的数字
short和char实际上容量相同,不过char可以表示更大的数字。因为char表示的是文字,文件没有正负之分,所以char可以表示 更大的数字。
j java语言为了支持全球所有的文字,采用了一种字符编码方式叫做unicode编码。unicode编码统一了全球所有的文字,支持所有文字。具体的实现包括:UTF-8 UTF-16 UTF-32....需要记住:
ASCII('a'是97 'A'是65 '0'是48...)
ISO-8859-1(latin-1)
GB2312
GBK
GB18030
Big5
unicode(utf8 utf16 utf32)
基本 数据 类型 |
基本 数据 类型 |
占用 字节 |
默认值 | 取值范围 | 对应的包装类属于 (引用数据类型) |
包装类型最大值 | 包装类型最小值 |
整数型 | byte | 1 | 0 | -128-127 | Byte------>(父类Number) | Byte.MAX_VALUE | Byte.MIN_VALUE |
short | 2 | 0 | -3228-3227 | Short----->(父类Number) | .MAX_VALUE | .MIN_VALUE | |
int | 4 | 0 |
-2147483648-2147483647 |
Integer---->(父类Number) | .MAX_VALUE | .MIN_VALUE | |
long | 8 | 0L | Long------> (父类Number) | .MAX_VALUE | .MIN_VALUE | ||
浮点型 | float | 0.0 | Float------>(父类Number) | .MAX_VALUE | .MIN_VALUE | ||
double | 8 | 0.0 | Double----->(父类Number) | .MAX_VALUE | .MIN_VALUE | ||
布尔型 | boolean | 1 | false/true | Boolean---->(父类Object) | .MAX_VALUE | .MIN_VALUE | |
字符型 | cahr | 2 | u\0000 | 0-65535 | Character--->(父类Object) | .MAX_VALUE | .MIN_VALUE |
六、单词累计
Integer |
[??nt?d??r] n |
整数 | reference | [?refr?ns] n | 参考 | false | [f??ls] adj | 错误的 |
float | [fl??t] n | 浮点型 | Method | /?meθ?d/ n | 方法 | archives | ['a:kaivz] | 档案 |
ClassLoader | 类加载 | task | [tɑ?sk] n | 任务 | arithmetic | [??r?θm?t?k] | 算术 |