java数组遍历、java方法定义
1.遍历数组for与foreach
String [] test = {"java","php","bootstrap","vue","angular","node","javascript","c++"};
for循环:for (int i = 0;i<test.lenght;i++) {System.out.println(test[i])};
foreach:for (String text : test) {System.out.println(text) }
上面两者效果是一样的。foreach中text即数组test中的元素,然后依次输出数组元素text。
2.java中定义方法(函数)
访问修饰符 返回值类型 方法名(参数) { 方法体 }
访问修饰符:public(公有)、protected(受保护)、private(私有)
返回值类型:void(方法不返回值)、若有返回值注明返回值类型
参数的写法:类型 变量,类型 变量,类型 变量.......
e.g: public void/String test(int num1,int num2,int num3) { 方法体 }
以上是定参,不定参arg/args请参照这里。
3.方法体内创建对象及调用方法
现在有一个HelloWorld类,内部有个main方法和show方法,现在要在main方法内部调用show方法:
HelloWorld hello = new HelloWorld(); //实例化一个HelloWorld类(对象)==>hello
hello.show(); //实例化的对象继承了类的public方法show(),于是,直接调用
如果show方法有返回值,要将此方法作进一步处理,赋值给变量,double avg = hello.show(),这样返回值的数值就赋值给了变量avg。(数据类型要一致)
4.方法的重载
所谓重载,就是在一个类中,有多个方法名相同的方法,但是它们的区别在于参数
参数类型,参数个数会不尽相同。
例如:show(int age)、show(String name)、show(int age,String name);
这三个都是show方法,当调用重载方法时,java会根据参数的类型和个数来决定要调用哪个方法。
show(26)调用的是show(int age)方法;
show("姓名")调用的则是show(String name)方法。
5.习题(imooc)
e.g:给定一个成绩数组,要求输出考试前三名,要舍去数组中成绩在0-100之外的。
我当时的思路:用一个for循环把数组中满足成绩要求(0-100)的项赋值给新数组,然后对新数组进行排序,从大到小取前三名。
遇到的问题:1.java数组初始化时须定义长度,因为不满足条件的项要舍去,故新数组的长度是未知的;
2.查资料得知ArrayList方法可以不用预先定义ArrayList的长度,但在使用Add方法追加元素时出现诸多问题;
最后解决:想到可以在遇到成绩数组中的不满足项时,此项不追加给新数组,而是将数值0赋值给新数组,
这样新数组的长度问题解决(和旧数组一样);
例如arr[5]=199,此时明显不能将199赋值给新数组newarr[5],于是此时令newarr[5]=0,后面以此类推;
这样旧数组是{46,98,-13,56,27,176,55},处理后的新数组则是{46,98,0,56,27,0,55},
再对其sort,{0,0,27,46,55,56,98},此乃排序后的新数组;
最后成绩最高的就是newarr[newarr.length-1]
1 import java.util.Arrays;
2 public class HelloWorld {
public static void main(String[] args) {
int[] scores = {89,-23,64,91,119,52,73};
HelloWorld hello = new HelloWorld();
hello.sort(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sort(int[] scores){
int length=scores.length;
int [] newscores = new int [length];
int i =0;
for(int j=0;j<length;j++){
if(scores[j]>=0&scores[j]<=100){
newscores[i]=scores[j];
i++;
}else{
newscores[i]=0;
i++;
}
}
Arrays.sort(newscores);
System.out.println("考试成绩前三名:");
System.out.println(newscores[length-1]);
System.out.println(newscores[length-2]);
System.out.println(newscores[length-3]);
}
}
java数组遍历、java方法定义的更多相关文章
- java 数组遍历(方法内部的代码)
//数组遍历(依次输出数组中的每一个元素)二维数组: int[][] arr={{1,2},{3,4,5},{6,7}}; for(int i=0;i<arr.length;i++){ for( ...
- java集合类遍历删除方法测试以及使用场景记录
package test0; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java. ...
- JAVA数组的基本方法
数组的基本方法 数组可以存放多个数据,多个数据类型要统一数组格式: 格式一:常用写法 数组类型[] 数组名称 = new 数据类型[数组长度]; 格式二:蛋疼写法 数组类型[] 数组名称; 数组名称 ...
- java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解
public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...
- java数组遍历 删除remove
package com.b; import java.util.ArrayList; //数组遍历删除,添加 public class Core2 { private String name; pri ...
- java 第五章 方法定义及调用
1.方法的定义 什么是方法 方法是完成某个功能的一组语句,通常将常用的功能写成一个方法 方法的定义 [访问控制符] [修饰符] 返回值类型 方法名( (参数类型 形式参数, ,参数类型 形式参数, , ...
- Java数组遍历
1.数组声明格式: 数据类型 [] 数组名 = new 数据类型[长度]: 数组长度一旦确定无法更改. 数组里的数据必须是相同类型或自动向上转型后兼容的类型 2.数组遍历 //一维数组 String ...
- iOS中数组遍历的方法及比较
数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为ios是兼容C语言的,所以c语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系 ...
- iOS中数组遍历的方法及比較
数组遍历是编码中非经常见的一种需求.我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 由于iOS是兼容C语言的.所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的 ...
随机推荐
- Cocos2D:塔防游戏制作之旅(八)
如果所有东西通过检查,则创建一个新炮塔,将它放置在基座上,然后添加到towers数组中. 注意:在方法最后的bridge语法需要做一些解释.你下载的初始项目已经为一 些文件打开ARC,但不是Cocos ...
- Mybatis源码之(TypeAliasRegistry)TypeAlias别名实现机制
在Mybatis编程中我们经常会用到将某个bean作为参数类型parameterType或者结果返回值类型ResultType,所以很多时候我们需要把完成的Bean的包名在mapper文件中写上,如下 ...
- Spring boot之hello word
环境准备 一个称手的IDE(首选Myeclipse,也可以选Eclipse) Java环境(JDK 1.7或以上版本) Maven 3.0+(Eclipse和Idea IntelliJ内置,如果使用I ...
- ROS_Kinetic_08 ROS的集成开发环境(IDEs)之使用Eclipse
ROS_Kinetic_08 ROS的集成开发环境(IDEs)之使用Eclipse ROS支持的IDEs比较丰富,这里以Eclipse为例介绍一下. 具体内容参考:http://wiki.ros.or ...
- python字符串与数字类型转化
数字转字符串:str(数字),如str(10) 相反:int(字符串),如int('10') 另外,import string后 用string.atoi('100',base),转换为int,bas ...
- OpenCL异构计算资料收集
Easy OpenCL with Python 原文 http://www.drdobbs.com/open-source/easy-opencl-with-python/240162614 ...
- VB.NET版机房收费系统---外观层如何写
外观设计模式,<大话设计模式>第103页详细讲解,不记得这块知识的小伙伴可以翻阅翻阅,看过设计模式,敲过书上的例子,只是学习的第一步,接着,如果在我们的项目中灵活应用,把设计模式用出花儿来 ...
- Linux下使用GDAL进行开发(automake使用)
首先写三个源代码文件,分别是GDALTest.cpp.Fun.cpp和Fun.h,将这三个存放在一个叫GDALTest的文件夹中,然后打开终端,切换到该目录,如下图所示(注:这个图是最后截图的,所以文 ...
- Testbench(转)
本来还打算自己写下对Testbench的理解,后来发现百度百科名片解释得很好,所以就直接转了. 原文百度百科链接:http://baike.baidu.com/link?url=dxzsOAs32IE ...
- Smali语法汇总(一)
Opcode 操作码(hex) Opcode name 操作码名称 Explanation 说明 Example 示例 00 nop 无操作 0000 - nop 01 move vx, vy 移动v ...