引入包裹类型
之前学的4种基础类型:
- boolean
- char——字符
- int——整数
- double——浮点数
对应的包裹类型(首字母大写):
- Boolean
- Character
- Integer
- Double
包裹类型不同于基础类型的用处:
- 获得任意类型的最大最小值
Integer.MIN_VALUE
Integer.MAX_VALUE
int i = 10; Integer k = 10; k = i; System.out.println(Integer.MAX_VALUE);输出:
2147483647
这个输出的数是int能表达的最大值:
- int的内存是4个字节,32个比特(bit)
- int能表达的最大的值是2的31次方减1,最小值是-2的31次方
.点运算符——让一个类或对象做事
- 点左边是类或对象
- 点右边是提供的服务、数据、动作
例:
Integer.MAX_VALUE
a.length
介绍一些方便的用法:
// 是否数字 System.out.println(Character.isDigit('1')); // 是否字母 System.out.println(Character.isLetter('2')); // 是否字母或数字 System.out.println(Character.isLetterOrDigit('3')); // 是否小写 System.out.println(Character.isLowerCase('a')); // 是否大写 System.out.println(Character.isUpperCase('a')); // 是否空格 System.out.println(Character.isWhitespace(6)); // 转小写 System.out.println(Character.toLowerCase('A')); // 转大写 System.out.println(Character.toUpperCase('A'));输出:
true
false
true
true
false
false
a
A
课堂交流:
包裹类型变量是和基础类型一样是数据的所有者呢?还是和数组类型一样是数据的管理者呢?试试用程序实验来证明自己的观点。
转 m15522962525用户的验证程序:
package test; public class Main { public static void main(String[] args) { Integer a = 1; Integer b = a; b = 2; System.out.println(a); Character c = 'A'; Character d = c; d = 'B'; System.out.println(c); Boolean e = true; Boolean f = e; f = false; System.out.println(e); Double g = 1.1; Double h = g; h = 2.2; System.out.println(g); } }
运行结果:
- 1
- A
- true
- 1.1
--------------
他的分析:
1、对比数组一节知识;
2、发现当另外一个包裹变量指向起初的那个变量后,他所做出的变动,仅仅对他自己有效;
3、对起初的包裹变量无效;
4、这个和基础变量类似。
----------------
结论:
1、包裹变量和基础变量一样是所有者。