数组的应用,高级排序冒泡 以及面向对之封装

Java中的数组的应用,高级排序冒泡 以及面向对之封装

一 、数组

1、什么是数组?

  1. 用来存储一个或多个同一种类型的元素的容器。如下图,数组中的元素可以通过数组名加下标访问,例如:scores[2]=92;,scores[0]=76;
    在这里插入图片描述

2、数组的定义

  1. 数组的申明,语法有两种形式:数据类型[] 数组名;或 数据类型 数组名[];
  2. 初始化方式,分为静态初始化和动态初始化:
    1、静态初始化:数组名=new 数组类型{元素1,元素2,元素3…};一般可以简写为:数组名={元素1,元素2,元素3…}
    2、动态初始化:数组名=new 数据类型[数组长度];

3、数组的遍历
数组的遍历方式有两种:for遍历和foreach遍历
接下来用两种遍历方式分别演示遍历数组名为arr的数组

  1. 用for语句遍历名为arr的数组:
int[] arr=new int[4];
	for(int i;i<arr.length;i++){
		System.out.println(arr[i]);	
	}
  1. 用foreach遍历名为arr的数组:
int[] arr=new int[4];
	forint a:arr){
		System.out.println(a);
	}

二、冒泡排序

下面演示用Java语言实现对数组,{10,87,65,34,57} 进行冒泡排序,并将排好序的数组输出到控制台

class Draft1{
	public static void main(String[] args){
	Sort bubble=new Sort();					//创建对象bubble
	int[] arr={10,87,65,34,57};				//初始化数组
	bubble.bubbleSort(arr);					//使用bubble对象调用Sort类中的冒泡排序方法
	}
}
class Sort{
	//构造冒泡排序方法
	public void bubbleSort(int[] arr){		
		//依次拿出数组中的一个数遍历数组中的其他数进行比较
		for(int i=0;i<arr.length-1;i++){		
			for(int j=0;j<arr.length-1;j++){	
				if(arr[j]>arr[j+1]){		//拿前一个数和后一个数两两比较
				int z=arr[j];
				arr[j]=arr[j+1];			//数值小的数往前放
				arr[j+1]=z;					//数值大的数往后继续比较
				}
			}
		}
		//将冒泡排序的结果以“{元素1,元素2,元素3...}”的形式打印出来
		System.out.print("{");
		for(int x = 0 ; x < arr.length ; x ++){
			if(x== arr.length-1){
			System.out.println(arr[x]+"}") ;
			}else{
			System.out.print(arr[x]+", ") ;
			}
		}
	}
}

三、封装

1、什么是封装
封装指隐藏对象的属性和实现细节,仅对外提供公共访问方式.

2、使用封装的优点

  • 隐藏实现细节,提供公共的访问方式
  • 提高代码的复用性
  • 提高安全性

3、封装原则

  • 将不需要对外提供的内容都隐藏起来
  • 把属性隐藏,提供公共方法对其访问

4、private关键字

  • 是一个权限修饰符,可以修饰成员(成员变量和成员方法),被private修饰的成员只在本类中才能访问
  • 常见应用:把成员变量用private修饰,提供对应的getXxx() / setXxx()方法,一个标准的面向对象案例的使用。
    注意:
    1:这个时候写例子,局部变量名称不要和成员变量名称一致
    2:private仅仅是封装的一种体现,类和方法其实也是封装体
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值