printf、switch、for..each、break和continue——Java查缺补漏
来源:互联网 发布:java特殊字符处理 编辑:程序博客网 时间:2024/06/18 12:38
把以前快忘掉的Java补起来。这里仅仅写下来已经忘了或者快要忘了的相关知识,已经记住的部分将不会在此系列中出现。
- 输入输出
- 输入
- 格式化输出printf
- 多重选择 switch 语句
- for each
- braek 和 continue
- break关键字
- 适用
- break的用法
- continue关键字
- 适用于
- 使用细节
- break关键字
输入输出
输入
import java.util.Scanner;public class Input { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//构造一个Scanner对象,并与“标准输入流”System.in关联 System.out.print("Input your name: "); String name = scanner.nextLine();//读取输入的下一行内容 System.out.print("Input your age: "); int age = scanner.nextInt();//读取输入的数据 System.out.println("Hi, " + name + ", you are " + age); }}
关于输入还有一个地方需要提一下
因为输入时可见的,所以Scanner类不适用于从控制台读取密码。Java SE6 特别人入了Console类实现这个目的。
所以大家想要了解此方面内容的话可以有针对性的去搜索一下这个类。
格式化输出(printf)
这里只讲一下格式化输出
public class Output { public static void main(String[] args) { double d = 3.1415926; System.out.println(d); System.out.printf("PI = %.2f\n", d); System.out.printf("PI = %7.2f\n", d); // 格式化小数: double f = 0.123456; System.out.printf("%f\n", f); // 0.123456 System.out.printf("%e\n", f); // 1.234560e-01 System.out.printf("%.2f\n", f); // 0.12 System.out.printf("%6.2f\n", f); // <space><space>0.12 System.out.printf("%+.2f\n", f); // +0.12 // 调整参数顺序: System.out.printf("%s %s %s\n", "A", "B", "C"); System.out.printf("%2$s %1$s %1$s %3$s\n", "A", "B", "C"); // 参数不够,报错: System.out.printf("%s %s %s\n", "A", "B"); }}
其中有些是不够常用的,其中关于它的标志(添加多少空格,在哪里加小数点之类的)和关于日期和时间的转换符在此都不再赘述。
多重选择: switch 语句
- 当没有匹配到任何可选项的时候执行default语句
- 实际上它相当于一组if else语句
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Select 1 ~ 4: "); int opt = scanner.nextInt(); switch (opt) { case 1: System.out.println("Selected 1"); break; case 2: case 3: System.out.println("Selected 2,3"); break; case 4: System.out.println("Selected 4"); break; default: System.out.println("Not selected."); } System.out.println("END"); }}
透过上面的程序可以了解到它的结构,
switch语句特点:
- 它没有{}
- case 语句具有“穿透性”
- 漏写 break 将导致意想不到的结果
- 任何时候都不要忘记写break
- 有break时case顺序无所谓,但还是建议按自然顺序写,增加可读性
- switch语句选择的类型只有四种:byte,short,int , char。
- case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。
- switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号。
- 如果匹配的case或者default没有对应的break,那么程序会继续向下执行,运行可以执行的语句,直到遇到break或者switch结尾结束。
- switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。
- switch 的计算结果必须是正行、字符串或枚举类型
- 尽量少用 switch 语句(别问我为啥,我也不知道)
for each
这个对于java来说可能是比较神奇的遍历方法了,它省去了java开发人员的开发过程中的很多精力。(但是对于python程序员来说 嘿嘿嘿)
- for each 循环能够遍历数组和“可迭代”数据类型,包括List,Map等(后来还知道了包括枚举)
- for each 循环无法指定遍历顺序
- for each 循环无法获取数组索引
braek 和 continue
break关键字:
public class Break { public static void main(String[] args) { int[] ns = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; int sum = 0; for (int i = 0; i < ns.length; i++) { if (i == 5) { System.out.println("break"); break; } System.out.println("add ns[" + i + "]"); sum = sum + ns[i]; } System.out.println(sum); }}
输出:
add ns[0]
add ns[1]
add ns[2]
add ns[3]
add ns[4]
break
15
break 语句用于终止最近的封闭循环或它所在的 switch 语句。控制传递给终止语句后面的语句(如果有的话)。
(也就是跳出循环)
(如果是多层的话可以跳出最近的一层循环)
适用:
for循环 、 switch两种循环语句。
break的用法:
- 单独使用。
- 与标签一起使用。(标签:即一个名字,满足标识符的条件即可)。
使用细节: 不要再break语句之后,编写其他语句,永远都执行不到,编译报错。
continue关键字:
public class Continue { public static void main(String[] args) { int[] ns = { 31, 21, 22, 73, 79, 56, 7, 83, 19, 12, 53, 84, 68 }; int sumOfOdds = 0; for (int n : ns) { if (n % 2 == 0) { System.out.println("skip " + n); continue; } sumOfOdds = sumOfOdds + n; } System.out.println(sumOfOdds); }}
输出:
skip 22
skip 56
skip 12
skip 84
skip 68
366
语句将控制权传递给它所在的封闭迭代语句的下一次迭代。(跳出本循环,执行下一次循环)。
(注意,强调本轮循环,比如直接进行i++)
适用于:
while 、 do while 、 for循环语句
使用细节:
- 如果continue出现在循环的末尾(最后一条语句),那么可以省略。
- 如果continue出现在循环的第一条语句,那么后面的语句都无法执行,所以编译报错。
- 可以结合标记使用。
0 0
- printf、switch、for..each、break和continue——Java查缺补漏
- JAVA基础资料——switch语句、for语句、break和continue的区别
- continue、break 和 switch
- js:for、$.each、 forEach和break和continue
- break continue 在 for循环和 switch 的 不同
- 黑马程序员—Java语言基础(程序流程控制-if、switch、for、while、do while、break、continue)
- switch 中的 break 和continue
- Java基础——break和continue
- Java编程—break和continue语句
- Java编程—break和continue语句
- Java编程—break和continue语句
- for,break和continue
- switch,for,while,break,continue语句
- go-if、for、switch、goto、break、continue
- switch/for/while/break/continue的使用
- java的选择结构switch和循环结构for while do while以及流程控制语句break continue return
- jQuery中each的break和continue
- jQuery中each的break和continue
- (7)caffe总结之Blob,Layer and Net以及对应配置文件的编写
- POJ 3104 Drying (二分求最小值)
- NYOJ-169-素数(第三届河南省程序设计大赛B题(素数判断))
- 蓝桥杯 历届试题 网络寻路 (dfs)
- HTTP协议详解(真的很经典)
- printf、switch、for..each、break和continue——Java查缺补漏
- HDU 5791 Two
- NYOJ_10_skiing【记忆化搜索】
- POJ 1064 Cable master [二分查找] 《挑战程序设计竞赛》3.1
- tpshop提示 请在mysql配置文件修sql-mode为NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
- Spring mvc报错与解决方案
- 分步骤详细解说:H5性能优化方案
- 通达OA二次开发 桌面信息中心工作流按紧急级别排序(图文)
- thinkphp报错No input file specified. (对于隐藏url中的index.php 是如何做到的?)