Java技术之输入输出
读取输入
import java.util.Scanner;
public class Note {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("你的名字?");
String name = scanner.nextLine();
System.out.println("你的年龄?");
int age = scanner.nextInt();
System.out.println("你的名字叫" + name + ",一年以后你的年龄为" + (age + 1) + "岁");
}
}
格式化输出
用于printf的转换符
转换符 | 类型 | 举例 |
---|---|---|
d | 十进制整数 | 159 |
x | 十六进制整数 | 9f |
o | 八进制整数 | 237 |
f | 定点浮点数 | 15.9 |
e | 指数浮点数 | 1.59E+01 |
g | 通用浮点数 | - |
a | 十六进制浮点数 | 0x1.fccdp3 |
s | 字符串 | Hello |
c | 字符 | H |
b | 布尔 | Ture |
h | 散列码 | 42628b2 |
tx或Tx | 日期时间(T强制大写) | 已经过时,应该改为使用java.time;类 |
% | 百分号 | % |
n | 与平台有关的行分隔符 | - |
用于printf的标志
标志 | 目的 | 举例 |
---|---|---|
+ | 打印正数和负数的符号 | +3333.33 |
空格 | 在正数之前添加空格 | | 3333.33| |
0 | 数字签名补0 | 3333.33 |
- | 左补齐 | |3333.33 | |
( | 讲负数括在括号内 | ( 3,333,33) |
, | 添加分组分割符 | 3,333,33 |
#(对于f格式) | 包含小数点 | 3,333. |
#(对于x或0格式) | 添加前缀0x或0 | 0xcafe |
$ | 给定被格式化的参数索引.例如 %1d,%1x将以十进制和十六进制格式打印第一个参数 | 159 9F |
< | 格式化前面说明的数值.例如 %d%<x以十进制和十六进制打印同一个数值 | 159 9F |
时间和日期的转换符
转换符 | 类型 | 举例 |
---|---|---|
c | 完整的日期和时间 | Mon Feb 09 18:05:19 PST 2015 |
F | ISO8601日期 | 2015-02-09 |
D | 美国格式的日期(月/日/年) | 02/09/2015 |
T | 24小时时间 | 18:05:19 |
r | 12小时时间 | 06:054:19 pm |
R | 24小时时间没有秒 | 18:05 |
Y | 4位数字的年(前面补0) | 2015 |
y | 年的后两位数字(前面补0) | 15 |
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之间 | 018 |
k | 两位数字的小时(前面不补0),在0到23之间 | 18 |
I | 两位数字的小时(前面补0),在0到12之间 | 06 |
l | 两位数字的小时(前面不补0),在0到12之间 | 6 |
M | 两位数字的分钟(前面补0) | 05 |
S | 两位数字的秒(前面补0) | 019 |
L | 三位数字的毫秒(前面补0) | 047 |
N | 九位数字的毫微秒(前面补0) | 47000000 |
P | 上午或下午的标志 | pm |
z | 从GMT起,RFC822数字位移 | -800 |
Z | 时区 | PST |
s | 从格林威治时间1970-01-0100:00:00起的秒数 | 1078884319 |
Q | 从格林威治时间1970-01-0100:00:00起的毫秒数 | 1078884319047 |
public class Note {
public static void main(String[] args) {
String message;
message = String.format("Hello, %s. Next year, you'll be %d", "twoapes", 21);
System.out.println(message);
//输出结果
//Hello, twoapes. Next year, you'll be 21
//明显%s替换了"twoapes",%d替换了"21"
message = String.format("%#o", 33);
System.out.println(message);
//输出结果
//041 如果是8进制则返回0..开头的16进制数字
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦