• 【幻化万千戏红尘】qianfengDay11-java基础学习:数组,排序,算法


    查找:二分查找

    课程回顾:

    面向对象:封装、继承、多态

    重载和重写

    this和super

    static和final

    抽象类和接口

    对象转型:向上,向下

    内部类:

    成员内部类

    匿名内部类

    静态内部类

    局部内部类

    今日内容:

    数组:存储一组相同数据类型的数据结构

    是引用数据类型

    变与不变:

    变:数组的元素的值可以改变

    不变:数组的长度不可改变

    使用数组的前提:

    1、确定要存储的数据类型

    2、确定长度

    数组创建方式:

    1、静态化创建

    格式:数据类型[] 数组名={值1,值2,……};

    2、动态化创建

    声明格式:

    数据类型[] 数组名;

    数据类型 数组名[];

    初始化格式:

    数组名=new 数据类型[长度];

    格式:数据类型[] 数组名[=new 数据类型[长度]];

    length:长度,数组中元素的个数

    下标:索引,位置:从0开始,范围:[0,length-1];

    索引的范围不能超出,否则会报数组越界异常

    获取数组元素值的格式:

    数组名[索引值];

    增强for循环:

    遍历输出数组的元素的值

    格式:for(数组元素的数据类型 变量名:数组名)

    {

    变量名记录的值就是数组中各个元素的值

    }

    优点:精简代码,全输出

    缺点:无法访问索引

    数组存储的可以是基本数据类型,也可以是引用数据类型(包括自定义的类)

    数组存储的什么类型的数据那么元素就是什么类型的数据

    练习:创建Student类,属性自定义,方法若干,请使用数组存储3名学生,并遍历输出

    算法:

    1、排序

    1、冒泡排序

    相邻的2个元素依次进行比较,将符合规则的放在左边或右边

    核心代码:

    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])

    {

    交换

    }

    }

    }

    2、选择排序

    每趟从待排序的元素中选择最小值(最大值)放在左边或右边

    3、插入排序

    每次都是将arr[i],和之前的数据进行比较,符合就插入到arr[0]到arr[i-1]

    2、查找

    1、顺序查找

    就是按照索引的顺序,获取对应的元素的值进行比较找到就返回索引

    2、二分查找

    根据指定的起始索引和终止索引,计算中间索引,并且验证中间索引对应的值和要查找的值的关系

    等于就找到了,其他就修改起始索引或终止索引的值

    Arrays:数组工具类

    包含一些操作数组对象的静态方法

    常用:

    sort:排序

    toString:将指定数组对象转换为字符串

    binarySearch:二分查找

    copyOf:复制数组

    命令行参数:main方法的参数

    是一个数组,等价于可变参数

    在java命令的时候,方可传值

    可变参数:数量可以改变的参数

    格式:数据类型... 参数名

    在方法内部是一个数组

    可变参数:

    在实际调用中,可以不传递实参,也可以传递多个

    还能只能传递数组对象

    一个方法最多只有一个可变参数

    ,并且可变参数只能是最后一个参数

    扩展:

    命令行参数

    可变参数

  • 相关阅读:
    验证用户名,要求 1、不能为空 2、不能小于6位数大于20位数 3、首字母不能大写
    用js实现表格的增删改
    博客园开通同城园友功能如何?
    .NET 工具集合
    2010年终总结报告
    在JavaScript中实现命名空间。
    在 JavaScript 实现多播事件、属性设置/读取器
    听过 PHPRPC 吗?试试我的 Hign!
    用 WCF 实现多层服务架构平台——客户层演示
    用 WCF 实现多层服务架构平台——业务适配器。
  • 原文地址:https://www.cnblogs.com/weigongcheng/p/5735854.html
Copyright © 2020-2023  润新知