通过这一周的学习,掌握了java的基本语法规则,其中让我最为深刻的有两点:一是控制台包的调用;二是流程控制continue。
- 控制台的输入
通过程序对dos命令窗口数据的读取,一定程度实现了“互动”,能够设计出很多方便的程序,比如下面这个计算班级学生成绩平均值的程序:
import java.util.Scanner;
public class TestFor1{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int i,a , sum = 0;
System.out.println("请输入班级学生人数:");
int b = input.nextInt();
for ( i = 1;i <= b; i++){
System.out.println("请输入第"+i+"个同学的分数");
a = input.nextInt();
if(a < 0 || a > 100){
System.out.println("请输入0~100内的数值");
break;
}
sum = sum + a;
}
if(i == b+1)
System.out.println("平均分为:"+sum/b);
}
}
首先程序能够通过调用Scanner.class,读取班级的人数,通过人数确定输入多少次成绩,最后除以班级的人数求出平均值。如果,不调用包,当人数变化时,还需要对程序进行修改。
2. continue语句
在程序中执行到continue时,会跳出本次循环,进入下一次,这个语句会有很大的用处。比如在下面这个计算1+3+5+……+99的算方法中。
常规思路为:
public class Work2For{
public static void main(String[] args){
int sum = 0;
for (int i = 1; i <= 99; i += 2){
sum = sum + i ;
}
System.out.println(sum);
}
}
但此方法不够灵活,下面是使用continue改进后的程序
public class Work2For{
public static void main(String[] args){
int sum = 0;
for (int i = 1; i <= 99; i ++){
if( i%2 == 0)
continue;
sum = sum + i ;
}
System.out.println(sum);
}
}
利用continue当为偶数时,跳过本次循环进行下一次,这样设计方便后续根据不同的需求对程序进行改进。
还有下面这段代码,也很好展现continue的优点。
String str = input.next();
switch (str){
case "剪子": player = 0; break;
case "石头": player = 1; break;
case "布": player = 2; break;
default:System.out.println("请出: “剪子”、 “石头”或“布”"); continue;
}
程序从dos命令窗口读取字符,当不满输入时,会通过continue,结束本次循环,进行下一次循环,提示输入,直至输入正确为止。
通过对continue语句的利用,能够产生很多不错的效果。
除了以上的两点,for语句的嵌套使用,也是比较重要的内容,后续的学习了还应加强这一部分的练习