输入输出

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

数字前面补0

003333.33

-

左对齐

|3333.33 |

(

将负数括在括号内

(3333.33)

,

添加分组分隔符

3,333.33

(对于f格式)

包含小数点

3,333.

(对于x或0格式)

添加前缀0x或0

0xcafe

$

给定被格式化的参数索引

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

F

ISO 8601 日期

2004-02-09

D

美国格式的日期(月/日/年)

02/09/2004

T

24小时时间

18:05:19

r

12小时时间

06:05:19 pm

R

24小时时间没有秒

18:05

Y

4位数字的年(前面补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格式说明符语法:

java Process 控制输入 java控制输出_Java基础

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也有带标签的版本,可以跳转到与标签匹配的循环首部。