语言基础第六天:

回顾:

  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); //------有返回值

CGB2202语言基础第6天相关推荐

  1. CGB2202语言基础第2天

    语言基础第二天: 回顾: java开发环境: 编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 跨平台,一次编 ...

  2. 【python语言基础】疑难点整理2

    [python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...

  3. r语言 断轴 画图_R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...

  4. fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1

    今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...

  5. 学单片机需要多少C语言基础,C语言单片机编程教程

    很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...

  6. %3c- r语言运算符,R语言基础教程之运算符

    原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...

  7. c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析

    本文约1600字,主要讲了C语言基础之数组.数组又可分为数值数组.字符数组.指针数组.结构数组等各种类别.本文主要讲了数组的基础概念,一维数组的定义和引用. 带你进入C语言的世界,入门C语言,后边将持 ...

  8. matlab语言实验二,实验二 MATLAB语言基础

    实验二 MATLAB 语言基础 一.实验目的 基本掌握 MATLAB 向量.矩阵.数组的生成及其基本运算(区分数组运算和矩阵运算).常用的数学函数.了解字符串的操作. 二.实验内容 (1) 向量的生成 ...

  9. R语言基础知识详解及概括

    R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建

最新文章

  1. python 报错 SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1076) 解决方法
  2. 那一顿,我撸串撸懂了云计算!
  3. BZOJ3091: 城市旅行
  4. SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit
  5. 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...
  6. Java Server Page
  7. 2021年暑期旅游数据报告
  8. react hoc_如何使用HOC模式开发React超能力
  9. java trylock超时_老师,死锁设置超时这个我知道意思,但是您能举个例子么
  10. java登陆代码_Java用户登陆界面例子 代码
  11. 天锐绿盾加密软件常见问题解决方案
  12. Echart3绘制世界地图连线中国城市
  13. R语言基础 期中考试
  14. html页面中该插件不受支持,该插件不受支持怎么解决
  15. 苹果开发者账号官方翻译篇-配置APP服务-苹果支付
  16. HaaS100 云端钉一体智能语音播放器设计
  17. 机理模型和非机理模型
  18. Python分分钟实现图书管理系统(含代码)
  19. 什么是长尾关键词567
  20. 【资料转发分享】基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计

热门文章

  1. php mycat 读写分离,MyCAT读写分离以及参数调配
  2. 网络维护优化是做什么的(网络维护措施)
  3. 3、Horizon 域控服务器安装配置
  4. 链接服务器查询导致的阻塞
  5. c语言 预编译 模拟,C语言考试模拟练习题
  6. 字体图标引入项目中-阿里图库
  7. 关于获取宽带拨号密码
  8. 学习使用 mockjs
  9. NXPowerLite Desktop 9(文件压缩软件)官方中文版V9.0.3 | 极品文件压缩器
  10. SP56818刷机教程 笔记 ,从第八部开始是刷机教程