Java基础语法(三)

来源:互联网 发布:高拍仪软件电脑摄像头 编辑:程序博客网 时间:2024/05/18 03:54
一 数组:
什么是数组呢,数组就是具有相同数据类型的一组数据的集合。比如说一排数字,java中把他们当做一个对象,对象的元素要具有相同的数据类型。数组还可以分为一维数组和二维数组。先介绍一维数组。
数组的声明方式有以下三种,记住数组的起始位置是0,不是1
黑马程序员----Java基础语法(三) - 君山 - 鲍凯歌
 看一下一维数组的常用使用方法

int a[]={2,3,4,5,6,7,8,9};
System.out.println(a.length);
Arrays.sort(a); //排序数组
int b=Arrays.binarySearch(a, 8); //找到这个元素的位置
System.out.println(b);
int alist[]=Arrays.copyOf(a, 4); // 复制特定范围的元素
for (int i : alist) {
System.out.println("*"+i); //便利输出元素
}
Arrays.fill(alist, 0); //往数组里面添加元素
System.out.println(Arrays.toString(a)); //把数组变成字符串打印

二维数组
二维数组我们可以理解为一个数据阵列

int a[][]=new int[2][2]; //二维数组的声明
a[0][0]=2; //逐个为二维数据添加元素
a[0][1]=3;
a[1][0]=4;
a[1][1]=5;
for (int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){ //遍历二维数组
System.out.print(a[i][j]);
}
System.out.println();
}

冒泡算法

int a[]={6,7,4,8,2,9,1,0,3,5};
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){ //j的初始大小是0,判断终止位置是长度减i
if(a[j]>a[j+1]){
int tmp=a[j];
a[j]=a[j+1]; //交换位置
a[j+1]=tmp;
}
}
}
for (int i : a) {
System.out.print(i+" "); //输出
}

二  数字处理类
数字格式化
DecimalFormat类
在Java中,如果数字大于千分之一或者小于一千万,那么将以常规小数的形式出现。如果超过了这个范围,那么将会用科学技术法展现。

public static void format(String pattern,double value){
DecimalFormat df1=new DecimalFormat(pattern);
String out=df1.format(value);
System.out.println(value+"按照"+pattern+"格式化后:"+out);
}
public static void main(String[] args) {
format("###.###",12345.6789);
format("000.###",12345.6789);
format("###.000",12345.6789);
format("###.#",12345.6789);
}

运算结果是:

12345.6789按照###.###格式化后:12345.679
12345.6789按照000.###格式化后:12345.679
12345.6789按照###.000格式化后:12345.679
12345.6789按照###.#格式化后:12345.7

函数运算

System.out.println(Math.cos(0)); //输出0的余弦
System.out.println(Math.toRadians(120)); //把角度转换成弧度
System.out.println(Math.exp(4)); //获取e的4次方
System.out.println(Math.log(9)); //获取以10为底9的对数
System.out.println(Math.sqrt(4)); //获取4的平方根
System.out.println(Math.cbrt(9)); //获取9的立方根
System.out.println(Math.pow(3, 2)); //获取3的平方
System.out.println(Math.ceil(6.7)); //获取大于该数的最小整数
System.out.println(Math.floor(7.8)); //获取小于改数 的最大整数
System.out.println(Math.rint(5.5));//获取最接近改数 的整数,如果有两个,取偶
System.out.println(Math.max(5.6, 6.4)); //返回最大值
System.out.println(Math.abs(-889.9)); //返回绝对值
System.out.println(Math.random()); //任意返回一个0到1的double数值

Random类和大数字运算
上面介绍了Math里面有产生随机数的函数,但是在实际使用当中,我们用的比较多的还是Random类,这是一个专门负责产生随机数的函数。

Random r=new Random(); //实例化一个对象
System.out.println(r.nextFloat()); //产生一个随机的单精度数
System.out.println(r.nextInt(10)); //产生一个大于0小于10的随机整数
System.out.println(r.nextBoolean()); //随机产生一个布尔型数值

大数字运算
我们知道基本数据类型Int只能处理2^31-1大小的数,而且还可能会丢失精度。为了处理更大的数值,Java中提供了BigInteger。

BigInteger it=new BigInteger("99999999999999999999");
System.out.println(it.multiply(new BigInteger("8888888888")));//乘法运算
System.out.println(it.divide(new BigInteger("9"))); //除法运算

另外一个类时BIgDecimal,他们都能实现大数字运算,不同的是,后者允许小数的出现。
这里不详细介绍了。
0 0