Java中的输入输出

目录

1 输出到控制台

基本语法

格式化字符串

2 从键盘输入


1 输出到控制台

基本语法

System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出

print 不带 \n,不可以为空

 println 输出的内容自带 \n,可以为空,为空就是默认换行。

printf 的格式化输出方式和 C 语言的 printf 是基本一致的。

格式化字符串

换行符类型举例
d十进制数("%d",100)100
x十六进制数("%x",100)64
o八进制数("%o",100)144
f定点浮点数("%f",100)100.000000
e指数浮点数("%e",100f)1.000000e+02
g通用浮点数("%g",100f)100.00
a十六进制浮点数("%a",100)0x1.9p6
s字符串("%s",100)100
c字符("%c",'1')1
b布尔值("%b",100)ture
h散列码("%h",100)64
%百分号("%.2f%%",2/7f0.29%

2 从键盘输入

使用 Scanner 读取字符串/整数/浮点数

import java.util.Scanner; // 需要导入 util 包

import java.util.Scanner; // 需要导入 util 包
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.nextLine();
System.out.println("请输入你的年龄:");
int age = sc.nextInt();
System.out.println("请输入你的工资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
sc.close(); // 注意, 要记得调用关闭方法
// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0

使用 Scanner 循环读取 N 个数字,并求取其平均值

Scanner sc = new Scanner(System.in);
int sum = 0;
int num = 0;
while (sc.hasNextInt()) {
  int tmp = sc.nextInt();
  sum += tmp;
  num++;
}
System.out.println("sum = " + sum);
System.out.println("avg = " + sum / num);
sc.close();


// 执行结果
10
40.0
50.5
^Z
sum = 150.5
avg = 30.1

补充: 关于nextLine换行符的说明

nextLine这个方法默认以回车作为输入的结束,只识别回车,若先输入一个整数,nextLint  -> 按下回车,然后调用nextLine方法想获得一个字符串,这个字符串拿不到。

解决方法:在某些数据输入之后,在真正想获取字符串之前,在调用一次nextLine方法吃掉这个换行符。

 

注意事项:

import java.util.Scanner; // 需要导入 util 包

当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl + d).

Java中生成随机数的方法:Random

import java.util.Random;//需要导入util包

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值