Java基础
方法的重载
重载就是在一个类中,有相同的函数名称,但形参不同的函数
重载的规则:
方法名称必须相同
参数列表必须不同(如个数不同,类型不同,排列不同等)
方法的返回类型可以相同也可以不相同
仅仅返回类型不同不足以成为方法重载
public class Demo02 {
public static void main(String[] args) {
int max=max(10,10); //方法调用
double large=max(20.4,25.9);
System.out.println(max);
}
//方法定义
public static int max(int a,int b){
if(a>b)
return a;
else
return b;
}
//方法重载
public static double max(double a,double b){
if(a>b)
return a;
else
return b;
}
}
命令行传递参数
mian方法也可以传递参数
可变参数
jdk5后java支持传递同类型的可变参数给一个方法
在方法声明中,在指定参数类型后加一个省略号(…)
一个方法只能制定一个可变参数,他必须是方法的最后一个参数。任何普通的参数必须在他之前声明。
和数组有点相似。类似于定义了一个长度位置数组参数
public class Demo02 {
public static void main(String[] args) {
printMax(2,8,9,7,55,6,7,132,4,5);
printMax(new int[] {
1,2,3,4,5});
}
//方法定义
public static void printMax(int...number){
if(number.length==0){
System.out.println("No argument passed");
return;
}
int max=number[0];
for(int i=0;i<number.length;i++)
if(max<number[i])
max=number[i];
System.out.println(max);
}
}
以上内容均是参考别人博客的文章,个人觉得讲解的非常仔细。
下面附上一个打印当月的日历的小程序:
代码如下:
package com.javatest.datetest;
import java.time.*;
/*
* @version 1.0
* @author Tan name
* 该类功能可实现打印本月的日期
*/
public class DateTest {
public static void main(String[] args) {
//创建date对象
LocalDate date = LocalDate.now();
//获取月份
int month = date.getMonthValue();
//获取日期
int today = date.getDayOfMonth();
//将日期调整为每月的第一天
date = date.minusDays(today - 1);
//创建weekday对象
DayOfWeek weekday = date.getDayOfWeek();
//返回获取1-7的数字代表礼拜一到礼拜天
int value = weekday.getValue();
//System.out.println(value);
System.out.println("Mon Tue Wed Thu Fri Sat Sun");
for (int i=1;i<value;i++) {
System.out.print(" ");
}
while (date.getMonthValue() == month) {
System.out.printf("%3d",date.getDayOfMonth());
if (date.getDayOfMonth() == today) {
System.out.print("*");
}
else {
System.out.print(" ");
}
date = date.plusDays(1);
if (date.getDayOfWeek().getValue() == 1) {
System.out.println();
}
}
if (date.getDayOfWeek().getValue() != 1) {
System.out.println();
}
}
}
觉得还很有意思,可供参考。