java变量类型

java变量类型

java语言支持的变量类型有:
类变量:独立于方法之外的变量,用static 修饰
实例变量:独立于方法之外的变量,不过没有static 修饰。
局部变量:类的方法中的变量。

package com.Test.java;

public class Variable {
	static int allClicks = 0; //类变量
	
	String str = "hello world" ;//实例变量
	
	public void method(){
		
		int i = 0; //局部变量
		
	}

}

实例变量

1.实例变量声明在一个类中,但是在方法、构造方法和语句块之外;
2.当一个对象被实例化之后、每个实例变量的值就跟着确定;
3.实例变量在对象创建的时候创建,在对象被销毁的时候后销毁;
4.实例变量至少应该能 被一个方法、构造方法或者语句块引用。是的外部能够通过这些方式获取实例变量信息

方法:
修饰符 返回值类型 方法名(参数类型 参数名1,参数名2…){
方法体语句;
return返回值;
}

说明
修饰符:暂时先写 public static,后面再添加其他的修饰符和作用。
返回值类型:可以是java中任何一种数据类型(基本数据类型和引用数据类型),如果方法执行结束后,没有任何的返回值,返回值类型填写void,那表示没有返回值。
方法名 :自己定义,只要符合命名规则即可,使用驼峰方法明明,即第一个首字母小写,后面的单词首字母大写,例如:sumInt.
参数

    1.没有参数:如果没有参数,参数类型和参数名可以不写,()里面空着就可以。
    2.有参数:可以有一个,或者多个参数,多个参数用,隔开
    3. 参数类型:就是参数的数据类型,基本数据类型和引用数据类型都可以
    4.参数名:就是变量名,符合命名规则即可
    5. 方法体语句:就是完成功能的代码。
    return:如果方法的返回值类型不是void,那么在方法体中必须使用return语句来返回数据。return语句一旦执行,则方法结束
    返回值:方法执行的结果,经结果返回给调用者。

例如:

package com.Test.java;

public class Method {
	public static void main(String [] args){
//          sumInt(20,30);
		int sum1 = sumInt(10,30);
		System.out.println(sum1);
	} 
/*public static void  sumInt(int a , int b){    //这是没有返回值的
	int sum = a+b ;
	System.out.println(sum);
	
	
}*/
public static int sumInt(int a , int b){      //这是有返回值的
	int  sum = a+b;
	return sum;
}

}

编写方法时候 不能在min 方法里面编写 也不能超过类体进行编写。

**

如何调用不同类里面的方法?运行下面代码即可

**

package com.Test.java;

public class Method2 {
	public static void main (String [] args){
		Method03.m1();
		m1();
	}
	
	public static void m1(){
		System.out.println("m1");
	}

}
class Method03{
	public static void m1(){
		System.out.println("这个是Method03里面的m1");
	}
}

方法的调用规则是怎样的呢?看下面代码:

package com.Test.java;
/**
 * 
 * 方法的调用规则:从上往下调用执行的。    切记  方法之间不能相互调用  例如下面的m5   和      m6方法就会出现   java.lang.StackOverflowErro  错误
 *
 */

    public class Method04 {
    	public static void m1(){
    		System.out.println("m1");
    	}
    	public static void m2(){
    		System.out.println("m2");
    	}
    	public static void m3(){
    		System.out.println("m3");
    	}
    	public static void m4(){
    		System.out.println("m4");
    	}
    	public static void m5(){
    		m6();
    	}
    	public static void m6(){
    		m5();
    	}
                      public static void main(String [] args){
    		m1();
    		m2();
    		m3();
    		m4();
    		m2();
    		m1();
    		m5();
    	}
    }

return 的用法你知道吗?

return是用来结束方法的 return之后的语句不会再执行
例如下面代码 运行 即可:
package com.Test.java;
/**
*

  • return的用法 return是结束方法的 方法内 return后面的语句不再执行。

*/

public class Method05 {
	public static void main(String [] args){
		int sum1 = m1(10,20);
		System.out.println(sum1);
		m2(1);
	}
	
	public static int m1(int a , int b){
		int sum = a + b ;
		return sum;
//		下面的语句是错误的  因为方法内return 之后语句就结束了 不会再执行  所以会报错
//		System.out.println(sum);   
	}
	
	public static boolean  m2 (int a){
		if(a == 0 ){
			return true;
		}else{
			return false;
		}
	}

}

你知道方法的(overload)重载吗??看下面代码即可

package com.Test.java;
/**
*

  • 方法的重载 : 条件:
  • 1.必须是在同一个类里面
    
  • 2.方法名必须相同
    
  • 3.参数列表不同(参数类型不同、参数个数不同、参数顺序不同)
    
  • 注意
  •  1.方法的重载和有无void(返回值类型)没有关系。
    
  •  2.方法的重载和修饰符列表也没有关系(有无static)
    

*/

public class Method06 {
	public static void main(String [] args){
		
	} 
	//下面两个方法构成重载,原因是:参数个数不同
	public static void m1(){
		
	}
	public static void m1(int i){
		
	}
    //下面两个方法也构成重载,原因是:参数类型不同
	public static void m2(int a , int b){
		
	}
	public static void m2(short a , short b){
		
	}
	//下面两个方法构成重载,原因是:参数顺序不同   
	public static void m3(int c , long b){
		
	}
	public static void m3(long b , int c){
		
	}
	//下面不构成重载,原因是重载和返回值类型没有关系
	/*public static void m4(){
		
	}
	public static m4(){
		return 1;
	}*/
	//下面也不构成重载,原因是重载和修饰符列表不同没有关系
	/*public static void m5(){
		
	}
	public void m5(){
		
	}*/

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值