0
点赞
收藏
分享

微信扫一扫

Java学习(Day 2)

sullay 2022-04-03 阅读 56
javaeclipse

文章目录

基本 if 语句

if then else

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

1、存在else的表达式

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

2、不存在else的表达式

if(表达式) {
    代码
}

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

方法(函数)调用

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

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

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

示例

题目描述

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

输入

一个数

示例:

4

-5

输出

输入数的绝对值

示例:

input:4 ==> output:4

input:-5 ==> output:5

具体代码

package test;

/**
 * 
 * The usage of the if statement.
 * 
 * @author Ling Lin E-mail:linling0.0@foxmail.com.
 * 
 * @version 创建时间:2022年3月31日 下午10:36:21
 * 
 */
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.println("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

运行截图

闰年的计算

1、if 语句的嵌套

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

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

2、基本规律

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

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

3、布尔类型

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

题解

输入

一个用正整数表示的年份

示例:

2000

输出

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

具体代码

package test;

/**
 * The complex usage of the if statement.
 * 
 * @author Fan Min minfanphd@163.com.
 */

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


运行截图

总结

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

举报

相关推荐

Java微服务学习Day2

java-day2

阿昆的Java学习日记Day2

Java学习之路之week4day2

(学习c)day2

前端学习 day2

Flask学习--Day2

Day2学习笔记

0 条评论