zoukankan      html  css  js  c++  java
  • 数组和排序

    1、Java不支持多维数组,但是可以通过声明数组的数组来实现同样的功能。

    package LESSON4;
    import java.util.Scanner;
    public class demo3 {
        /**
          length()是求String字符串对象中字符的个数,而length是求字符串数组中有多少个字符串。
         */
        public static void main(String[] args) {
            String str[][]={{"杨","羊","洋"},{"网","王","忘"},{"第","滴","地"}};
            for (int i = 0; i < str.length; i++) {//数组行数
                System.out.println(str[i]);//显示的是首地址
                for (int j = 0; j < str[i].length; j++) {//对应行长度
                    System.out.print(str[i][j]+"	");
                }    
                System.out.println();
            }
            String s="abcd";
            System.out.println(s.length());                
        }
    }

    2、注意:数组一旦创建,其长度就已经确定,是无法进行长度的修改的。注意:数组下标不能越界,否则ArrayIndexOutofBoundsException(数组下标越界异常)
    3、整数类型缺省值:0,浮点类型缺省值:0.0,布尔类型缺省值:false, 字符类型缺省值:' ',字符串类型缺省值:null 。

    4、main方法参数String[]args

    package ceshi;
    //java规定main方法参数必须为字符串数组(String [ ]),变量名可以随意,通常使用args即是arguments(”参数“的复数形式)的缩写。
    // 参数String[ ] args的作用就是可以在main方法运行前将参数传入main方法中。
    public class demo {
        public static void main(String[] args) {
            demo demo=new demo();
            demo.main("男");//调用重载的main方法
            for (int i = 0; i < args.length; i++) {
                System.out.println(args[i]);
            }    
        }
        //方法重载
        public static void main(String args){
            System.out.println(args);    
        }
    }

    给数组args赋值输出:鼠标右键Run As->Run Configurations打开界面

    然后输入数组内容,最后点击Run按钮。

    运行结果:


    5、冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面,第三趟比较的时候,只需要比较除了最后两个数以外的其他的数,以此类推……也就是说,没进行一趟比较,每一趟少比较一次,一定程度上减少了算法的量。

    package LESSON4;
    public class exercise4 {
        public static void main(String[] args) {
            int a[]={1,7,9,11,13,15,17,19};
            int b[]={2,4,6,8,10};
            int c[]=new int[a.length+b.length];
            for (int i = 0; i < a.length; i++) {
                c[i]=a[i];            
            }
            for (int i = 0; i < b.length; i++) {
                c[a.length+i]=b[i];
                
            }        
            //排序,冒泡
    //        for (int i = 0; i < c.length-1; i++) {//遍数
    //            for (int j = 0; j < c.length-1-i; j++) {//次数
    //                if(c[j]>c[j+1]){//升序
    //                    int t;
    //                    t=c[j];
    //                    c[j]=c[j+1];
    //                    c[j+1]=t;                    
    //                }                
    //            }            
    //        }
    //选择排序 for (int i = 0; i < c.length-1; i++) {//遍数 for (int j = i; j < c.length; j++) {//次数 if(c[j]>c[i]){//降序 int t; t=c[i]; c[i]=c[j]; c[j]=t; } } } for (int i = 0; i < c.length; i++) { System.out.println(c[i]); } } }

    6、增强for循环

    for(元素类型 e : 集合或数组){

    循环体

    }

  • 相关阅读:
    进程同步&&进程互斥
    CHAP4 字符串和格式化输入输出
    记录学习到的内容
    数据链路层 差错控制
    二叉树的顺序存储
    Java复习笔记
    Stream流
    函数式接口
    网络编程
    接口,多态,抽象类总结
  • 原文地址:https://www.cnblogs.com/qfdy123/p/10919887.html
Copyright © 2011-2022 走看看