前言:昨天学习的内容没有保存的我哭了,今天去确实是第三天。
数组的定义
public class ArrayDemo {
public static void main(String args[]){
int data[] = new int [] {1,2,3,4,5};
for ( int x = 0;x < data.length;x++){
System.out.println(data[x]);
}
for ( int temp : data) { //不会出现先数组越界
System.out.println(temp);
}
}
}
数组操作
class Arrrayutils{
private int sum;
private double avg;
private int max;
private int min;
public Arrrayutils(int data[]){
this.max = data[0];
this.min = data[0];
for (int x = 0;x<data.length;x++){
if (data[x]>max){
this.max = data[x];
}
if (data[x]<min){
this.min = data[x];
}
this.sum += data[x];
}
this.avg = this.sum/data.length;
}
public int getSum(){
return this.sum ;
}
public double getAvg(){
return this.avg ;
}
public int getMin(){
return this.min ;
}
public int getMax(){
return this.max ;
}
}
}
public class ArrayDemo1{
public static void main(String arg[]){
int data[] = new int[]{1,2,3,4,5};
Arrrayutils util = new Arrrayutils(data);//数据计算
System.out.println("总和"+util.getSum());
System.out.println("平均"+util.getAvg());
System.out.println("最大"+util.getMax());
System.out.println("最小"+util.getMin());
}
}
数组排序
public static void sort(int data[]){
for (int x = 0;x<data.length;x++) {
for (int y = 0; y < data.length - 1; y++) {
if (data[y] > data[y + 1]) {
int temp = data[y];
data[y] = data[y + 1];
data[y + 1] = temp;
}
}
}
数组转置
public static void reverse(int data[]){
int center = data.length / 2;
int head = 0;
int tail = data.length-1;
for (int x = 0;x <center ;x++){
int temp = data[head];
data[head] = data[tail];
data[tail] = temp;
head++;
tail--;
}}
**简单排序:冒泡排序、选择排序、插入排序
高级排序:快速排序、归并排序、希尔排序
相关算法知识:划分、递归、二分查找**