Java_语法基础03_函数(方法)

为什么要创建函数(方法)?

1.循环的意义?
答:是将一些重复的代码进行封装,减少了空间资源的占用率,避免了代码冗余。
2.函数的出现?
答:函数的出现主要解决了一些功能性代码重复的问题
3.什么叫做功能性代码?
答:功能性代码具体就是指这段代码具有一些独立的小功能,可以利用这些功能去解决一些问题。
4.什么是函数?
答:函数就是定义在类中的一段具有独立功能的小程序,能被多次使用。

函数定义的格式

访问修饰符 函数类型 返回值类型 函数名(参数列表){
//函数体;
//return 返回值;
}

  • 访问修饰符:public(公共的) protected(受保护的) private(私有的)
  • 函数类型:static静态函数 Synchronized同步函数
    native本地函数
  • 参数列表:参数类型1 参数名1, 参数类型2 参数名2,…
  • 函数体:具体实现功能的代码
  • return:表示结束当前函数,当有返回值时,返回该值
  • 返回值:如果没有返回值,返回类型就为void,每次返回只返回一个数

Test01

    public static int pow(int x,int n){
        int res=1;
        for(int i=1;i<=n;i++){
            res=res*x;
        }
        return res;
    }

该代码中,对应的访问修饰符为public,函数类型为static,函数返回类型为int,函数名为pow,参数类型1int 参数名1x,参数类型2int 参数名2n,返回值为int型的res,该代码最终实现结果是x的n次幂。

return与参数

有参有反:正常情况
有参无反:
无参有反:函数内部一般操作的是全局变量
无参无反:
对于无返回值的函数而言 不能输出 不能赋值 不能参与计算 只能调用
对于有返回值的函数而言 可以输出 可以赋值 可以参与计算 也能调用

Test02在这里插入图片描述

import java.util.Scanner;
class miqi06{
	/*
	数据:密码
	步骤:
	1.先运行main()函数,用户输入一个密码
	2.判断该密码是否合法
		调用isValid()函数判断,如果ture,则合法,false,则非法
	3.调用isValid()函数判断
		调用isRight1(pwd)&&isRight2(pwd)&&isRight3(pwd)
	4.实现isRight1(pwd)判断
	  实现isRight2(pwd)判断
	  	调用isDigit(char c)判断是否为数字
	  	调用isLetter(char c)判断是否为字母
	  实现isRight3(pwd)判断
		调用isDigit(char c)判断是否为数字
	5.最终判断isRight1(pwd)&&isRight2(pwd)&&isRight3(pwd)
	为真,则返回true,输出合法。
	*/
    public static void main(String[] args){
    	//创建一个Scanner类对象
        Scanner scanner=new Scanner(System.in);
        //提示用户键入输入
        System.out.print("请输入密码:");
        //读取输入的值并将它赋值给pwd
        String pwd=scanner.nextLine();
        //判断密码是否合法
        if(isValid(pwd)){
            System.out.println("Valid Passwd");
        }else{
            System.out.println("Invalid Passwd");
        }
    }
    /*
	isValid(String pwd)函数,判断是否三个密码要求
	*/
    public static boolean isValid(String pwd){
        return isRight1(pwd)&&isRight2(pwd)&&isRight3(pwd);
    }
    /*
    isRight1(String pwd)判断该密码是否大于等于8位
    */
    public static boolean isRight1(String pwd){
        return pwd.length()>=8;
    }
    /*
	isRight2(String pwd)判断该密码是否只包含数字或字母
	*/
    public static boolean isRight2(String pwd){
        for(int i=0;i<pwd.length();i++){
            char c=pwd.charAt(i);
            if(!isDigit(c)&&!isLetter(c)){
                return false;
            }
        }
        return true;
    }
    /*isDigit(char c)判断密码中字符是否是数字*/
    public static boolean isDigit(char c){
        return c>='0'&&c<='9';
    }
    /*isLetter(char c)判断密码中字符是否是字母*/
    public static boolean isLetter(char c){
        return (c>='a'&&c<='z')||(c>='A'&&c<='Z');
    }
    /*isRight3(String pwd)判断该密码中是否至少包含两位数字*/
    public static boolean isRight3(String pwd){
        int digitCount=0;//标记,记录数字的个数
        for(int i=0;i<pwd.length();i++){
            char c=pwd.charAt(i);
            if(isDigit(c)){
                digitCount++;
            }
        }
        return digitCount>=2;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值