第五天
来源:互联网 发布:js点击按钮复制链接 编辑:程序博客网 时间:2024/04/28 23:33
Java的方法
1. 方法的声明和调用
什么是方法?
具备特定功能的一段独立的代码段
标准的方法格式:(注意格式的顺序)
修饰符 返回值类型方法名(参数类型 参数名1,参数类型 参数名2…) {
方法体;
return 返回值;
}
注意:
在很多语言里面习惯叫函数,Java叫方法
总结:
如何写一个方法?
明确返回值类型,明确参数列表,定义方法名
注意事项:
方法不调用不执行
方法与方法是平级关系,不能嵌套定义
方法定义的时候参数之间用逗号隔开
方法调用的时候不用再写数据类型
如果方法有明确的返回值,一定要有return带回一个值
理解什么叫形参和什么叫实参
2. 方法的重载
方法重载
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
方法重载特点
与返回值类型无关,只看方法名和参数列表
参数的长度,参数的类型
在调用时,虚拟机通过参数列表的不同来区分同名方法
其实还有一种更好的解决方法,可变参数,后续会讲到
3. 递归(了解)
实现步骤:
1) 首先要定义一个方法
2) 找到出口条件
寻找规律,不断接近出口
4. 作业
1. 描述什么是方法重载
2. 设计一个方法,打印直角三角形,要求可以通过方法参数的形式来控制打印的图像以及高度,比如打印图像为“$”,高度为8
代码如下:
import java.util.Scanner;
public class DaYin{
public static void DaYin(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要打印的图案");
String tu = sc.next();
System.out.println("请输入你要打印的图案高度");
int height = sc.nextInt();
for(int i =1;i<=height;i++){
for(int j =1;j<=i;j++){
System.out.print(tu+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
DaYin();
}
}
3. 设计一个方法,打印nn乘法表,n的值由方法的参数决定
代码如下:
import java.util.Scanner;
public class nnCheng{
public static void nnCheng(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入n的值:");
int n = sc.nextInt();
for(int i =1;i<=n;i++){
for(int j =1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+" ");
}
System.out.println();
}
}
public static void main(String[] args) {
nnCheng();
}
}
4. 素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.
a) 例如:2,3,5,7,11,13,17,19,23.....
a) 写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
b) 输出某个范围内的所有素数,比如100-200之间。
代码如下:
import java.util.Scanner;
public class suShu2{
public static boolean suShu(int n){
int k = (int)Math.sqrt(n);
boolean flag = true;
for(int i = 2;i<=k;i++){
if(n%i == 0){
flag = false;
}
}
return flag;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入上界限:");
int min = sc.nextInt();
System.out.println("请输入下界限:");
int max = sc.nextInt();
System.out.println("此区间范围内的素数为:");
for(int n = min;n<=max;n++){
if(suShu(n)){
System.out.print(n+" ");
}
}
}
}
5. 闰年,能被4整除而且不能被100整除,或者能被400整除就是闰年
c) 判断某个年份是否为闰年(设计成一个方法返回类型boolean)
d) 输出一个范围内的哪些年份是闰年(从2000至2020年)
代码如下:
public class runNian{
public static boolean runNian(int year){
boolean flag = false;
if(year%4 == 0&&year%100 !=0 || year%400 == 0){
flag = true;
}
return flag;
}
public static void main(String[] args) {
for(int n = 2000;n<=2020;n++){
if(runNian(n)){
System.out.print(n+" ");
}
}
}
}