学习java之路5

本周学到了对数组的基本操作,包括遍历数组、填充替换数组元素、对数组进行排序、复制数组、数组查询,还有数组排序算法,

1、冒泡排序:基本思想是对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面,这样较小的元素就像气泡一样从底部上升到顶部;

算法实现:

public class BubbleSort {
   public static void main(String[] args) {
  // 创建一个数组,这个数组元素是乱序的
  int[] array = { 63, 4, 24, 1, 3, 15 };
  // 创建冒泡排序类的对象
  BubbleSort sorter = new BubbleSort();
  // 调用排序方法将数组排序
  sorter.sort(array);
 }
 

 public void sort(int[] array) {
  for (int i = 1; i < array.length; i++) {
   // 比较相邻两个元素,较大的数往后冒泡
   for (int j = 0; j < array.length - i; j++) {
    if (array[j] > array[j + 1]) {
     int temp = array[j];// 把第一个元素值保持到临时变量中
     array[j] = array[j + 1];// 把第二个元素值保存到第一个元素单元中
     array[j + 1] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
    }
   }
  }
  showArray(array);// 输出冒泡排序后的数组元素
 }
 

 public void showArray(int[] array) {
  for (int i : array) {// foreach格式遍历数组
   System.out.print(" >" + i);// 输出每个数组元素值
  }
  System.out.println();
 }
}

2、直接选择排序:

/**
 * 直接选择排序算法实例
 *
 * @author Li Zhong Wei
 */
public class SelectSort {
 public static void main(String[] args) {
  // 创建一个数组,这个数组元素是乱序的
  int[] array = { 63, 4, 24, 1, 3, 15 };
  // 创建直接排序类的对象
  SelectSort sorter = new SelectSort();
  // 调用排序对象的方法将数组排序
  sorter.sort(array);
 }
 
 /**
  *直接选择排序法
  *
  * @param array
  *            要排序的数组
  */
 public void sort(int[] array) {
  int index;
  for (int i = 1; i < array.length; i++) {
   index = 0;
   for (int j = 1; j <= array.length - i; j++) {
    if (array[j] > array[index]) {
     index = j;
    }
   }
   // 交换在位置array.length-i和index(最大值)两个数
   int temp = array[array.length - i];// 把第一个元素值保持到临时变量中
   array[array.length - i] = array[index];// 把第二个元素值保存到第一个元素单元中
   array[index] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
  }
  showArray(array);// 输出直接选择排序后的数组值
 }
 
 /**
  * 显示数组所有元素
  *
  * @param array
  *            要显示的数组
  */
 public void showArray(int[] array) {
  for (int i : array) {// foreach格式遍历数组
   System.out.print(" >" + i);// 输出每个数组元素值
  }
  System.out.println();
 }
}

再补充一点,java输入数组:

import java.util.*;

public class Shuzu{

public static void main(String [] args){

Scanner sc=new Scanner(System.in);

int a[]=new int [6];

for (int i=0;i<a.length;i++){

a[i]=sc.nextInt();

System.out.print(a[i]);

}

}

}

以及类与对象的一些知识,简单学了对象的概念,类,封装,继承,多态,类的成员变量、成员方法(就是c++里边的函数)、局部变量及其有效范围,this关键字、,类的构造方法,静态变量常量和方法;

倒是确定了一点,在java里不叫函数叫方法。

下周计划将类与对象学了和包装类。

有点草率了,请老师见谅。

原文地址:https://www.cnblogs.com/022414ls/p/11295298.html