Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门
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)多维数组:可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组.
引用:
上一篇: 漫谈认证与授权
下一篇: PHP fnmatch 文件系统函数