基础1(方法,数组,排序,查找)

来源:互联网 发布:幸运飞艇全天计划数据 编辑:程序博客网 时间:2024/05/16 17:55
方法:
格式:[修饰符] void 方法名([参数列表]){}
      
       [修饰符] 返回值类型 方法名([参数列表]){
 return 返回值类型
 }




 
 参数分类//参数参数即为参加的数
//实参:调用一个方法时实际传入的值。
//形参:定义在方法申明上,用来接收外界传入值的变量。


方法签名:方法名+参数列表
参数列表:参数类型,参数个数,参数顺序


是否需要返回值:取决于调用者是否需要方法执行的结果,或仅仅需要方法执行的过程。
什么时候输入参数列表:完成该功能所需多少和那些未知的参数






方法的调用:[类/对象].方法名(实参);


/*
      例:
 
      int sum(int a,int b){
 int c=a+b;
 return c;
 }
 调用:a=sum(1,1);
 */
 
 
 
 
 
方法重载:(overload)  
                 两同一不同
两同:返回值类型和方法名相同
一不同:输入参数列表不同
 
 
 
 
数组:用来装相同类型数据的集合或容器
/*堆栈:对一个变量,类或方法进行声明时,在堆中分配地址空间,但栈中不做分配,当对对此进行new操作时,在栈中分配地址空间。
            堆与栈之间成引用关系,类似于哈希存储中哈希表和存储空间的关系

示例:
int[] arr;                     //在堆中分配地址空间arr,栈中不做操作
arr=new int[4];          //为arr分配堆栈空间,初值为0,同时将堆地址放入栈中arr内
arr=new int[6];          //又进行new操作,重新在栈中为arr分配地址空间,并将此地址放入堆arr中,原地址被覆盖
*/


数组中的元素:都有角标/索引(index),从零开始
//注:数组输出时为   System.out.println("数组为---->"+Arrays.toString(arr));
//注:数组输出时亦可表示为 getMaxArr(new int[] {23,2,4,34,3,23,12,43,54,45,34}); 直接在里面代入一个匿名对象




/**写一个方法
    int getsum(int[] arr){return sum}
等同于
int getsum(int ...a){return sum}                ------>可变参数,当不知道参数个数时优先推荐使用可变参数,可代表从0到N个输入参数
一模一样的简便写法                                            使用特点:可变参数必须作为方法的最后一个参数,例:int getsum(String a,int ... b){}
*/






/**foreach的循环
Java5开始,提供了一个foreach的循环,又称增强型for循环
       格式:
                for(元素类型 变量名:数组名或interable实例){
 
}
 
  例程:
                Test20 t=new Test20();
               String[][] arr={
           {"白日依山尽,"},
           {"黄河入海流。"},
           {"欲穷千里目,"},
           {"更上一层楼。"}
               };
               t.test3(arr); 

void test3(String[][] arr){
                           for(String[] c:arr){
                             for(String b:c){
                         System.out.print(b);
                     }
                       System.out.println("");
                     }
                        }
*/




链式编程
class Test{
     
    Test test1(){
        //....
        return this;
    }
    Test test2(){
        //....
        return this;
    }
}
Test a=new test();
a.test1().test2();
/*
例程:
 public static void main(String[] arg){
 Test20 t=new Test20();
 t.test1().test2();
  } 
  Test20 test1(){
 System.out.println("张辉最帅!");
 return this;
  }
  Test20 test2(){
 System.out.println("还最牛逼!");
 return this;
  }
}
*/




排序:
选择排序:选择数组中的一个元素,默认该元素是该数组中的最大元素,与其后的每一个元素进行比较,若其大于后一个元素,交换俩元素的位置。
//依次将最小,第二小,第三小。。。的数放在队首
  public static void getMaxArr(int arr[]){
       for(int i=0;i<arr.length-1;i++){
      for(int j=i+1;j<arr.length;j++){
      if(arr[i]>arr[j]){
      int temp = arr[i];
      arr[i] = arr[j];
      arr[j] = temp;
      }
      }
       }
 }


冒泡排序:相邻俩元素进行比较,若前者大于后者则交换位置。
//元素如同水中冒泡一样,依次将最大,第二大。。。的元素放在队尾。
  public static void getMaxArr1(int arr[]){
 for(int i=0;i<arr.length-1;i++){
 for(int j=0;j<arr.length-1-i;j++){
 if(arr[j]>arr[j+1]){
 int temp=arr[j];
 arr[j]=arr[j+1];
 arr[j+1]=temp;
 }
 }
 }
  }
  
  
  
  
 /**
 Arrays是数组操作的一个工具类,一般而言,一个类的后面加上S多为工具类
 Arrays.sort(arr[])作为数组排序更为方便,且运算更少。
 
System 类包含一些有用的类字段和方法。它不能被实例化。 
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
*****java.lang下的类会被自动导入,而不需要手动导入(lang是language的缩写)*****
*/
0 0
原创粉丝点击