语言基础第六天:

回顾:

  1. 循环结构:

    • for:应用率高、与次数相关
  2. 选择原则:

  3. break:跳出循环

    continue:跳过循环体中剩余语句而进入下一次循环

  4. 嵌套循环:

    ​ 循环中套循环,外层循环走一次,内层循环走所有次

    ​ 越少越好,break只能跳出当前一层循环

  5. 数组:

    ​ 引用类型,相同数据类型元素的集合

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

    ​ }

笔记:

  1. 数组:

    • 复制:

      • 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]);
        }
  2. 方法:函数、过程

    • 封装一段特定的业务逻辑功能
    • 尽可能的独立,一个方法只干一件事
    • 方法可以被反复多次调用
    • 减少代码重复,有利于代码复用,有利于代码维护
  3. 定义方法:五要素

    ​ 修饰词 返回值类型 方法名(参数列表) {

    ​ 方法体--------------具体的业务逻辑功能实现

    ​ }

    //无参无返回值
    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;}
  4. 调用方法:

    • 无返回值:方法名(有参传参);
    • 有返回值:数据类型 变量 = 方法名(有参传参);
    //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]);
    }
  5. return:

    • return 值; //1)结束方法的执行 2)返回结果给调用方

      ​ ----------用在有返回值方法中

    • return; //1)结束方法的执行-----------------用在无返回值的方法中

精华笔记:

  1. 数组:

    • 复制:

      • System.arraycopy(a,1,b,0,4);

      • int[ ] b = Arrays.copyOf(a,6);

    • 排序:

      • Arrays.sort(arr); //升序排列(从小到大)
  2. 方法:函数、过程

    • 封装一段特定的业务逻辑功能
    • 尽可能的独立,一个方法只干一件事
    • 方法可以被反复多次调用
    • 减少代码重复,有利于代码复用,有利于代码维护
  3. 定义方法:五要素

    ​ 修饰词 返回值类型 方法名(参数列表) {

    ​ 方法体--------------具体的业务逻辑功能实现

    ​ }

  4. 调用方法:

    • 无返回值:方法名(有参传参);
    • 有返回值:数据类型 变量 = 方法名(有参传参);
  5. return:

    • return 值; //1)结束方法的执行 2)返回结果给调用方

      ​ ----------用在有返回值方法中

    • return; //1)结束方法的执行

      ​ -----------------用在无返回值的方法中

补充:

  1. 形参:形式参数,定义方法时的参数为形参
    实参:实际参数,调用方法时的参数为实参

  2. 明日单词:```
    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-数组(上) 方法相关推荐

  1. 在js对象上绑定js数组原生方法

    在js对象上绑定js数组原生方法 在js对象上绑定数组方法会给当前对象添加一个lenght:0属性 例: var o = {}; [].pop.call(o) console.log(o)//返回结果 ...

  2. js中Array.prototype.find() 方法在对象数组上无效果,捉急。。。

    我在使用Array.prototype.find() 方法时,发现在对象数组上没有正确返回,过程如下: roleResourceList是个对象数组: 里面的数据是这样的: 调用find()方法: d ...

  3. 遍历数组的方法和数组的遍历方法(3+10种)(上)

    文章目录 简介 遍历数组的方法 for循环遍历 特点: 使用: 输出: for in遍历 特点: 使用: 输出: 3. for of循环 特点: 使用: 输出: 简介 总所周知,遍历的方法有很多种,有 ...

  4. 数组reduce方法详解

    目录 前言 reduce方法 案例 数组求和 数组扁平化 数组去重 数组对象去重 前言 很多前端开发中都知道数组的reduce方法可以用来给数组求和,但是你问到里面的具体参数代表的时候什么,很多人却不 ...

  5. pythonprint字节按照16进制输出_对python以16进制打印字节数组的方法详解

    对python以16进制打印字节数组的方法详解 一.问题描述 如果直接用print打印bytes的话,有时候会直接显示ascii对应的字符,看起来很蛋疼. 二.运行效果 上面一行是直接用print打印 ...

  6. 这是如何更好地利用JavaScript数组的方法

    by pacdiv 由pacdiv 这是如何更好地利用JavaScript数组的方法 (Here's how you can make better use of JavaScript arrays) ...

  7. ES5和ES6数组遍历方法详解

    ES5和ES6数组遍历方法详解 在ES5中常用的10种数组遍历方法: 1.原始的for循环语句 2.Array.prototype.forEach数组对象内置方法 3.Array.prototype. ...

  8. JS进阶篇--JS数组reduce()方法详解及高级技巧

    基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...

  9. 判断javascript数组的方法

    2019独角兽企业重金招聘Python工程师标准>>> 判断javascript数组的方法 var is_array=function(){ return value &&a ...

  10. splice方法_[7000字]JavaScript数组所有方法基础总结

    基础决定一个人的上限,很多时候我们感叹别人在实现一个功能时使用方法的精妙,并且反思,为什么别人想的出来自己却想不出来?我觉得主要是因为对于基础的掌握上有很大的差距.本文总结数组的所有方法的基础使用,希 ...

最新文章

  1. python中字符串(比如文件路径)前面有一个r什么意思
  2. 目录/文件攻击防范策略研究
  3. 【Java 并发编程】线程简介 ( 并发类型 | 线程状态 | CPU 数据缓存 )
  4. JavaSE——IO(下)(Properties类、序列化与反序列化)
  5. 马克思知识点总结(一)
  6. 使用ffmpeg推流拉流
  7. 腾讯智图让我的webp压缩感觉像白忙活一样
  8. OpenInfra基金会成立多元化董事会领袖组,任命总干事助推OpenInfra下一个十年的发展...
  9. (CVPR-2018)仔细研究用于动作识别的时空卷积
  10. java重新温习基础笔记
  11. win10浏览器闪退_win10系统ie打不开闪退怎么办
  12. MySQL事务与存储引擎
  13. 关于vite配置postcss未生效问题
  14. tanh () 函数
  15. 【贪心】605. 种花问题
  16. 航模电机绕线LRKDLRK命名来历
  17. Cloud一分钟 |京东:“大面积裁员”为谣言,已报案;通用汽车北美裁员14700人;小鸣单车破产审核:欠债近2000万元...
  18. 信息安全初窥(二):信息安全能力体系
  19. AD10 PCB板的绘制步骤
  20. 数据挖掘之Python基础(二)函数与文件读写

热门文章

  1. 有效地解决低阶矩阵完全问题
  2. Windows域控服务器查询命令
  3. 聊聊sql优化的15个小技巧
  4. lucene原理介绍
  5. 计算机无法解决打印所有素数原因,计算机无法解决“打印所有素数”的问题,其原因是解决该问题的算法违背了算法的()特性。...
  6. 【chromium】Crashpad 简介
  7. 【教程1】Java制作国际象棋小游戏-01
  8. 查看电脑软件安装路径
  9. 创新案例分享 | 构建高效、智能人力管理系统,助力公司战略转型
  10. PL/SQL Developer 绿色版下载和安装配置