本章学习要点:
1. 掌握Java关健语句使用方法;
2. 理解与语句相关的关键字用法;
一、Java 关键语句
Java语句以及关联关键字与C完全相同;
1. 顺序语句;
2. 分支语句(if, switch)
if (条件) {
条件为真,被执行;
}else {
条件为假,被执行;
}
switch(查询值) { // 查询值 整数类型, 字符串
case 匹配条件1: 执行语句; break; // 没有break时被语句一直往后执行直到break; 或default;
case 匹配条件2: 执行语句; break;
default: 未被匹配条件执行; break;
}
3. 循环语句 (do while, for, while)
for (初始值;匹配条件;值更新) {
循环体;
}
do {
循环体;
} while (条件);
while (条件) {
循环体;
}
二、与语句相关关键字
1. break; // 可用于if, switch, do while, while, for中,实现终止代码;
2. continue; // 用于循环语句,表示不往下执行,继续下一个循环过程;
二、代码演示
public class Demo0002 {
void usage() {
System.out.println("--------------- 生活百科 --------------------");
System.out.println("1. 查日期在当年中的某一天 2. 退出");
System.out.println("--------------------------------------------");
System.out.print("请输入命令:");
}
int dayToDays(int year, int month, int day) {
boolean bLeapYear = false;
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
bLeapYear = true;
}
int dayInMonths[] = {31, 0, 31, 30, 31, 30, 31, 31, 30, 31,30, 31};
int days = 0;
for (int ii = 1; ii <= month; ii++) {
if (month == ii) {
break;
}
days += dayInMonths[ii - 1];
}
if (month > 2) {
if (bLeapYear) {
days += 28;
} else {
days += 29;
}
}
days += day;
return days;
}
void dayInYear() {
Scanner scanner= new Scanner(System.in);
int year= 0;
int month= 0;
int day= 0;
do {
System.out.println("请输入年份:");
year = scanner.nextInt();
} while (!(year >= 1900 && year <= 2060));
do {
System.out.println("请输入月份:");
month = scanner.nextInt();
} while (!(month >= 1 && month <= 12));
do {
System.out.println("请输入日期:");
day = scanner.nextInt();
} while (!(day >= 1 && day <= 31));
System.out.format("%d-%d-%d是%d中的第%d天\n", year, month, day, year, dayToDays(year, month, day));
}
public static void main(String[] args) {
Demo0002 demo = new Demo0002();
Scanner scanner = new Scanner(System.in);
boolean bQuit = false;
while (!bQuit) {
demo.usage();
switch (scanner.nextInt()) {
case 1: demo.dayInYear(); break;
case 2:bQuit = true;System.out.println("系统己退出!");break;
default:System.out.println("输入错误, 重新输入");break;
}
}
}
}