数组和排序
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]+"\t"); } 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 : 集合或数组){
循环体
}