文章目录

  • 基本 if 语句
  • 1.if then else
  • 2.方法(函数)调用
  • 3.方法(函数)头部规范的注释
  • 4.示例
  • 题目描述
  • 输入
  • 输出
  • 具体代码
  • 运行截图
  • 闰年的计算
  • 1.if 语句的嵌套
  • 2.基本规律
  • 3.布尔类型
  • 4.题解
  • 输入
  • 输出
  • 具体代码
  • 运行截图
  • 总结


基本 if 语句

1.if then else

if-else语句是控制程序流程的最基本的形式,其中else是可选的。基于此就会存在下列三种形式。

1.存在else的表达式

if(布尔表达式) {
    代码
} else {
    代码
}

2.不存在else的表达式

if(表达式) {
    代码
}

注:在代码中常出现的else if并不是什么新语句,而是else后又接上了一个if-else

2.方法(函数)调用

函数的作用一是增加代码的复用性,二是将部分处理过程独立出来提高代码的可读性。

3.方法(函数)头部规范的注释

头部规范的注释是后期生成文档的基础。其原理是解析类似于以@param、@author为开头的等注释来实现在文档中阐述函数参数、作者等信息。

4.示例

题目描述

通过if-else语句判断一个数正负,并以此为依据求出其绝对值。然后自定义一个函数用来求一个数的绝对值。

输入

一个数

示例:

4

-5

输出

输入数的绝对值

示例:

input:4 ==> output:4

input:-5 ==> output:5

具体代码

package test;

/**
 * 
 * The usage of the if statement.
 * 
 * @author ShiHuai Wen E-mail:wshysxcc@outlook.com.
 * @version 创建时间:2022年4月3日 下午9:30:00
 * 
 */
public class IfStatement {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int tempNumber1, tempNumber2;

		// Try a positive value
		tempNumber1 = 5;

		if (tempNumber1 >= 0) {
			tempNumber2 = tempNumber1;
		} else {
			tempNumber2 = -tempNumber1;
		} // Of if

		System.out.pri ntln("The absolute value of " + tempNumber1 + " is " + tempNumber2);

		// Now we use a method/function for this purpose.
		tempNumber1 = 6;
		System.out.println("The absolute value of " + tempNumber1 + " is " + abs(tempNumber1));

		tempNumber2 = -8;
		System.out.println("The absolute value of " + tempNumber2 + " is " + abs(tempNumber2));

	}// Of main

	public static int abs(int paraValue) {
		if (paraValue >= 0) {
			return paraValue;
		} else {
			return -paraValue;
		} // Of if
	}// Of abs

}// Of class IfStatement

运行截图

else if if语句的例题 java if else函数的使用方法java_eclipse

闰年的计算

1.if 语句的嵌套

在if的代码区域可以继续使用if-else形成递进,各个表达式之间是且的关系。
简要代码如下所示:

if (表达式) {
    if (表达式) {
        代码
    } else {
        代码
    }
}

2.基本规律

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)

世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)

3.布尔类型

如同计算机底层结构非0即1一样,布尔类型要表达的正是这种思想,可以表达为正确或错误其中之一的状态。正确则为true,错误则为false。

4.题解

输入

一个用正整数表示的年份

示例:

2000

输出

一个布尔值,true表示是闰年,false表示不是闰年。

具体代码

package test;

/**
 * The complex usage of the if statement.
 * 
 * @author ShiHuai Wen E-mail:wshysxcc@outlook.com.
 * @version 创建时间:2022年4月3日 下午9:50:00
 */

public class LeapYear {

	/**
	 *********************
	 * The entrance of the program.
	 * 
	 * @param args Not used now.
	 *********************
	 */
	public static void main(String args[]) {
		// Test isLeapYear
		int tempYear = 2021;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2000;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2100;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2004;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYear(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		// Test isLeapYearV2
		System.out.println("Now use the second version.");
		tempYear = 2021;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2000;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2100;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");

		tempYear = 2004;

		System.out.print("" + tempYear + " is ");
		if (!isLeapYearV2(tempYear)) {
			System.out.print("NOT ");
		} // Of if
		System.out.println("a leap year.");
	}// Of main

	/**
	 *********************
	 * Is the given year leap?
	 * 
	 * @param paraYear The given year.
	 *********************
	 */
	public static boolean isLeapYear(int paraYear) {
		if ((paraYear % 4 == 0) && (paraYear % 100 != 0) || (paraYear % 400 == 0)) {
			return true;
		} else {
			return false;
		} // Of if
	}// Of isLeapYear

	/**
	 *********************
	 * Is the given year leap? Replace the complex condition with a number of if.
	 * 
	 * @param paraYear The given year.
	 *********************
	 */
	public static boolean isLeapYearV2(int paraYear) {
		if (paraYear % 4 != 0) {
			return false;
		} else if (paraYear % 400 == 0) {
			return true;
		} else if (paraYear % 100 == 0) {
			return false;
		} else {
			return true;
		} // Of if
	}// Of isLeapYearV2

}// Of class LeapYear

运行截图

else if if语句的例题 java if else函数的使用方法java_java_02

总结

分支判断是编程的基础,正如人思考问题一样。如果情况如何,那么就该怎么做。但是如果存在if-else嵌入过深的时候就需要考虑自己的逻辑,可以会运用设计模式中的方法来解决问题。