欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门

程序员文章站 2022-06-20 08:54:44
1.Number 和 Math 类: 在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型(int,double,float这些)的情形。 这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。 相似的,编译器也可以把一个对象拆箱为内 ......

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();

这段代码会输出 

google

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)多维数组:可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组.

 

引用: