1.Number 和 Math 类:
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。
相似的,编译器也可以把一个对象拆箱为内置类型。
Number 类属于 java.lang 包。
Java 中 int 和 Integer 的区别:
int 是基本数据类型,int 变量存储的是数值。Integer 是引用类型,实际是一个对象,Integer 存储的是引用对象的地址。
Math类:
Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
2.StringBuffer 和 StringBuilder 类:
首先我们来看一下Java的字符串string,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
使用方法:
String greeting = "菜鸟教程";
于是注意的是String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。
这是因为字符串string是常量,字符串长度不可变。Java中String 是immutable(不可变)的。用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。
当然了你可以:
String s = "Google";
System.out.println(s);
s = "Runoob";
System.out.println();
这段代码会输出
Runoob
这是因为s只是对Google这个string的引用而已,实际上java会自动创建Runoob,导致常量池里一共有两个string常量,这对程序优化不利(内存分配)。这也是为什么我们要学习StringBuffer 和 StringBuilder。
StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。(StringBuffer不能同步访问)
3.Java数组:
a.声明:
dataType[] arrayRefVar; // 首选的方法
dataType arrayRefVar[]; // 效果相同,但不是首选方法
具体例子:
double[] myList; // 首选的方法
double myList[];
当然了你也可以声明的同时创建数组:
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = {value0, value1, ..., valuek};
数组的元素是通过索引访问的。数组索引从 0 开始,所以索引值从 0 到 arrayRefVar.length-1。
b.应用:
(1)For-Each循环,和python的有点像,大体上就是不用下标的情况下自动游历整个数组。
(2)数组可以作为参数传递给方法。数组可以作为函数的返回值
(3)多维数组:可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组.
引用:https://www.runoob.com/java/java-array.html