java 学习笔记 第三章 数组
1、数组:
在声明数组中 要指出数组的数据类型 和数组变量的名字
例:
int [] a;
或者
int a[]
上面语句只是声明了一个数组并没有将a 初始化一个真正的数组 应该使用 new 运算符创建数组
Int[] a = new int [100] ;
2、for each 循环 :”
格式 for (variable : collection ) statement
collection 这个集合必须是一个数组或者实现了一个 Iterable 接口类的对象
例如:
for(int element : a)
System,out.println(element);
3 、 数组的初始化
int [] samallPrimes = {1,2 ,3,4,45,5};
上面的方式创建了一个数组 并且用括号里面的值进行了初始化, 数组的大小就是初始值的歌个数
4、数组的拷贝
int [] luckyPrimes = luckyPrimes;
5、数组的排序 直接调用 Arrays.sort() 函数进行调用
下面直接介绍一个 sort 函数调用的例子
package hello;
import java.util.Arrays;
import java.util.Scanner;
public class LotteryDrawing {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in) ; //定一输入队形
System.out.println(" HOw many numbers do you want to draw =?");
int k = cin.nextInt();
System.out.println("What is the highest number do you want to draw?");
int n = cin.nextInt();
//下面开始进行时数组的输入
int[] numbers = new int[n] ;
for(int i = 0 ; i < numbers.length; i++)
{
numbers[i] = i + 1;
}
//下面是要随机产生的数据
int[] result = new int[k];
for(int i = 0 ; i < result.length; i++)
{
int r = (int) (Math.random()*n);
//上面是随机产生一个坐标
result[i] = numbers[r]; //把下表为r的数用掉了
numbers[r] = numbers[n-1];
n--;
}
//对数组进行排序
Arrays.sort(result); //对数组进行排序
//最后输出即可
System.out.println("Bet the Follwing combination . I'll make you rich");
for(int r: result)
{
System.out.println(r);
}
}
}
下面是java 核心技术 ComPoundInterest 的代码 主要就是算利息的 主要用到二维数组..
package hello;
public class CompoundTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int NRATES = 6;
final int NYEARS = 10;
final double STARTRATE = 10;
//需要几个数组
double [] interestRates = new double[NRATES];
for(int i = 0 ; i < interestRates.length; i++)
{
interestRates[i] = (STARTRATE + i)/100.0; //今后每一年 开始利息上升
}
//下面是工资 balance 数组
double[][] balance = new double[NYEARS][NRATES];
//开始对balance 进行初始化操作、
for(int i = 0 ; i < balance[0].length; i++)
{
balance[0][i] = 1000;
}
for(int i = 1; i < balance.length ; i++)
{
for(int j = 0 ; j < balance[i].length; j++)
{
double oldBalance = balance[i-1][j];
//下面开始计算利息
double interest = oldBalance *interestRates[j];
balance[i][j] = interest + oldBalance;
}
System.out.println();
}
//上面以及完成计算了下面就是要将其显示出来 如何显示依然是要
for(double[] row : balance)
{
for(double b : row)
{
System.out.printf("%10.2f", b);
}
System.out.println();
}
}
}