实验一 条件语句、循环语句的使用
实验目的
1、掌握if条件语句的语法格式,了解if条件语句的执行流程。
2、熟悉switch条件语句的语法格式,了解switch条件语句的特点。
3、掌握while循环语句的语法格式和使用, 了解while循环语句的特点。
4、掌握for循环语句的语法格式和使用,了解for循环语句的特点。
5、掌握循环嵌套的使用和执行顺序。
实验过程
项目1、使用if…else if…else语句实现判断某月是哪个季节的功能
1)编写一个类Example11
2)定义一个变量month用于存储月份。
3)用if条件语句,判断这个月份在哪一个季节并输出结果,如:春季是3、4、5月,夏季是6、7、8月,秋季是9、10、11月,冬季是12、1、2月
4)由于一年只有12个月,所以要过滤除1-12以外的月份值
源代码:
package cn.edu.hbuas.dierzu;
import java.util.Scanner;
public class Example11 {
public static void main(String[] args) {
System.out.println("请输入月份,系统为您判断此时的季节");
Scanner scan=new Scanner(System.in);
int month=scan.nextInt();
if (month == 3 || month == 4 || month == 5) {
//3月、4月、5月,输出结果为春季
System.out.println(month + "月是春季");
} else if (month == 6 || month == 7 || month == 8) {
//6月、7月、8月,输出结果为夏季
System.out.println(month + "月是夏季");
} else if (month == 9 || month == 10 || month == 11) {
//9月、10月、11月,输出结果为秋季
System.out.println(month + "月是秋季");
} else if (month == 12 || month == 1 || month == 2) {
//12月、1月、2月,输出结果为冬季
System.out.println(month + "月是冬季");
} else {
//一年只有12个月,范围不在1-12间的需要过滤掉
System.out.println("没有这个月份,请重新输入");
}
}
}
代码执行结果:
项目2、使用switch 条件语句实现判断选择题对错的功能
1)编写一个类Example12
2)定义一个变量answer用于存储答案选项
3)用switch条件语句判断如果变量answer为B则正确,其它则错误
4)如果变量answer不等于ABCD四个选择则打印“不存在此选项”
源代码:
package cn.edu.hbuas.dierzu;
import java.util.Scanner;
public class Example12 {
public static void main(String[] args) {
System.out.println("请输入你想到答案,系统会为您判断对错");
Scanner scan=new Scanner(System.in);
String answer=scan.next();
switch(answer)
{
case "A":
System.out.println("A错误");//答案为A错误
break;
case "B":
System.out.println("B正确");//答案为B正确
break;
case "C":
System.out.println("C错误");//答案为C错误
break;
case "D":
System.out.println("D错误");//答案为D错误
break;
default:
System.out.println("该选项不存在");//输入范围不合适
}
}
}
代码执行结果:
项目3、使用while语句实现统计1-10以内奇数的个数的功能
1)编写一个类Example13
2)定义一个变量x为1,用while语句循环条件为x<=10
3)在while循环中,使用表达式x%2判断是否为奇数,如果为奇数,则变量count的值加1。
源代码:
package cn.edu.hbuas.dierzu;
public class Example13 {
public static void main(String[] args) {
int x=1;
int count;
count=0;
while(x<=10)
{
if(x%2==1){
count++;//如果为奇数,则变量count+1
System.out.println(x);
}
x++;
}
System.out.println("count="+count);
}
}
代码执行结果:
项目4、使用for循环语句计算1+2+3+4+5...+100表达式的结果
1)编写一个类Example14
2)在该类中定义一个变量sum来存储每次循环整数相加的和。
3)在for循环语句中定义变量x,循环条件为x<=100
源代码:
package cn.edu.hbuas.dierzu;
public class Example14 {
public static void main(String[] args) {
int sum=0;
for(int x=1;x<=100;x++)
{
sum=sum+x;
}
System.out.println("sum="+sum);//输出总和
}
}
代码执行结果:
项目5、用for循环嵌套打印由“*”组成的直角三角形。具体要求如下:
第一个三角形为倒直角三角形,共5行,第一行5个 “*”,一行减少一个,第5行一个“*”
将倒直角三角形上下翻转为正直角三角形,第一行1一个“*”,第5行5个“*”
1) 分析第一个三角形的打印,外层for循环控制行数,初始化表达式从0开始,循环条件为小于5;第一行是5个“*”所以应该内层循环打印5次,初始化表达式从0开始,循环条件为小于5。同理,内层的循环初始化和条件如下所示:
0 1 2 3 4
1 2 3 4
2 3 4
3 4
4
由此可见内层循环的初始化表达式y 与外层的x是相等的,循环条件都是小于5。
2) 分析第二个三角形的打印,第一行1个“*”,第二行2个“*”...由此可见,内层循环的循环次数与行数是相等的,所以内层循环的y小于或等于外层的x。
源代码:
package cn.edu.hbuas.dierzu;
public class Example15 {
public static void main(String[] args) {
for(int x=0;x<5;x++)
{
for(int y=x;y<5;y++)
{