JAVA基础篇(1)——【数组的实现及操作】

本系列文章将从JAVA基础知识讲解,到框架讲解,最后到项目实战!

第一步:自学最基础的JAVA知识

在根据本系列文章学习之前,需要自学一些最基础的东西,如:学会配置开发环境,学会安装开发软件,JAVA中的关键字,运算符,基本循环等,在他人博客里这类基础知识都详细讲解。具体细节基础知识学习推荐如下图:

需自学的基础

第二步:正式依据本系列文章学习JAVA,从数组开始。

(1)什么是数组

所谓数组,是有序的元素序列,是用于储存多个相同类型数据的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。这些无序排列的同类数据元素的集合称为数组。

(1)数组的定义,赋值。

方式一:静态赋值

        int arr1[]={1,2,3,4,5};
        for(int i=0;i<5;i++){
            System.out.println(arr1[i]);            
        }    

方式二:动态赋值

//数组的动态赋值  方法2
		int[] arr2=new int[5];
		arr2[0]=1;
		arr2[1]=3;
		arr2[2]=5;
		arr2[3]=90;
		arr2[4]=11;
		for(int i=0;i<5;i++){
			System.out.println(arr2[i]);			
		}

(2)数组的增强for循环

//数组的增强for循环  主要为了遍历数组和集合,并不能对数组或者集和中的元素进行操作
		//增强for循环
		int[] arr3={11,22,33,44,55};
		for(int num:arr3){
			System.out.print(num+" ");	
			num=10;
		}
    	//普通for循环	
		for (int i = 0; i < arr3.length; i++) {
			System.out.print(arr3[i]);				
		}

(3)数组的排序(经典的冒泡排序为例)

public class ArraySort {

	/**
	 * name张先生
	 * 数组排序
	 * 2018\7\24
	 * @param args
	 */
	public static void main(String[] args) {
		//数组赋值
		int arr[]=new int[5];
		@SuppressWarnings("resource")
		Scanner enter= new Scanner(System.in);
		System.out.println("请输入5个数组变量:");
		for (int i = 0; i < arr.length; i++) {
			int num = enter.nextInt();	
			arr[i]=num;	
		}	
		
		//无序数组输出
	    System.out.println("输出无序数组");
	    for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] );	
		}
	    System.out.print("\n" );	
		//冒泡排序算法
	    int temp1;
	    for(int i=0;i<4;i++){
	    	temp1=arr[0];
	    	for(int j=0;j<4-i;j++){
	    		if(arr[j+1]<arr[j]){
	    			temp1=arr[j+1];
	    			arr[j+1]=arr[j];
	    			arr[j]=temp1;
	    		}	
	    	}
	    	
	    }
	    
	    //冒泡排序输出
	    System.out.println("冒泡排序结果:");
	    for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] );
		}
	 }
}

(4)数组的顺序查找和二分查找

public class StaArray {
	
	public static void main(String[] args) {
		int[] array={1,2,3,4,5,6,7,8};	
		search1(array,7);
		search2(array,2);
	}
	//顺序查找
	public static void search1(int[] a,int b){
		 for (int i = 0; i < a.length; i++) {
			 if(b==a[i]){
				 System.out.println("顺序查找该数字的位置:"+(i+1));
			 }
		}	
	}
	
	//二分查找
	public static void search2(int[] a,int b){
		int mid,low,high;
		low=0;
		high=a.length-1;
		mid = (int)(low+high)/2;
		while(true){			
			if(b==a[mid]){
				System.out.println("二分法该位置在:"+mid+1);	
				break;
 			}else 
 			if(b<a[mid]){
 				high=mid-1;
 			}else
 			if(b>a[mid]){
 				low=mid+1;				
 			}
			
		}	
	}
}

(5)可变参数的使用

public class Varargs {	
	public static void main(String[] args) {
		System.out.println(add(1,2));
		System.out.println(add(3,7,9));		
	}
	public static int add(int ... a){			
		int sum= 0 ;
		for (int i = 0; i < a.length; i++) {
			sum+=a[i];
		}
		return sum;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39077728/article/details/81201645
今日推荐