引入包裹类型
之前学的4种基础类型:
- boolean
- char——字符
- int——整数
- double——浮点数
对应的包裹类型(首字母大写):
- Boolean
- Character
- Integer
- Double
包裹类型不同于基础类型的用处:
- 获得任意类型的最大最小值
Integer.MIN_VALUE
Integer.MAX_VALUE
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、包裹变量和基础变量一样是所有者。