java 方法的返回值


先直接上一段代碼

public class MethodTest01{
	public static void main(String[] args){
		
	}
	public static int test(){
		boolean flag = true;
		if(flag = true){
			return 1;
		}
	}
}

初一看好像並沒有什么問題,在test方法中也有返回值,但是在編譯后:

 

 並沒有返回值。。。

在test()方法中,編譯器只能識別flag是一個boolean類型,但是不能識別字面值,不能識別到底是true還是false,所以編譯器認為可能執行,也可能不執行,所有編譯器為了確保程序正確性,提示錯誤。

修改后:

       第一種修改

public class MethodTest01{
	public static void main(String[] args){
		
	}
	public static int test(){
		boolean flag = true;
		if(flag = true){
			return 1;
		}else{
			return 0;
		}
	}
}

  第二種修改

public class MethodTest01{
	public static void main(String[] args){
		
	}
	public static int test(){
		boolean flag = true;
		if(flag = true){
			return 1;
		}
		return 0;
	}
}

  第三種修改使用三目運算符

public class MethodTest01{
	public static void main(String[] args){
		
	}
	public static int test(){
		boolean flag = true;
		return flag ? 1:0;
	}
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM