06-数组(上) 方法
语言基础第六天:
回顾:
循环结构:
- for:应用率高、与次数相关
选择原则:
break:跳出循环
continue:跳过循环体中剩余语句而进入下一次循环
嵌套循环:
循环中套循环,外层循环走一次,内层循环走所有次
越少越好,break只能跳出当前一层循环
数组:
引用类型,相同数据类型元素的集合
int[ ] arr = new int[3]; //0,0,0
int[ ] arr = {2,4,6};
int[ ] arr = new int[ ]{2,4,6};
System.out.println(arr[0]);
arr[1] = 100;
System.out.println(arr[arr.length-1]);
for(int i=0;i<arr.length;i++){
arr[i] = (int)(Math.random()*100);
System.out.println(arr[i]);
}
笔记:
数组:
复制:
System.arraycopy(a,1,b,0,4);
//7)数组的复制: int[] a = {10,20,30,40,50}; int[] b = new int[6]; //0,0,0,0,0,0 //a:源数组 //1:源数组的起始下标 //b:目标数组 //0:目标数组的起始下标 //4:要复制的元素个数 System.arraycopy(a,1,b,0,4); //灵活性好 for(int i=0;i<b.length;i++){System.out.println(b[i]); }
int[ ] b = Arrays.copyOf(a,6);
//常规复制 int[] a = {10,20,30,40,50}; //a:源数组 //b:目标数组 //6:目标数组的长度(元素个数) //---若目标数组长度>源数组长度,则末尾补默认值 //---若目标数组长度<源数组长度,则将末尾的截掉 int[] b = Arrays.copyOf(a,6); //灵活性差 for(int i=0;i<b.length;i++){System.out.println(b[i]); }//数组的扩容 int[] a = {10,20,30,40,50}; //数组扩容(创建了一个更大的新的数组,并将源数组数据复制进去了) a = Arrays.copyOf(a,a.length+1); for(int i=0;i<a.length;i++){System.out.println(a[i]); }
综合案例:
package day06; import java.util.Arrays; //求数组元素的最大值,并将最大值放在数组最后一个元素的下一个位置 public class MaxOfArray {public static void main(String[] args) {int[] arr = new int[10];for(int i=0;i<arr.length;i++){arr[i] = (int)(Math.random()*100);System.out.println(arr[i]);}int max = arr[0]; //假设第1个元素为最大值for(int i=1;i<arr.length;i++){ //遍历剩余元素if(arr[i]>max){ //若剩余元素大于maxmax = arr[i]; //则修改max为较大的}}System.out.println("最大值为:"+max);arr = Arrays.copyOf(arr,arr.length+1); //扩容arr[arr.length-1] = max; //将最大值max赋值给arr中的最后一个元素for(int i=0;i<arr.length;i++){System.out.println(arr[i]);}} }
排序:
Arrays.sort(arr); //升序排列(从小到大)
//8)数组的排序: int[] arr = new int[10]; for(int i=0;i<arr.length;i++){arr[i] = (int)(Math.random()*100);System.out.println(arr[i]); }Arrays.sort(arr); //对arr进行升序排列System.out.println("数组排序后的数据:"); for(int i=0;i<arr.length;i++){System.out.println(arr[i]); }
方法:函数、过程
- 封装一段特定的业务逻辑功能
- 尽可能的独立,一个方法只干一件事
- 方法可以被反复多次调用
- 减少代码重复,有利于代码复用,有利于代码维护
定义方法:五要素
修饰词 返回值类型 方法名(参数列表) {
方法体--------------具体的业务逻辑功能实现
}
//无参无返回值 public static void say(){System.out.println("大家好,我叫WKJ,今年38岁了"); } //有参无返回值 public static void sayHi(String name){ //---------形参System.out.println("大家好,我叫"+name+",今年38岁了"); } //有参无返回值 public static void sayHello(String name,int age){if(age>=35){ //在某种特定条件下,提前结束方法return; //结束方法}System.out.println("大家好,我叫"+name+",今年"+age+"岁了"); }//无参有返回值 public static double getNum(){//在有返回值的方法中://--必须得通过return来返回一个值,并且这个值的类型必须与返回值类型匹配//return "abc"; //编译错误,返回的值必须与返回值类型匹配return 8.88; //1)结束方法的执行 2)返回一个结果给调用方 }//有参有返回值 public static int plus(int num1,int num2){int num = num1+num2;return num; //返回的是num里面的那个数//return num1+num2; //返回的是num1与num2的和 }//无参有返回值public static int[] testArray(){int[] arr = new int[10];for(int i=0;i<arr.length;i++){arr[i] = (int)(Math.random()*100);}return arr;}
调用方法:
- 无返回值:方法名(有参传参);
- 有返回值:数据类型 变量 = 方法名(有参传参);
//say();//sayHi(); //编译错误,有参则必须传参 //sayHi(250); //编译错误,参数类型必须匹配 sayHi("zhangsan"); //String name="zhangsan" //-------实参 sayHi("lisi"); //String name="lisi" //---------------实参 sayHi("wangwu"); //String name="wangwu" //-----------实参sayHello("zhangsan",25); //实参 sayHello("WKJ",38); //实参double a = getNum(); //getNum()的值就是8.88 System.out.println(a); //8.88----模拟对返回值的后续操作int b = plus(5,6); System.out.println(b); //11----模拟对返回值的后续操作int m=5,n=6; int c = plus(m,n); //传递的是m和n里面的那个数 System.out.println(c); //11----模拟对返回值的后续操作int[] d = testArray(); System.out.println(d.length); //10---模拟对返回值的后续操作 for(int i=0;i<d.length;i++){ //输出每个元素的值---模拟对返回值的后续操作System.out.println(d[i]); }
return:
return 值; //1)结束方法的执行 2)返回结果给调用方
----------用在有返回值方法中
return; //1)结束方法的执行-----------------用在无返回值的方法中
精华笔记:
数组:
复制:
System.arraycopy(a,1,b,0,4);
int[ ] b = Arrays.copyOf(a,6);
排序:
- Arrays.sort(arr); //升序排列(从小到大)
方法:函数、过程
- 封装一段特定的业务逻辑功能
- 尽可能的独立,一个方法只干一件事
- 方法可以被反复多次调用
- 减少代码重复,有利于代码复用,有利于代码维护
定义方法:五要素
修饰词 返回值类型 方法名(参数列表) {
方法体--------------具体的业务逻辑功能实现
}
调用方法:
- 无返回值:方法名(有参传参);
- 有返回值:数据类型 变量 = 方法名(有参传参);
return:
return 值; //1)结束方法的执行 2)返回结果给调用方
----------用在有返回值方法中
return; //1)结束方法的执行
-----------------用在无返回值的方法中
补充:
形参:形式参数,定义方法时的参数为形参
实参:实际参数,调用方法时的参数为实参明日单词:```
1)class:类
2)new:新的
3)Student:学生
4)name:姓名
5)age:年龄
6)address:家庭地址
7)study:学习
8)sayHi:问好
9)null:空
10)overload:重载
11)show:显示
12)battleship:战舰
13)bomb:炸弹
14)observe:侦察
15)torpedo:鱼雷
16)mine:水雷
17)submarine:潜艇
18)world:世界
19)width:宽
20)height:高
21)x:x坐标
22)y:y坐标
23)speed:速度
24)life:命
25)move:移动
26)test:测试
public static void main(String[] args){say();sayHi("zhangsan");sayHello("zhangsan",25);double a = getNum(); //输出a(模拟对返回值的后续操作)int b=plus(5,6); //输出b(模拟对返回值的后续操作)int m=5,n=6;int c=plus(m,n); //输出c(模拟对返回值的后续操作)int[] d=testArray(); System.out.println(d.length); //输出d的长度(模拟对返回值的后续操作)
}
public static void say(){...}
public static void sayHi(String name){...}
public static void sayHello(String name,int age){...}
public static double getNum(){ return 8.88; }
public static int plus(int num1,int num2){int num = num1+num2; return num; //return num1+num2;
}
public static int[] testArray(){ ... }
方法可以有参,也可以无参
----有参可以使方法更加灵活何时有参?何时无参?
1)若方法中的数据都可以写成固定/写死的---------无参
2)若方法中的数据不是固定的数据-----------有参double c = Math.random(); //0.0到0.9999999999999... 假设random()有参:double c = Math.random(1,1000);double c = Math.random(0,99);double c = Math.random(20,50);
System.out. println("hello");
System. arraycopy(a,1,b,0,4);
Arrays. sort(arr);
int[] b = Arrays. copyOf(a,6); //--------有参数int a = scan. nextInt();
double b = scan. nextDouble();
double c = Math. random(); //-----------无参数
方法可以有返回值,也可以没有返回值
1)无返回值: 返回值类型统一设计为void
2)有返回值: 返回值类型设计为特定的数据类型即可何时有返回值?何时没有返回值?
---方法操作完成后:1)若还需要用到方法中的某个数据---------有返回值2)若不需要用到方法中的数据------------无返回值
System.out.println("hello");
System.arraycopy(a,1,b,0,4);
Arrays.sort(arr); //-------------------没有返回值int a = scan.nextInt();
double b = scan.nextDouble();
double c = Math.random();
int[] b = Arrays.copyOf(a,6); //------有返回值
06-数组(上) 方法相关推荐
- 在js对象上绑定js数组原生方法
在js对象上绑定js数组原生方法 在js对象上绑定数组方法会给当前对象添加一个lenght:0属性 例: var o = {}; [].pop.call(o) console.log(o)//返回结果 ...
- js中Array.prototype.find() 方法在对象数组上无效果,捉急。。。
我在使用Array.prototype.find() 方法时,发现在对象数组上没有正确返回,过程如下: roleResourceList是个对象数组: 里面的数据是这样的: 调用find()方法: d ...
- 遍历数组的方法和数组的遍历方法(3+10种)(上)
文章目录 简介 遍历数组的方法 for循环遍历 特点: 使用: 输出: for in遍历 特点: 使用: 输出: 3. for of循环 特点: 使用: 输出: 简介 总所周知,遍历的方法有很多种,有 ...
- 数组reduce方法详解
目录 前言 reduce方法 案例 数组求和 数组扁平化 数组去重 数组对象去重 前言 很多前端开发中都知道数组的reduce方法可以用来给数组求和,但是你问到里面的具体参数代表的时候什么,很多人却不 ...
- pythonprint字节按照16进制输出_对python以16进制打印字节数组的方法详解
对python以16进制打印字节数组的方法详解 一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印 ...
- 这是如何更好地利用JavaScript数组的方法
by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...
- ES5和ES6数组遍历方法详解
ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...
- JS进阶篇--JS数组reduce()方法详解及高级技巧
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...
- 判断javascript数组的方法
2019独角兽企业重金招聘Python工程师标准>>> 判断javascript数组的方法 var is_array=function(){ return value &&a ...
- splice方法_[7000字]JavaScript数组所有方法基础总结
基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...
最新文章
- python中字符串(比如文件路径)前面有一个r什么意思
- 目录/文件攻击防范策略研究
- 【Java 并发编程】线程简介 ( 并发类型 | 线程状态 | CPU 数据缓存 )
- JavaSE——IO(下)(Properties类、序列化与反序列化)
- 马克思知识点总结(一)
- 使用ffmpeg推流拉流
- 腾讯智图让我的webp压缩感觉像白忙活一样
- OpenInfra基金会成立多元化董事会领袖组,任命总干事助推OpenInfra下一个十年的发展...
- (CVPR-2018)仔细研究用于动作识别的时空卷积
- java重新温习基础笔记
- win10浏览器闪退_win10系统ie打不开闪退怎么办
- MySQL事务与存储引擎
- 关于vite配置postcss未生效问题
- tanh () 函数
- 【贪心】605. 种花问题
- 航模电机绕线LRKDLRK命名来历
- Cloud一分钟 |京东:“大面积裁员”为谣言,已报案;通用汽车北美裁员14700人;小鸣单车破产审核:欠债近2000万元...
- 信息安全初窥(二):信息安全能力体系
- AD10 PCB板的绘制步骤
- 数据挖掘之Python基础(二)函数与文件读写
热门文章
- 有效地解决低阶矩阵完全问题
- Windows域控服务器查询命令
- 聊聊sql优化的15个小技巧
- lucene原理介绍
- 计算机无法解决打印所有素数原因,计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法的()特性。...
- 【chromium】Crashpad 简介
- 【教程1】Java制作国际象棋小游戏-01
- 查看电脑软件安装路径
- 创新案例分享 | 构建高效、智能人力管理系统,助力公司战略转型
- PL/SQL Developer 绿色版下载和安装配置