Arrays类
Arrays类的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行条用,而“不用”使用对象来调用。
alt+enter//导入类的快捷键
冒泡排序
package com.array;
import java.lang.reflect.Array;
import java.util.Arrays;
public class Msort {
public static void main(String[] args) {
int[] a={1,3,5,7,8,9,2,4};
a=sort(a);
System.out.println(Arrays.toString(a));
}
public static int[] sort(int[] a) {
int temp = 0;
for (int i = 0; i < a.length-1; i++) {
boolean flag = false;
for (int j = 0; j < a.length -1-i; j++) {
if (a[j] < a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
flag = true;
}
}
if (!flag) {
break;
}
}
return a;
}
}
稀疏数组
package com.array;
public class Xsarray {
public static void main(String[] args) {
//输出原始的数组
int[][] a1=new int[11][11];
a1[1][2]=1;
a1[2][3]=2;
System.out.println("输出原始的数组");
charray(a1);
//输出稀疏数组
int sum=0;
for (int i = 0; i < a1.length; i++) {
for (int j = 0; j < a1[i].length; j++) {
if(a1[i][j]!=0){
sum++;
}
}
}
System.out.println("输出有效个数"+sum);
int[][] a2=new int[sum+1][3];
a2[0][0]=11;
a2[0][1]=11;
a2[0][2]=sum;
sum=0;
for (int i = 0; i < a1.length; i++) {
for (int j = 0; j < a1[i].length; j++) {
if(a1[i][j]!=0){
sum++;
a2[sum][0]=i;
a2[sum][1]=j;
a2[sum][2]=a1[i][j];
}
}
}
System.out.println("稀疏数组");
charray(a2);
//输出还原的数组
int[][] a3=new int[a2[0][0]][a2[0][1]];
for (int i = 1; i <a2.length ; i++) {
a3[a2[i][0]][a2[i][1]]=a2[i][2];
}
System.out.println("还原后的数组");
charray(a3);
}
public static void charray(int[][] a){
for (int[] ints : a) {
for (int anInt : ints) {
System.out.print(anInt+"\t");
}
System.out.println();
}
System.out.println();
}
}
面向对象
本质:以类的方式组织代码,以对象的组织(封装)数据
对象,是具体的事物,类是对象相同特征的集合,是抽象的。
而Java是先有类后有对象的。
方法
public:公共的,所有人都可以访问。修饰符
return:是方法的结束语,并返回一个结果
方法名:见名知意,驼峰命名
静态方法可以 类.方法 名调用
非静态的方法需要实例化这个类//new 类.方法 调用
动态方法在类实例化后再存在
实际参数和形式参数的类型要对应
java是值传递