四、数组定义/冒泡排序的理论/什么是方法
数组
结构
形式一
: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);}
}
多个元素类型不同–> 类/对象
- MyInfo.java
package method;
public class MyInfo {String name ;String place;int time ;
}
- 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();}
}
四、数组定义/冒泡排序的理论/什么是方法相关推荐
- js二维数组定义和初始化的三种方法
方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1",&quo ...
- 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...
任意输入5个整数,利用冒泡排序法排序(从大到小) #include main() { int a[6]; /*定义一个整型数组.*/ int i,j,temp; /*定义循环变量和中间变量. 用jav ...
- 18 - java基初 数组介绍 冒泡排序
文章目录 数组 1.数组的定义 2.数组声明创建 3.数组的初始化 1. 静态初始化 2. 动态初始化 3. 数组的默认初始化 4.数组的四个基本特点 5.数组边界 6.数组的使用 for循环 for ...
- js便利关联数组 及数组定义方式 分类
"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv=& ...
- python画数组曲线_python – 在matplotlib中如何填充由两组不同数组定义的两条曲线?...
我有两组由两组数组定义的曲线:(x1,y1)和(x2,y2),我想用多边形填充它们.所有数组的长度相同,但x1和x2包含不同的值. plt.fill_between(x,y1,y2)要求两条曲线共享相 ...
- 在php中可以使用几种方法定义数组,PHP中数组定义的几种方法
在php.html" target="_blank">php和其他编程语言中,需要常常使用数组创建,我们在前端开发中,js的数组创建可以由new array创建,下 ...
- shell函数与数组(了解函数,递归函数运用,了解数组,创建基数和偶数数组,冒泡排序,调试命令)
文章目录 shell函数 了解函数 函数定义 递归函数 举例子 shell数组 定义数组 数组包括的数据类型与数组操作 数组操作 举例(快速创建数组.奇数数组) 冒泡排序法 调试命令 set命令 ba ...
- c语言实验四报告,湖北理工学院14本科C语言实验报告实验四数组
湖北理工学院14本科C语言实验报告实验四 数组.doc 实验四 数 组实验课程名C语言程序设计专业班级 14电气工程2班 学号 201440210237 姓名 熊帆 实验时间 5.12-5.26 实验 ...
- php 数组的定义方法,PHP中数组定义的几种方法
Array 数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种 ...
- C语言 二维数组定义和使用 - C语言零基础入门教程
目录 一.二维数组简介 二.定义二维数组并初始化 1.定义二维数组 2.初始化二维数组 三.访问二维数组 四.修改二维数组 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 & ...
最新文章
- Promise对象的创建与使用
- Twice enter press click will trigger backend roundtrip
- 在个人Blog页面显示积分与排名
- 扫描网络计算机mac地址,局域网MAC地址查询扫描器
- edius隐藏快捷键_edius8常用快捷键有哪些|edius快捷键使用大全汇总 - 软件教程 - 格子啦...
- 批量修改文件夹名称的一部分
- 强化学习10——迭代学习
- 如何成为更高级别的iOS开发工程师?
- AD7606调试过程与源码
- 印象笔记目录导出(失败)
- Matlab——彩色图像的拼接与裁剪
- 16.15-S7-1200-开关量PWM的方式控制-固态继电器调节水温
- HTML页面添加背景音乐
- Linux云计算之OpenStack(Keyston - 认证服务)
- Python 实现 周志华 《机器学习》 BP算法(高级版)
- 川崎机器人signal_川崎机器人拆跺码垛程序
- Python实现抓狐狸小游戏
- tplink显示网络连接已断开_TP-Link无线路由器经常突然断开连接,如何解决?
- LabVIEW中的波形图和波形图表有什么区别在LabVIEW中更改波形图表的历史长度
- ClickHouse 在爱奇艺实时数仓的应用
热门文章
- caffe上手:修改已训练好的网络并训练模型
- 使用 NVIDIA GPU 的 OpenCV ‘dnn’:YOLO、SSD 和 Mask R-CNN 速度提高 1549%
- Python脚本编译为可跨平台、跨架构执行的字节码文件pyc方法
- resnet和densenet系列模型结构图可视化
- python 获取指定城市【昨日天气+未来15天预报天气+空气质量+气象数据】
- Python命令行程序项目自动化GUI显示操作神器Gooey实践
- 三种基于感知哈希算法的相似图像检索技术
- error C1128: 节数超过对象文件格式限制: 请使用 /bigobj 进行编译
- linux getopt_long函数,新手疑问:getopt_long()重入问题
- java并发编程(9)-- 线程池 创建 参数