java 学习笔记 核心技术I

时间:2022-12-28 13:57:19


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

}