CGB2202语言基础第6天
语言基础第六天:
回顾:
循环结构:
- 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); //------有返回值
CGB2202语言基础第6天相关推荐
- CGB2202语言基础第2天
语言基础第二天: 回顾: java开发环境: 编译运行过程: 编译期:.java源文件,经过编译,生成.class字节码文件 运行期:JVM加载.class并运行.class(0和1) 跨平台,一次编 ...
- 【python语言基础】疑难点整理2
[python语言基础]疑难点整理1 第五章 在python语法中,循环体中的语句没有做限制,因此,可以是任何合法语句,当然也可以是循环语句.这样就形成了循环语句的嵌套. while循环语句和for循 ...
- r语言 断轴 画图_R语言基础画图/绘图/作图
R语言基础画图 R语言免费且开源,其强大和自由的画图功能,深受广大学生和可视化工作人员喜爱,这篇文章对如何使用R语言作基本的图形,如直方图,点图,饼状图以及箱线图进行简单介绍. 0 结构 每种图形构成 ...
- fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1
今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...
- 学单片机需要多少C语言基础,C语言单片机编程教程
很多学员和朋友经常找我给他们推荐C语言的书,他们可能想和我当年一样,闷头大干一场,学个几个月的C语言,把C语言吃透,再开始单片机程序开发! 别!别!别! 大家千万别这么干,我当年自学了3个月的C语言, ...
- %3c- r语言运算符,R语言基础教程之运算符
原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...
- c++把数组所有元素剔除_C语言基础之数组,第一节,C语言必学知识点剖析
本文约1600字,主要讲了C语言基础之数组.数组又可分为数值数组.字符数组.指针数组.结构数组等各种类别.本文主要讲了数组的基础概念,一维数组的定义和引用. 带你进入C语言的世界,入门C语言,后边将持 ...
- matlab语言实验二,实验二 MATLAB语言基础
实验二 MATLAB 语言基础 一.实验目的 基本掌握 MATLAB 向量.矩阵.数组的生成及其基本运算(区分数组运算和矩阵运算).常用的数学函数.了解字符串的操作. 二.实验内容 (1) 向量的生成 ...
- R语言基础知识详解及概括
R语言基础知识详解及概括 目录 R语言基础知识详解及概括 R数据可视化示例 R语言进行数据创建
最新文章
- python 报错 SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1076) 解决方法
- 那一顿,我撸串撸懂了云计算!
- BZOJ3091: 城市旅行
- SiftGPU:编译SiftGPU出现问题-无法解析的外部符号 glutInit
- 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...
- Java Server Page
- 2021年暑期旅游数据报告
- react hoc_如何使用HOC模式开发React超能力
- java trylock超时_老师,死锁设置超时这个我知道意思,但是您能举个例子么
- java登陆代码_Java用户登陆界面例子 代码
- 天锐绿盾加密软件常见问题解决方案
- Echart3绘制世界地图连线中国城市
- R语言基础 期中考试
- html页面中该插件不受支持,该插件不受支持怎么解决
- 苹果开发者账号官方翻译篇-配置APP服务-苹果支付
- HaaS100 云端钉一体智能语音播放器设计
- 机理模型和非机理模型
- Python分分钟实现图书管理系统(含代码)
- 什么是长尾关键词567
- 【资料转发分享】基于STM32智能路灯灯光自动控制系统设计-基于STM32无刷电机BLDC速度控制器系统设计-基于STM32热释人体感应智能门禁报警系统设计-基于STM32居家加湿器控制仿真系统设计