Java复习笔记(2)——输入、输出和控制流程

本文介绍了Java中的输入输出操作,包括使用Scanner类读取数据和PrintWriter类写入数据的方法。此外,还详细讲解了printf方法的格式化输出及日期时间格式化,以及Java中的控制流程结构如if条件语句、while循环、do-while循环、for循环和switch语句等。

输入输出

1、构造Scanner对象读取输入:

    Scanner in= new Scanner(System.in);

2、使用print方法相控制台输出:

    System.out.print(x);

3、可以用printf方法实现格式化输出,转换符如下表:

转换符类型举例
d十进制整数159
s字符串Hello
x十六进制整数9f
c字符H
o八进制整数237
b布尔True
f定点浮点数15.9
h散列码24628b2
e指数浮点数1.59e+01
t_日期时间
g通用浮点数
%百分号%
a十六进制浮点数0x1.feedp3
n与平台有关的行分隔符

4、用于printf的标志

标志目的举例
+打印整数和负数的符号+3333.33
空格在整数之前添加空格| 3333.33|
0数字前面补0003333.33
-左对齐|3333.33 |
(将负数括在括号内(3333.33)
,添加分组分隔符3,333.33
(对于f格式)包含小数点3,333.
(对于x或0格式)添加前缀0x或00xcafe
$给定被格式化的参数索引159 9F
<格式化前面说明的数值159 9F

5、$ 和 < 标志使用举例:

    System.out.printf(“%1$s %2$tB %2$te %2$tY”,
    “Due date:”, new Date());
    System.out.printf(“%s %tB %<te %<tY”,   “Due date:”, new Date());

输出为:

    Due date: February 9, 2004

6、printf中日期和时间的转换符:

转换符类型举例
c完整的日期和时间Mon Feb 09 18:05:19 PST 2004
FISO 8601 日期2004-02-09
D美国格式的日期(月/日/年)02/09/2004
T24小时时间18:05:19
r12小时时间06:05:19 pm
R24小时时间没有秒18:05
Y4位数字的年(前面补0)2004
y年的后两位数字(前面补0)04
C年的前两位数字(前面补0)20
B月的完整拼写February
b或h月的缩写Feb
m两位数字的月(前面补0)02
d两位数字的日(前面补0)09
e两位数字的月(前面不补0)9
A星期几的完整拼写Monday
a星期几的缩写Mon
j三位数的年中的日子(前面补0),在001到366之间069
H两位数字中的小时(前面补0),在0到23之间18
k两位数字中的小时(前面不补0),在0到23之间18
I两位数字中的小时(前面补0),在0到12之间06
l两位数字中的小时(前面不补0),在0到12之间6
M两位数字的分钟(前面补0)05
S两位数字的秒(前面补0)19
L三位数字的毫秒(前面补0)047
N九位数字的毫微秒(前面补0)047000000
P上午或下午的大写标志PM
p上午或下午的小写标志pm
z从GMT起, RFC822数字位移—- 0800
Z时区PST
s从格林威治时间1970-01-01 00:00:00起的秒数1078884319
Q从格林威治时间1970-01-01 00:00:00起的毫秒数1078884319047

7、printf格式说明符语法:

这里写图片描述

8、可以利用Scanner类进行文件读入:

    Scanner in = new Scanner(Paths.get(“myfile.txt”));

9、利用PrintWriter类进行文件写入:

    PrintWriter out = new PrintWriter(“myfile.txt”);

10、寻找当前编译环境下的默认路径:

    String dir = System.getProperty(“user.dir”);

控制流程

1、块(block)是指由一对花括号括起来的若干条简单的Java语句。块指定了变量的作用域。块可以嵌套。

2、不可以在嵌套的两个块中生命同名的变量。

3、条件语句格式:

    if(condition){ statements; }

4、while循环格式:

    while(condition){ statements; }

5、do while 循环格式:

    do { statements; } while(condition)

do while 循环的循环体至少会执行一次。

6、利用for循环可以更新循环计数器或类似的变量来控制迭代次数。

7、Java允许for循环的各个部分放置任何表达式,但是有一条不成文的规则:for语句的三个部分应该对统一个技术区变量进行初始化、检测和更新。若不遵守这一规则,编写循环常常晦涩难懂。

8、利用switch语句可以进行多重选择。

9、switch语句的case标签支持如下几种类型:

  • 类型为char、byte、short或int (或其包装器类Character、Byte、Short和Integer)的常量表达式

  • 枚举常量

  • 从Java SE 7 开始,case标签还可以是字符串常量

10、通常,使用goto语句被分为是一种拙劣的程序设计风格,但偶尔使用goto语句跳出循环是有益处的。

11、可以使用break语句跳出循环。

12、Java还提供了一种带标签的break语句,用于跳出多重嵌套循环语句。这里的标签必须放在希望跳出的最外循环之前,并跟一个冒号。

label:
while(...) {
    ...
    for(...) {
        ...
        break label;
    }
}

13、continue语句可以将控制转移到最内层循环的首部。

14、continue也有带标签的版本,可以跳转到与标签匹配的循环首部。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值