Java 输入输出咋用?小白一看就会的简单例子

输出语句

今天我们来详细讲解java中的输入输出语句。在前几篇文章中,我们所有的讲解都用到了输出语句,比如hello world 。对数据进行一系列操作后输出运行结果。可以说输入输出语句会贯彻我们整个编程生涯,是非常基础且重要的。

我们之前用的最多的就是System.out.println(); 有的初学者会想,print是打印也就是输出的意思了,那为什么还要用println呢?

首先给大家讲解一下,println 是print line 的缩写,也就是打印并且换行的意思,如果不使用println,会导致输出的内容全部都到了一行上去。下面用小例子给大家演示一下。

// 使用print(不换行)
System.out.print("张三的年龄是18 ");
System.out.print("王五的年龄是20 ");
System.out.print("李四的年龄是19");
System.out.println(); // 手动换行

// 使用println(自动换行)
System.out.println("张三的年龄是18");
System.out.println("王五的年龄是20");
System.out.println("李四的年龄是19");

//大家可以很明显的看到区别

大家可以自己复制用idea运行一下,可以清晰的看出带ln的print和不带ln的print的区别。

怎么样,是不是非常简单明了呢?下面我们讲解一下格式化输出。

格式化输出

有很多初学者上来不理解什么是格式化输出,我这样说就很好理解了,格式化输出,就是按照你想要的输出格式来进行输出。举个例子。我们现在有一串小数double n=1.23456。我们现在想把这个n分别用保留两位小数,保留三位小数来输出。我们用上面的println是不是就不太好实现了呢。所以,格式化输出就是为了解决这类问题的。

我们先用一个小例子给大家看一下。

        double n=1.23456;
        System.out.printf("%.2f\n",n);  //1.23
        System.out.printf("%.3f\n",n);  //1.235
        //   \n的作用是换行

上面的代码,就是使用格式化输出分别保留两位小数和三位小数。

然后我们来讲解一下,首先%,这个是占位符后面跟着的是格式字符串,%f表示n使用浮点数的格式输出.2f表示保留两位小数。同理.3表示保留三位小数。整个意思就是使用保留两位小数的浮点数格式输出。

还有一些其它格式

%d   说明:格式化输出整数

%x   说明:格式化输出十六进制整数

%f    说明:格式化输出浮点数

%e   说明:格式化输出科学计数法表示的浮点数

%s   说明:格式化字符串

以上就是输出的内容,然后我们用个小例子来练习一下。

需求:定义一个浮点型变量表示身高(米),一个整数变量表示体重(千克),使用 printf() 按指定格式输出

        double high = 1.75;
        int weight = 60;
        System.out.printf("身高%.1f米,体重%dKG",high,weight);

//身高1.7米,体重60KG

自己手动尝试一下吧。

输入语句

之所以把输入语句放在输出的后面来讲解,一方面是因为输入语句比输出语句复杂一点。另一方面验证输入有没有成功要使用输出配合着来。

要使用输入语句,首先我们要导入java中预先帮我们实现好的工具类。

import java.util.Scanner;


public class Test {
    public static void main(String[] args){
        // 创建Scanner对象,System.in表示从键盘读取输入
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入你的名字:");
        // 读取一整行字符串,意思是读取完后赋值给name
        String name=scanner.nextLine();
        System.out.println("你好!"+name);
        //用完记得关闭
        scanner.close();
    }
}

再看下面这个

        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入你的姓名:");
        String name=scanner.nextLine();
        System.out.print("请输入你的年龄:");
        int age=scanner.nextInt(); // // 注意:这种方式如果后面还有nextLine()会有缓冲区问题
        System.out.println("你的姓名是"+name+",年龄是"+age+"岁");
        scanner.close();

使用输入的注意事项

在使用Scanner时,有几个需要注意的地方:

1. 类型转换:如果要输入数字,可以有两种方式:
   // 方式1:使用专门的方法
   int age = scanner.nextInt();
   // 方式2:先读取字符串再转换(推荐)
   int age = Integer.parseInt(scanner.nextLine());
 

2. 推荐统一使用nextLine():为了避免输入缓冲区的问题,
建议所有输入都使用nextLine()然后进行类型转换。

上面是我自己在控制台输入的内容以及输出。

大家最好是看过后自己不照着盲敲出来,这样可以更好的帮助大家理解吸收

欢迎大家指正不足之处以及错误之处,相互学习共同进步,下一期我们将讲解判断语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值