JAVA的方法

JAVA的方法

1.JAVA中的包

​ 1.什么是包:给项目创建文件夹

​ 2.包有什么优点:有效管理文件,预防在同一个项目里面的类名冲突

​ 3如何创建包?

package 包名;
package cn.znsd.test;
注意事项:
	1.层次比较多则使用点.符号
	2.package必须放在类的有效代码的第一句
	3.包名统一小写字母
	4.使用包里面的类
		导入包:
			import 包名;
			import cn.znsd.test.*;
			或者在使用时直接通过  包.
2.什么是方法?

​ 描述对象的行为(动作)。

​ 例如:学生的学习,狗狗的叫,汽车的运行

3.无参数无返回的方法的语法:
创建方法的语法:
	//方法的通用语法
    public static 返回类型 方法名(参数列表){
    
    }
    //无参数无返回的方法的语法
    public static void 方法名(){
    	//方法执行的代码块
    }
调用方法:
	通过方法名直接调用

​ 案例:

static int[] studentNoS=new int[3];//保存学号
static int count=0;//计数器
public static void main(String[] args){
    startMenu();
}

/**
*开始菜单
*/
public static void startMenu(){
    Scanner input = new Scanner(System.in);//创建扫描仪对象
    
    System.out.println("1. 新增学号,2. 删除学号,3. 查询学号,4. 修改学号,5. 退出系统 请选择:");
   	int choose=input.nexInt();
    if(choose==1){
        addStudent();
    }else if(choose==2){
        delStudent();
    }
}

/**
*添加学员信息
*/
public static void addStudent(){
    System.out.println("新增学员信息。。。。");
    System.out.println("省略100行代码。。。。");
    count++;
}

/**
*删除学员信息
*/
public static void delStudent(){
    System.out.println("删除学员信息。。。");
    System.out.println("省略100代码。。。。");
}
4.带一个引用类型参数的方法
创建带引用类型参数方法的语法:
public static void 方法名(引用类型 参数名){
	方法体;
}
调用方法:
方法名(实参);
注意事项:
	1.创建方法时指定的参数称为:形参,必须指定类型
	2.调用方法时使用参数称为:实参,实参必须在调用前声明且赋值,调用时不能指定类型
	3.调用方法时的参数类型必须和创建时的类型一致。
static int count=0;//计数器
static Scanner input=new Scanner(System.in);
public static void main(String[] args){
    System.out.println("------启动程序------");
    String[] studentNos=new String[3];//学生数组
    addStudentNo(studentNos);//实参
    searchStudentNo(studentNos);
}

/**
*实现添加学号操作
*(String[] studentNos)称为参数:形参
*/
public static void addStudentNo(String[] studentNos){
    System.out.println("实现添加学号操作:");
    System.out.println("请输入学号:");
    String studentNo=input.next();
    
    studentNos[count]=studentNo;
    count++;
    System.out.println("添加成功!");
    searchStudentNo(studentNos);
}

/**
*实现查询学号操作
*/
public static void searchStudentNo(String[] nos){
    System.out.println("实现查询学号操作:");
    for(int i=0;i<count;i++){
        System.out.println(nos[i]);
    }
}
5.参数为值传递和引用传递的区别?

​ 1.值传递传递的是值的副本,在方法里面修改副本对原来的变量无影响。

​ 2.引用类型传递的是引用地址的副本,在方法里面修改则会影响原来的变量。

public static void main(String[] args){
    int num=10;
    System.out.println("调用方法之前的值:"+num);//10
    testNum(num);
    System.out.println("调用方法之后的值:"+num);//10
    
    int[] nums={10};
    System.out.println("调用方法之前的值:"+nums[0]);//10
    testNums(nums);
    System.out.println("调用方法之后的值:"+nums[0]);//100
}

//方法的值传递
public static void testNum(int num){
    System.out.println("使用的是值传递、、、、");
    num=100;
}

//方法的引用传递
public static void testNums(int[] nums){
    System.out.println("使用的是引用传递");
    nums[10]=100;
}
6.带返回类型的方法
语法:
public static 返回类型 方法名(参数类型 参数名1,参数类型 参数2.....){

	return 返回类型;
}
调用:
数据类型 变量名=方法名(参数1,参数2....);
public static void main(String[] args){
    int money=buy(100,"红牛",8);//调用buy的方法
    System.out.println("还剩下:"+money);
}

//创建buy的方法
public static int buy(int money,String name,int buyMoney){
    int newMoney=money-buyMoney;
    System.out.println("正在购买:"+name);
    
    return newMoney;
}

public static void test(){
    //return "";//错误
    return;
}
注意事项:
	1.创建方法时如果定义了返回类型,必须用return进行返回,且返回的类型和创建时的返回类型要一致。
	2.创建方法时如果定义的是void (无返回值)的类型,可以用return,也可以不用(通常不用),如果使用了return则不能给值。
	3.调用方法时参数必须和创建方法的参数类型,个数,顺序一致。
	4.如果创建的方法有返回类型,调用时接受的类型必须和返回类型的一致(在类型兼容的情况下也可以)5.在方法里面,如果遇到return关键字,则方法直接结束。如果写在return后面的代码会出现错误。
	比如:
    public static int test(int num){
    	System.out.println("hello....test....");
    	
        if(num>100){
        	retrun num;
        	//System.out.println("hello....");//此代码出现错误,因为return后方法结束,此代码永远不会执行
        }
        
        return 10;
    }
7.成员变量和局部变量

​ 成员变量:

​ 定义 在类里面的变量称为成员变量。

​ 局部变量:

​ 定义在方法里面的变量称为局部变量。

成员变量和局部变量对比:
	1.作用域:在什么范围可以使用。
		成员变量:在类里面可以使用,如果是static修饰称为静态的成员变量,此成员变量是属于类的,可以直接使用。非static修饰则先创建对象(属于对象),再通过对象使用。
		static原因:在第一次使用类时,则内存开好空间保存静态变量。等类销毁 时,静态成员变量则通过GC(jvm回收机制)回收(耗内存)
		非static原因:在对象被创建时,则在内存里面开好空间保存非静态变量的值。等对象销毁时,GC自动回收。
		局部变量:在方法里可以使用,一定先声明变量后面才可以使用。
	2.默认值:
		成员变量:系统会给变量赋一个初始值(默认值),不用赋值都可以使用。
			整型:0
			浮点型:0.0
    		布尔型:false;
			字符型:一个空格
			引用类型:null
		局部变量:无初始值,则先赋值才能使用。
        public class Demo5{
        	//全局变量
        	static int[] studentNos;
        	static int count;//有默认值
        	
            public static void main(String[] args){
            	int num;//局部变量,未赋值则报错
            	//num=10;
            	System.out.println("count--->"+count+",num--->"+num);
            	
            }
        }
        3.当在方法里面出现了局部变量和全局变量同名的情况,优先局部变量。就近原则。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值