数组

结构

形式一:int[] students = new int[300]

形式二:int students[] = new int[300]

  • 数组的使用:数组名【下标】–>数组元素

  • 四要素:数组名 下表 类型 数组元素

  • 数组的类型和数组元素的类型一致(兼容)

什么时候用数组

当多个元素类型相同,考虑用数组

数组长度一旦定义,则不能改变

数组的定义

  • int[] students = new int[]{97,98,99} ;//可拆

  • int[] students = {97,98,99} ;//此种形式不可以拆开写

数组的长度students.length;

左右两侧的类型必须一致,但是数据值只需要兼容(类型范围本身比其小的类型)即可

冒泡排序流程

冒泡排序2  12  4   20  1
冒泡排序流程:
第一趟:当前>下一个,如果是:交换a,2  4<->12  20  1b,2  4   12  1   [20]
第一轮比较完毕可以得到一个最大值
第二趟:a.2  4   1  [12]  [20]
第三趟:a.2  1  [4] [12]  [20]
第四趟:a.1 [2] [4] [12]  [20]总结:几轮?元素个数--->轮数5->44->33->22->11->0n->(n-1)每轮内部规则是什么

冒泡排序重要结论

n个元素排序,排n-1轮结束

二维数组

int[] [] cities = {{1,2,3},{1,2,3},{1,2,3}};

对象数组

Student[] students = new Student[]{stu1,stu2,stu3};

一个数组里面数组的元素是对象叫对象数组

方法

方法的定义

在面向对象编程中,将“具体”称为“对象”,将“抽象”称为“类“

多个对象,可以抽象出类

类和对象的组成部分:

​ 静态:属性 身高,体重,年龄

动态(功能):方法 吃饭,睡觉

类可以细分,但细分的产物并不一定是对象

结构

类 对象 = new 类();

Persion zs = new Person() ;

方法是多个对象共享的

属性是各个对象独有的

Person zs = new Person() ;

一般而言,对象 是指堆中的东西new Person()。

栈里面的 称位引用 zs(持有对象的内存地址)

但是根据Everything is an Object来说zs也是对象

new:实例化

对象使用前必须先实例化(new)

static的调用常见情况

同一个类中

static:静态方法

都有static,|或者都没有static |,或没static的掉有static的:直接调用\

有static不能直接调用 没有static的方法!!

不同的类

万能方法:new p 然后p.方法

如果被调用类有static可以直接用类名.方法名调用!

static方法是类级别的

非static方法是对象级别的

返回值

有返回值

pubilc 返回值类型 方法名(){

​ return 类型对应的数据;

}

调用有发牛只的方法时,需要接收返回值

package method;public class MethodReturn {public String a1() {String name = "zs";System.out.println(name);//返回值return name;}public void b() {//接收String name = a1();System.out.println("c" + name);}public static void main(String[] args) {MethodReturn method = new MethodReturn();method.b();}
}

无返回值(返回值为void)

package method;public class MethodReturn {public void a() {System.out.println("张三");}public void b() {a();}public static void main(String[] args) {MethodReturn method = new MethodReturn() ;method.b();}
}

面向对象编程:类和对象、将功能独立的写的写在方法中

参数

有参

单参

package method;
public class People {//形参public void sleep( String name){System.out.println( name+"睡觉");}public static void main(String[] args) {People zs = new People() ;zs.sleep("张三");//实参People ls = new People() ;ls.sleep("李四");}
}

参数越多越个性化

package method;
public class People {//形参public void sleep( String name,String place,String time){System.out.println( name+place+"睡觉--"+time);}public static void main(String[] args) {People zs = new People() ;zs.sleep("张三","山东","20:23");//实参People ls = new People() ;ls.sleep("李四","黑龙江","19:23");}
}

数组简化参数

多个元素的类型相同–>数组

package method;public class People {//形参//数组 infos = {name,place,time}public void sleep( String [] infos){System.out.println(infos[0]+infos[1]+"睡觉--"+infos[2]);}public static void main(String[] args) {People zs = new People() ;//创建参数数组String[] lsinfos ={"张三","家里","23:23"} ;zs.sleep(lsinfos);}
}

多个元素类型不同–> 类/对象

  1. MyInfo.java
package method;
public class MyInfo {String name ;String place;int time ;
}
  1. People.java
package method;
public class People {//形参//数组 infos = {name,place,time}public void sleep( MyInfo myInfo){System.out.println(myInfo.name+myInfo.place+"睡觉--"+myInfo.time);}public static void main(String args[]) {MyInfo info = new MyInfo() ;info.time = 23 ;info.place = "上海" ;info.name = "李四" ;People ls = new People() ;ls.sleep(info);}
}

无参

package method;public class People {public void sleep(){System.out.println("睡觉");}public static void main(String[] args) {People zx = new People() ;zx.sleep();People ls = new People() ;ls.sleep();}
}

四、数组定义/冒泡排序的理论/什么是方法相关推荐

  1. js二维数组定义和初始化的三种方法

    方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1",&quo ...

  2. 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...

    任意输入5个整数,利用冒泡排序法排序(从大到小) #include main() { int a[6]; /*定义一个整型数组.*/ int i,j,temp; /*定义循环变量和中间变量. 用jav ...

  3. 18 - java基初 数组介绍 冒泡排序

    文章目录 数组 1.数组的定义 2.数组声明创建 3.数组的初始化 1. 静态初始化 2. 动态初始化 3. 数组的默认初始化 4.数组的四个基本特点 5.数组边界 6.数组的使用 for循环 for ...

  4. js便利关联数组 及数组定义方式 分类

    "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=& ...

  5. python画数组曲线_python – 在matplotlib中如何填充由两组不同数组定义的两条曲线?...

    我有两组由两组数组定义的曲线:(x1,y1)和(x2,y2),我想用多边形填充它们.所有数组的长度相同,但x1和x2包含不同的值. plt.fill_between(x,y1,y2)要求两条曲线共享相 ...

  6. 在php中可以使用几种方法定义数组,PHP中数组定义的几种方法

    在php.html" target="_blank">php和其他编程语言中,需要常常使用数组创建,我们在前端开发中,js的数组创建可以由new array创建,下 ...

  7. shell函数与数组(了解函数,递归函数运用,了解数组,创建基数和偶数数组,冒泡排序,调试命令)

    文章目录 shell函数 了解函数 函数定义 递归函数 举例子 shell数组 定义数组 数组包括的数据类型与数组操作 数组操作 举例(快速创建数组.奇数数组) 冒泡排序法 调试命令 set命令 ba ...

  8. c语言实验四报告,湖北理工学院14本科C语言实验报告实验四数组

    湖北理工学院14本科C语言实验报告实验四 数组.doc 实验四 数 组实验课程名C语言程序设计专业班级 14电气工程2班 学号 201440210237 姓名 熊帆 实验时间 5.12-5.26 实验 ...

  9. php 数组的定义方法,PHP中数组定义的几种方法

    Array 数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种 ...

  10. C语言 二维数组定义和使用 - C语言零基础入门教程

    目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...

最新文章

  1. Promise对象的创建与使用
  2. Twice enter press click will trigger backend roundtrip
  3. 在个人Blog页面显示积分与排名
  4. 扫描网络计算机mac地址,局域网MAC地址查询扫描器
  5. edius隐藏快捷键_edius8常用快捷键有哪些|edius快捷键使用大全汇总 - 软件教程 - 格子啦...
  6. 批量修改文件夹名称的一部分
  7. 强化学习10——迭代学习
  8. 如何成为更高级别的iOS开发工程师?
  9. AD7606调试过程与源码
  10. 印象笔记目录导出(失败)
  11. Matlab——彩色图像的拼接与裁剪
  12. 16.15-S7-1200-开关量PWM的方式控制-固态继电器调节水温
  13. HTML页面添加背景音乐
  14. Linux云计算之OpenStack(Keyston - 认证服务)
  15. Python 实现 周志华 《机器学习》 BP算法(高级版)
  16. 川崎机器人signal_川崎机器人拆跺码垛程序
  17. Python实现抓狐狸小游戏
  18. tplink显示网络连接已断开_TP-Link无线路由器经常突然断开连接,如何解决?
  19. LabVIEW中的波形图和波形图表有什么区别在LabVIEW中更改波形图表的历史长度
  20. ClickHouse 在爱奇艺实时数仓的应用

热门文章

  1. caffe上手:修改已训练好的网络并训练模型
  2. 使用 NVIDIA GPU 的 OpenCV ‘dnn’:YOLO、SSD 和 Mask R-CNN 速度提高 1549%
  3. Python脚本编译为可跨平台、跨架构执行的字节码文件pyc方法
  4. resnet和densenet系列模型结构图可视化
  5. python 获取指定城市【昨日天气+未来15天预报天气+空气质量+气象数据】
  6. Python命令行程序项目自动化GUI显示操作神器Gooey实践
  7. 三种基于感知哈希算法的相似图像检索技术
  8. error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译
  9. linux getopt_long函数,新手疑问:getopt_long()重入问题
  10. java并发编程(9)-- 线程池 创建 参数