黑马程序员——java基础之函数和数组

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


1.函数

定义:函数是定义在类中的具有特定功能的一段独立小程序。(函数也称为方法)
函数的格式:修饰符 返回值类型 函数名(参数类型 形式参数1,.......){
执行语句;
return 返回值;
}
函数的特点:
定义函数可以将功能代码进行封装;
便于对该功能进行复用;
函数只有被调用才会被执行;
函数的出现提高了代码的复用性;
对于函数没有具体返回值得情况,返回值类型用关键字void表示,那么该函数中的return语句如果在最后一行可以省略不写;
注意:函数中只能调用函数,不可以在函数内部定义函数;定义函数时,函数的结果应该返回给调用者,交由调用者处理。

函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或参数类型不同即可。
重载的特点:与返回值类型无关,只看参数列表。

2.数组

概念:同一种类型数据的集合,其实数组就是一个容器。
好处:可以自动给数组中元素从0开始编号,方便操作这些元素。
格式1:
元素类型[ ] 数组名 = new 元素类型[元素个数];
例:int[ ] arr = new int[5];
格式2:
元素类型[ ] 数组名 = new 元素类型[ ]{ 元素,元素,....};
int[ ] arr = new int[ ] {3,2,5};
int[ ] arr = {3,2,5};
数组中的数组:二维数组
格式1:int[ ][ ]  arr = new int[3][2]
格式2:int[ ][ ]  arr = new int[3][ ];
数组的遍历:
package zrl;

public class ArrayTest {

	
	public static void main(String[] args) {
		int[] arr = new int[]{1,3,5,8,12,6,9};
		//数组遍历
		for(int i = 0;i<arr.length;i++){
			System.out.println(arr[i]);
		}
	}

}
排序算法:
选择排序
•思想:每趟从待排序的记录序列中选择关键字最小的记录放置到已排序表的最前位置,直到全部排完。
•关键问题:在剩余的待排序记录序列中找到最小关键码记录。
public class 简单的选择排序 {
 
      public static void main(String[] args) {
          int[] a={49,38,65,97,76,13,27,49,78,34,12,64,1,8};
          System.out.println("排序之前:");
          for (int i = 0; i < a.length; i++) {
             System.out.print(a[i]+" ");
         }
         //简单的选择排序
         for (int i = 0; i < a.length; i++) {
             int min = a[i];
             int n=i; //最小数的索引
             for(int j=i+1;j<a.length;j++){
                 if(a[j]<min){  //找出最小的数
                     min = a[j];
                     n = j;
                 }
             }
            a[n] = a[i];
             a[i] = min;
             
         }
         System.out.println();
         System.out.println("排序之后:");
         for (int i = 0; i < a.length; i++) {
             System.out.print(a[i]+" ");
         }
     }
 
 }

冒泡排序

  1、基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

public class 冒泡排序 {
    public static void main(String[] args) {
         int[] a={49,38,65,97,76,13,27,49,78,34,12,64,1,8};
         System.out.println("排序之前:");
         for (int i = 0; i < a.length; i++) {
             System.out.print(a[i]+" ");
         }
         //冒泡排序
         for (int i = 0; i < a.length; i++) {
             for(int j = 0; j<a.length-i-1; j++){
                 //这里-i主要是每遍历一次都把最大的i个数沉到最底下去了,没有必要再替换了
                 if(a[j]>a[j+1]){
                     int temp = a[j];
                     a[j] = a[j+1];
                     a[j+1] = temp;
                 }
             }
         }
         System.out.println();
         System.out.println("排序之后:");
         for (int i = 0; i < a.length; i++) {
             System.out.print(a[i]+" ");
         }
     }
 }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值