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 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦