前面我们讲了那么多的内容,难免有遗漏之处,这节我们就遗漏之处做一个补充,一起来看看吧!

  • String[ ] args

它主要用在当我们执行Java程序(Java 字节码文件)的时候,可以指定一些参数。

class Test01{public static void main(String[] args){System.out.println(args.length);for(int i=0;i<args.length;i++){System.out.println(args[i]);}}
}

上面的代码,在主函数中我们直接输出了args的长度,然后对args进行了遍历,输出它当中每一个元素。正如上面所说,String[ ] args它主要用在当我们执行Java程序(java 字节码文件)的时候,可以指定一些参数。所以我们在终端里面首先编译,然后在运行的时候传入数字1 2 3,最后发现打印出了传入参数的长度、内容。这就是它的用法。

另外说一下,这里面args的名称是可以改变的,因为它只是一个参数名。

  • 可变长参数

​​​​​​​当我们在给一个函数传参的时候,如果我们不确定具体要传参数的个数的话,这个时候就可以使用可变长参数(这些参数必须是相同的类型)。其实它本质上就是一个数组。

class Test02{public static void main(String[] a){multiArguments(1);multiArguments(1,2,3);multiArguments(1,2,3,4,5,6);}//传入的是不确定个数的int型参数public static void multiArguments(int ... nums){//System.out.println(nums.length);for(int i = 0;i < nums.length;i++){System.out.print(nums[i] + " ");}System.out.println();}
}

在主函数当中调用了三次multiArgiments方法,第一次传入了一个参数1,第二次传入了三个参数1、2、3,第三次传入了六个参数1、2、3、4、5、6,所以最后打印出来的分别是1/123/123456。这就是可变长参数的用法,

PS:1.一个参数列表当中只能有一个可变长参数,如果出现多个的话,首先编译就会出错;

2.如果可变长参数和固定参数同时存在的话,那么可变长参数必须在参数列表的最后面。

  • foreach循环

​​​​​​​for(循环数据类型 循环变量名:可迭代对象){

循环体;

}

class Test03{public static void main(String[] args){multiArguments(1);multiArguments(1,2,3);multiArguments(1,2,3,4,5,6);}//传入的是不确定个数的int型参数public static void multiArguments(int ... nums){/*for(循环数据类型 循环变量名 : 可迭代对象 ){循环体;}*/for(int num:nums){System.out.print(num);}System.out.println();}/*这里的num其实表示的是nums[i]  i∈[0~nums.length)只不过在foreach中屏蔽掉了i的具体行为。此外,数组是可迭代对象当中的一种,并且数组可以通过角标访问所以目前我们可以认为num等效于nums[i]。但是并不代表所有的可迭代对象都有角标支持,有些可迭代对象的元素访问顺序是比较复杂的,所以为了避免这些复杂就有了foreach循环。foreach有什么样的一个缺点呢?它仅仅只能访问元素,不能对元素进行修改。num仅仅是nums[i]的一个备份,改num不代表改nums[i]。所以说我们如果仅仅访问元素的话,用foreach循环会更简单。*/
}

如上图运行结果所示,我们使用foreach循环还是可以打印出来结果,它其实是一个简化过后的for循环。

  • Arrays类

​​​​​​​Arrays类是关于数组的工具类,而我们之前学过的Math、Scanner、String,这些都不是工具类。来看一些实例。

import java.util.Arrays;
class Test04{public static void main(String[] args){int[] arr = {1,3,5,7,9,2,4,6,8};//1.static void sort(int[] a)这个方法是对指定的数组按数字升序进行排序。Arrays.sort(arr);/*2.static int binarySearch(int[] a, int key)这个方法是使用二分搜索法来搜索指定的int型数组,以获得指定的值。*/System.out.println(Arrays.binarySearch(arr,8));//7/*3.static int[] copyOf(int[] original, int newLength) 这个方法是复制指定的数组,截取或用0填充(如有必要),以使副本具有指定的长度。*/arr = Arrays.copyOf(arr,arr.length+1);//4.static String toString(int[] a)这个方法是返回指定数组内容的字符串表示形式。System.out.println(Arrays.toString(arr));//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]}
}

上面我们介绍了4种方法,具体功能都已写在代码中。

  • 多返回值处理

​​​​​​​Java的函数仅仅只能返回单一的值,如果需要一次性返回多个值,我们就需要将多个值封装在一个数组当中即可,后面也会学到集合/映射。

import java.util.Arrays;
class Test05{public static void main(String[] args){//传入一个坐标点,将坐标点进行移动int x = 0;int y = 0;int[] res = move(x,y,10,10);//x=10,y=10x = res[0];y = res[1];System.out.println("x=" + x);//x=10System.out.println("y=" + y);//y=10}//如果是C/C++语言的话,只需要传x和y的指针即可.//void move(int *x,int *y){ *x+=deltx; *y+=delty;}public static int[] move(int x,int y,int deltx,int delty){x+=deltx;y+=delty;return new int[]{x,y};}
}

好了,这次的额外补充知识我们就说到这里,拜拜啦!

关于前面内容的查疑补漏相关推荐

  1. 查缺补漏:集和与非平凡属性

    查缺补漏:集和与非平凡属性 前面的习题和知识点补充 Conjunctive normal form(CNF)是布尔逻辑的一种方法,它将公式表示为带有AND或or的子句的连词.由连词or AND连接的每 ...

  2. 赫斌老师数据结构视频查缺补漏笔记

    赫斌老师数据结构视频查缺补漏笔记 观看学习赫斌老师数据结构的视频,记录下自己之前学习这块内容时似懂非懂的知识,仅针对自己查缺补漏使用 视频链接:<郝斌老师数据结构自学视频> 1.指针的大小 ...

  3. 「查缺补漏」高频考点浏览器面试题

    前言 想要成为一名合格的前端工程师,掌握相关浏览器的工作原理是必备的,这样子才会有一个完整知识体系,要是「能参透浏览器的工作原理,你就能解决80%的前端难题」. 这篇梳理的话,更多的是对浏览器工作原理 ...

  4. 2020年最新最全的Java面试经历整理(一次性查缺补漏个够)

    前言 现在已经是2020年了,相信很多人都在准备面试,,如何拿到心仪的 Offer,进入梦寐以求的大厂,实现自己的职业理想,达到程序员的小康水平. 这篇文章主要介绍了刘哥一月份的几次面经,(一次性查缺 ...

  5. 查缺补漏系统学习 EF Core 6 - 原始 SQL 查询

    推荐关注「码侠江湖」加星标,时刻不忘江湖事 这是 EF Core 系列的第五篇文章,上一篇文章盘点了 EF Core 中的几种数据查询方式. 但是有有时候,我们可能无法用标准的 LINQ 方法完成查询 ...

  6. 随机系统辨识数学知识大全——用于查缺补漏

    随机系统辨识数学知识--用于查缺补漏 控制系统 数学 !!!!!!!!!!!!!!!!!!!!!!!! !!!!!!转载请注明作者,及本文链接!!!!! !!!!!!!!!!!!!!!!!!!!!!! ...

  7. JAVA核心,200例,查缺补漏

    适用于想要查缺补漏的人:本已经掌握的技术,但是不知道如何表达的人:不断完善技自己,顺带梳理下答案. 主要包括以下模块:Java基础.容器.多线程.反射.对象拷贝.Java Web模块,异常.网络.设计 ...

  8. 查缺补漏系统学习 EF Core 6 - 批量操作

    推荐关注「码侠江湖」加星标,时刻不忘江湖事 这是 EF Core 系列的第七篇文章,上一篇文章讲述了 EF Core 中的实体数据修改. 这篇文章讲一讲 EF Core 如何进行批量操作. 在众多的 ...

  9. 查缺补漏系统学习 EF Core 6 - 数据查询

    这是 EF Core 系列的第四篇文章,上一篇文章讲述了 EF Core 中的实体迁移与数据播种. 这篇文章盘点一下 EF Core 的几种数据查询方式,内容较多分上下两篇. 点击上方或后方蓝字,阅读 ...

最新文章

  1. vue + axios---封装一个http请求
  2. 对互联网用户分类的思考
  3. 老李分享:https协议
  4. html 编辑器 es6,小技巧:一行代码让浏览器瞬间变成临时编辑器
  5. Linux 命令之 cut -- 分割字符串,显示或删除指定字段的内容,合并文件内容
  6. java 文件解析异常_java中异常的解析
  7. android自动化持续集成,基于持续集成的Android自动化测试.pdf
  8. 数据库语言 数据查询_使用这种简单的查询语言开始查询数据
  9. 什么是MARC数据?
  10. [Day30] DBUtils和连接池
  11. OpenStack 企业私有云的若干需求(1):Nova 虚机支持 GPU
  12. Mac 技巧 | CAD 汉化后无法新建模板怎么办?
  13. hdu3336 Count the string
  14. 工程图学与计算机绘图考查,工程图学与计算机绘图
  15. 2017-2018-1 20155314 20155323 实验二 固件程序设计
  16. CSS度量单位rem、em、vw、vh详解
  17. 安装ubuntu黑屏,修复分区表
  18. node处理图片和PDF文件方法
  19. 微信小说,微信游戏系统域名被屏蔽是怎么回事
  20. 安卓手机如何投屏到电视上_孩子在家上课,如何把手机投屏到电视上

热门文章

  1. 51单片机学习 - 02
  2. 2020-08-17
  3. n个互异字符串的全排列
  4. Android网络请求中的回调
  5. 计算机网络期末复习 (卷一)
  6. 若依yml配置文件读取方法学习
  7. 1.expan扩容函数的一些理解
  8. CAD标注字体粗线怎么变细
  9. mulesoft Module 7 quiz 解析
  10. 计算机著作权登记证书什么作用