方法重载

  • 方法名相同
  • 方法的参数类型,参数个不一样
  • 方法的返回类型可以不相同
  • 方法的修饰符可以不相同
  • main 方法也可以被重载
class MyClass {int height;MyClass() {System.out.println("无参数构造函数");height = 4;}MyClass(int i) {System.out.println("房子高度为 " + i + " 米");height = i;}void info() {System.out.println("房子高度为 " + height + " 米");}void info(String s) {System.out.println(s + ": 房子高度为 " + height + " 米");}
}
public class MainClass {public static void main(String[] args) {MyClass t = new MyClass(3);t.info();t.info("重载方法");//重载构造函数new MyClass();}
}

以上代码运行输出结果为:

房子高度为 3 米
房子高度为 3 米
重载方法: 房子高度为 3 米
无参数构造函数

输出数组元素

public class MainClass {public static void printArray(Integer[] inputArray) {for (Integer element : inputArray){System.out.printf("%s ", element);System.out.println();}}public static void printArray(Double[] inputArray) {for (Double element : inputArray){System.out.printf("%s ", element);System.out.println();}}public static void printArray(Character[] inputArray) {for (Character element : inputArray){System.out.printf("%s ", element);System.out.println();}}public static void main(String args[]) {Integer[] integerArray = { 1, 2, 3, 4, 5, 6 };Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };Character[] characterArray = { 'H', 'E', 'L', 'L', 'O' };System.out.println("输出整型数组:");printArray(integerArray);System.out.println("\n输出双精度型数组:");printArray(doubleArray);System.out.println("\n输出字符型数组:");printArray(characterArray);}
}

以上代码运行输出结果为:

输出整型数组:
1
2
3
4
5
6 输出双精度型数组:
1.1
2.2
3.3
4.4
5.5
6.6
7.7 输出字符型数组:
H
E
L
L
O 

enum 和 switch 语句使用

enum Car {lamborghini,tata,audi,fiat,honda
}
public class Main {public static void main(String args[]){Car c;c = Car.tata;switch(c) {case lamborghini:System.out.println("你选择了 lamborghini!");break;case tata:System.out.println("你选择了 tata!");break;case audi:System.out.println("你选择了 audi!");break;case fiat:System.out.println("你选择了 fiat!");break;case honda:System.out.println("你选择了 honda!");break;default:System.out.println("我不知道你的车型。");break;}}
}

以上代码运行输出结果为:

你选择了 tata!

Enum(枚举)构造函数及方法的使用

enum Car {lamborghini(900),tata(2),audi(50),fiat(15),honda(12);private int price;Car(int p) {price = p;}int getPrice() {return price;}
}
public class Main {public static void main(String args[]){System.out.println("所有汽车的价格:");for (Car c : Car.values())System.out.println(c + " 需要 " + c.getPrice() + " 千美元。");}
}

以上代码运行输出结果为:

所有汽车的价格:
lamborghini 需要 900 千美元。
tata 需要 2 千美元。
audi 需要 50 千美元。
fiat 需要 15 千美元。
honda 需要 12 千美元。

for 和 foreach、迭代器循环使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class Main
{public static void main(String[] args){int[] arr = {1, 2, 3, 4, 5};System.out.println("----------使用 for 循环------------");for(int i=0; i<arr.length; i++){System.out.println(arr[i]);}System.out.println("---------使用 For-Each 循环-------------");//增强的 for 循环 For-Eachfor(int element:arr){System.out.println(element);}System.out.println("---------For-Each 循环二维数组-------------");//遍历二维数组int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ;for(int[] row : arr2){for(int element : row){System.out.println(element);}}//以三种方式遍历集合 ListList<String> list = new ArrayList<String>();list.add("Google");list.add("Runoob");list.add("Taobao");System.out.println("----------方式1:普通for循环-----------");for(int i = 0; i < list.size(); i++){System.out.println(list.get(i));}System.out.println("----------方式2:使用迭代器-----------");for(Iterator<String> iter = list.iterator(); iter.hasNext();){System.out.println(iter.next());}System.out.println("----------方式3:For-Each 循环-----------");for(String str: list){System.out.println(str);}}
}

以上代码运行输出结果为:

----------使用 for 循环------------
1
2
3
4
5
---------使用 For-Each 循环-------------
1
2
3
4
5
---------For-Each 循环二维数组-------------
1
2
3
4
5
6
7
8
9
----------方式1:普通for循环-----------
Google
Runoob
Taobao
----------方式2:使用迭代器-----------
Google
Runoob
Taobao
----------方式3:For-Each 循环-----------
Google
Runoob
Taobao

Varargs 可变参数使用

public class Main {static int  sumvarargs(int... intArrays){int sum, i;sum=0;for(i=0; i< intArrays.length; i++) {sum += intArrays[i];}return(sum);}public static void main(String args[]){int sum=0;sum = sumvarargs(new int[]{10,12,33});System.out.println("数字相加之和为: " + sum);}
}

以上代码运行输出结果为:

数字相加之和为: 55

重载(overloading)方法中使用 Varargs

public class Main {static void vaTest(int ... no) {System.out.print("vaTest(int ...): " + "参数个数: " + no.length +" 内容: ");for(int n : no)System.out.print(n + " ");System.out.println();}static void vaTest(boolean ... bl) {System.out.print("vaTest(boolean ...) " +"参数个数: " + bl.length + " 内容: ");for(boolean b : bl)System.out.print(b + " ");System.out.println();}static void vaTest(String msg, int ... no) {System.out.print("vaTest(String, int ...): " +msg +"参数个数: "+ no.length +" 内容: ");for(int  n : no)System.out.print(n + " ");System.out.println();}public static void main(String args[]){vaTest(1, 2, 3);vaTest("测试: ", 10, 20);vaTest(true, false, false);}
}

以上代码运行输出结果为:

vaTest(int ...): 参数个数: 3 内容: 1 2 3
vaTest(String, int ...): 测试: 参数个数: 2 内容: 10 20
vaTest(boolean ...) 参数个数: 3 内容: true false false 

Java 方法使用总结(重载、数组输出、enum和switch、foreach和迭代器、可变长度参数、重载中使用可变长度参数)相关推荐

  1. JAVA开发之 37 使用数组输出古诗《春晓》

    今天学了一段代码,用于输出古诗<春晓>,可以有两种形式,横向和纵向. public class JavaStudy { // 新建类public static void main(Stri ...

  2. java 不定参数_java中不定长参数的实例用法

    java中不定长参数的使用方法 不定长参数方法的语法如下: 返回值 方法名(参数类型...参数名称) 在参数列表中使用"..."形式定义不定长参数,其实这个不定长参数a就是一个数组 ...

  3. java lambda做参数_Java中的Lambda参数

    我的追求是如何在函数中将lambda表达式作为参数? 我的意图是,当我执行sum方法时,方法accept中的参数被对象延续使用并使用(是吗?),我的疑问是我如何做才能使该对象延续成为使用value1 ...

  4. Java方法实现数组的遍历、获取数组的最大值和最小值

    1. Java方法的练习:数组遍历 需求:设计一个方法用于数组遍历,要求遍历的结果是在一行上的.例如:[11, 22, 33, 44, 55] import java.util.Scanner;//需 ...

  5. Java方法的引用(打造Lambda表达式的升级版)

    1.初入方法引用 2.通过对象名引用成员方法 3.通过类名引用静态方法 4.通过super引用成员方法 5.通过this引用成员方法 6.类的构造器引用 7.数组的构造方法的引用 1.初入方法引用 1 ...

  6. Matlab将元胞数组输出到txt或者dat文件中

    原链接:http://cn.mathworks.com/help/matlab/import_export/write-to-delimited-data-files.html#br2ypq2-1 方 ...

  7. C# 中的可变参数方法(VarArgs)

    首先需要明确一点:这里提到的可变参数方法,指的是具有 CallingConventions.VarArgs 调用约定的方法,而不是包含 params 参数的方法.可以通过MethodBase.Call ...

  8. [转载] Java 方法(方法重载)与数组

    参考链接: Java中的方法重载和空错误 一.方法(Method) 1.方法的定义 1)方法定义与格式: 方法(Method),有人称之为函数(function),其实就指一个特定的功能操作,程序中能 ...

  9. java方法的参数类型_Java 基础 14 方法的重载 与 方法参数类型详解

    1.1 方法重载的概述和特点 方法重载概述 在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可. 方法重载特点 与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机通 ...

最新文章

  1. [文件系统]文件系统学习笔记(十)---杂项
  2. codeforces round 422 div2 补题 CF 822 A-F
  3. 连接阿里云物联网云平台
  4. 方法:如何解决NetShareEnum返回ERROR_NO_UNICODE_TRANSLATION(1113)的问题
  5. 图论 有向无环图 拓扑排序 是什么
  6. RocketMQ源码-基于Netty的通信层设计
  7. 【无标题】提示用户输入用户名,然后再提示输入密码,如果用户名 是“admin”并且密码是“88888”,则提示正确,否则,如果 用户名不是admin还提示用户用户名不存在,如果用户名是
  8. c语言表达式语法问题,C语言表达式的语法图与语法检查
  9. oracle索引有哪些分类,Oracle中的索引分类
  10. 计算机专业电子技术基础教学,计算机专业“电子技术基础”教学上的难题及对策.doc...
  11. 4K图片(壁纸)免费下载网站【实用】
  12. 如何在64位win7中使用未有签名的驱动程序
  13. 解决双蛋问题的C代码实现
  14. 聚观早报 | 货拉拉入局跑腿业务;苹果任命首位首席人力资源官
  15. 【Java】文件管理器
  16. 若依框架搜索框使用注解写动态SQL
  17. 简单的面向对象思想,写一个传奇人物的属性
  18. matlab汽车驱动力与行驶阻力,用matlab绘制汽车驱动力-行驶阻力平衡图
  19. 浅析SSL/TLS的会话流程和源码实现
  20. 使用CSS3动画做出光芒万丈的效果

热门文章

  1. AE物体表面跟踪特效合成高级插件:Lockdown for Mac 支持ae2021
  2. NOI数据结构:后缀树
  3. 【docker】第五节:docker常用命令总结
  4. 白鹭引擎开关音频代码实例
  5. python决策树逻辑回归_百面机器学习(逻辑回归以及决策树,leetcode)
  6. linux中dpkg找不到命令_工作中常用的Linux命令介绍与实践
  7. Qt工作笔记-使用SQL中的LIMIT进行数据分页
  8. Nginx文档阅读笔记-DNS load balancing(DNS负载均衡)
  9. HTTP之Content-Security-Policy的使用(C++ Qt框架实现)
  10. Linux学习笔记-消息队列的接收