[学习笔记]Java输入输出和流程控制

来源:互联网 发布:xml文件解析 java 编辑:程序博客网 时间:2024/06/16 21:59

输入输出

格式化输出

1. 使用 System.out.print(x) 将内容x输出到控制台。如果需要输出后换行,应使用 System.out.println(x),其中x可以是已知数据类型或者是字符串String类型。
2. 可以使用字符串连接符“+”将不同的内容连接起来,当“+”一端不是字符串时,将强制类型转换为字符串,并将字符串连接,且两端必须有一端为字符串。
3. 使用 System.out.printf() 方法进行格式化输出,该方法沿用了C语言中的格式化方案。
例如:
System.out.printf("%8.2f", x)
用8个字符宽度以及小数点后两个字符精度显示x的值,如果 x = 1234.56789 ,那么将打印一个空格和7个字符: 1234.56 。

读取输入

1. 使用 Scanner 对象,并将 System.in 的标准输入流作为参数传入绑定,然后使用 Scanner 对象进行输入。

示例
import java.util.*;
 
/**
* 输入输出演示
*
* @author Jacob Yin
*/
class Demo {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
 
System.out.println("name?");
String name = in.nextLine();
 
System.out.println("age?");
int age = in.nextInt();
 
System.out.println("Hello " + name + "!, Next year u'll be " + (age + 1));
}
}

2. 如果需要输入密码,那么应该使用 Console 类。

流程控制

块作用域

由一对大括号括起来的若干条简单的Java语句。

条件

if (condition1) {
statement1;
} else if (condition2) {
statement2;
} else {
statement3;
}
其中,else if 和 else 不是必须的。

循环

方式一:
while (condition) {
  statement;
}

方式二:
do {
  statement;
} while (condition);

方式三:
for (初始化表达式; 循环条件表达式; 循环后操作表达式) {
  statement;
}

1. while 循环是先判断,后执行;do-while 循环是先执行后判断。
2. for 循环先执行初始化表达式,然后判断循环条件表达式,如果满足则执行循环体,接着执行循环后操作表达式,然后循环判断循环条件表达式,直到不满足为止。也就是说初始化表达式只在一开始执行一次,接下来就是条件表达式->循环体->操作表达式的循环执行。

多重选择

switch (choice) {
case 1:
statement1;
break;
case 2:
statement2;
break;
default:
// bad input
statement3;
break;
}
1. case 标签可以是 char; byte; short 或 int (或其包装类),枚举常量(Java 5),字符串字面量(Java 7支持)。
2. switch 语句从与选项值(choice)相匹配的 case 标签处开始执行,直到遇到 break 语句,或者执行到 switch 语句的结束为止。如果没有相匹配的 case 标签,而有 default 子句,就执行这个子句。

中断流程控制

break/continue
1. break 中断并跳出循环语句块。 continue 中断并将控制转移到该层循环的首部。
2. break 可以使用标签,以便中断并跳出多重循环体。
3. break 标签必须放在希望跳出的最外层循环之前。

示例
/**
* 打印*号三角形,要求打印*的数量达到30个就停止。
*
* @author Jacob Yin
*/
class Demo {
public static void main(String[] args) {
int count = 0;
int i = 1;
countStop: while (true) {
// 打印第i行的*
for (int j = 0; j < i; j++) {
System.out.print("*");
count++;
// 判断如果输出的*达到30个,就跳出最外层循环
if (count == 30) {
break countStop;
}
}
// 换行,并且下一行比这一行多一个*
System.out.println();
i++;
}
}
}

0 0