Java学习总结--第三章 控制语句

本文总结源自《Java语言程序设计》原书第五版,作者为Y.daniel Liang,习题及编程练习均参照此书。


主要内容

本章介绍了java语言中循环(loop)的使用方式。

条件语句

  • if语句
  • if…else语句
  • 嵌套if语句
  • switch语句
  • 条件表达式:符号?和:在条件表示式中同时出现,构成java中唯一的三目运算符
    例如 (x>y)?x:y

循环语句

  • while循环
  • do-while循环
  • for循环
    如果知道循环次数,就选择for循环;如果不知道次数,就选择while循环。

关键字break和continue

  • break: 跳出离它最近的循环体。
  • continue: 跳出当次循环。
  • 利用语句标号终止循环:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    outer:
    for(int i=0;i<0;i++){
    inner:
    for(int j=1;j<10;j++) {
    if (i*j>50) {
    break outer;
    }
    System.out.println(i*j);
    }
    }

复习小结

  • while循环执行最多n次,do-while循环执行次数最多是n+1次。
  • 从jdk1.7开始,switch变量增至6个:byte,int,long,short,enum,String。后两个为新增的。
  • 使用switch语句,可以处理多种情况,简化代码。
  • for语句可以写为如下形式:
    1
    2
    3
    for( ; ; ) {
    //do something
    }

这样可以在不知道具体循环次数的情况下保证代码的正常运行。


编程练习

3.2 (三个整数排序):见三个整数进行比较大小的三种方法

3.14 (查找两个最高分)编写程序,提示用户输入学生的数量及每个学生的名字和得分,而后显示最高分的学生。
解题思路:使用hashMap存入key-value,排序后显示,代码如下:(本题解法,若按照书中顺序,是无法完成的。看书时没有细想,参考了网上的解法。有时间再回来更新吧0.0)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class $3_14 {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
Scanner scanner = new Scanner(System.in);
System.out.println( "请输入学生的数量:");
int num = scanner.nextInt();
for (int i = 0; i < num; i++) {
System.out.println("请输入学生的姓名: ");
String name = scanner.next();
System.out.println("请输入该生的成绩: ");
int hh = scanner.nextInt();
map.put(name, hh);
}
List<Map.Entry<String, Integer>> infolds = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
//排序
Collections.sort(infolds, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return (o2.getValue() - o1.getValue());
// return (o1.getKey()).toString().compareTo(o2.getKey());
}
});
for (int i = 0; i < infolds.size(); i++) {
String id = infolds.get(i).toString();
System.out.println(id);
}
}
}

习题3.5 3.7 3.10 3.12 3.13 3.19 3.20 3.21 3.25 3.27 3.28 3.30 3.31 3.34源代码见我的Github: chapter3



本文章首发www.whtis.com,转载请注明出处


如果觉得这篇文章还有用的话,请我喝杯饮料呗~~