zoukankan      html  css  js  c++  java
  • 学习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里不叫函数叫方法。

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

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

  • 相关阅读:
    2月份热门的 24 个 jQuery 插件
    走近求伯君1 求伯君,1964年11月26日出生于浙江新昌县。
    转CSDN,13原则
    SQL Server数据库如何正确加密?
    Zend Studio提供zend studio教程、zend studio下载等相关资源的公益性站点。 订阅
    高端人才必看,生意人必读
    有速度才有效率,支持Google gear离线的网站和应用
    2009.08.20总结与微软中国开发部经理段老师的通话无锡德立解决方案
    从SOA、SaaS到博科自主配置平台
    MySQL 1045错误的解决方法
  • 原文地址:https://www.cnblogs.com/022414ls/p/11295298.html
Copyright © 2011-2022 走看看