目录
前言
- 该文章为Java基础自学笔记,同时附有学习工具等资源,供大家使用
- 其他内容:Java基础学习笔记目录
- Java基础学习视频:Java入门基础视频教程,java零基础自学首选黑马程序员Java入门教程
- 学习用书:
《Java核心技术 卷Ⅰ 基础知识(第10版)》 提取码:2022
《Java经典编程300例》提取码:2022
第四章 输入输出
4.1 读取输入——Scanner类
方法 | 说明 |
---|
nextLine() | 输入一行(包含空格),返回String类型 |
next() | 输入一个字符串(空格将作为分隔符) |
nextInt() | 输入一个int型数字 |
【Scanner类案例】键盘录入技术
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的年龄:");
int age = sc.nextInt();
System.out.println("您的年龄是:" + age);
System.out.println("请输入您的名称:");
String name = sc.next();
System.out.println("欢迎:" + name);
}
}
请输入您的年龄:
15
您的年龄是:15
请输入您的名称:
狗蛋儿
欢迎:狗蛋儿
4.2 格式化输出——printf类
- 以%字符开始的格式说明符由相应的参数替换,格式说明符尾部的转换符指示被格式化的数值类型
System.out.printf("%8.2f", 10000.0 / 3);
打印: 3333.33
System.out.printf("Hello, %s. Next year, you'll be %d", "Tom", 16);
打印:Hello, Tom. Next year, you'll be 16
转换符 | 类型 | 举例 | 转换符 | 类型 | 举例 |
---|
d | 十进制整数 | 159 | s | 字符串 | Hello |
x | 十六进制整数 | 9f | c | 字符 | H |
o | 八进制整数 | 237 | b | 布尔 | true |
f | 定点浮点数 | 15.9 | h | 散列码 | 42628b2 |
e | 指数浮点数 | 1.59e+01 | tx或Tx | 日期时间(T强制大写) | 已过时,应使用java.time类 |
g | 通用浮点数 | | % | 百分号 | % |
a | 十六进制浮点数 | 0x1.fccdp3 | n | 与平台有关的行分隔符 | |
System.out.printf("%,.2f",10000.0/3);
打印:3,333.33
System.out.printf("%,(.2f",-10000.0/3);
打印:(3,333.33)
标志 | 目的 | 举例 |
---|
+ | 打印正数和负数的符号 | +3333.33 |
空格 | 在正数之前添加空格 | < 3333.33> |
0 | 数字前面补0 | 003333.33 |
- | 左对齐 | <3333.33 > |
( | 将负数括在括号内 | (3333.33) |
, | 添加分组分隔符 | 3,333.33 |
#(对于f格式) | 包含小数点 | 3,333. |
#(对于x或0格式) | 添加前缀0x或0 | 0xcafe |
$ | 给定被格式化的参数索引。例如,%1$ d,%1$x将以十进制和十六进制格式打印第1个参数 | 159 9F |
< | 格式化前面说明的数值。例如,%d%<x以十进制和十六进制打印同一个数值 | 159 9F |
- 使用静态的String.format()方法创建一个格式化的字符串
String str = String.format("Hello, %s. Next year, you'll be %d", "Tom", 16);