Java初学者:基本输入输出方法

上次我们计算数学表达式的时候,是先给变量赋值,然后进行计算,最后把结果显示出来。我们的变量值,是在程序中一开始就已经设定好的。那么如果我们不想一 开始就设定好,而是在程序运行的时候自己输入变量值呢?这就需要基本输入输出了。本次我们就说一下最简单最常用的输入输出方法:Scanner, print.

首先,Scanner,Scanner是什么意思呢?字面理解,扫描仪,扫描器。是的,它就是这个意思,但是它不扫描别的,它扫描用户的输入,其实准确的 说,它监视用户的输入并且得到输入的内容,Scanner是一个java的内建类,为了使用Scanner,我们需要在程序开始手动导入Scanner的 包,这样:import java.util.Scanner; 然后我们需要建立一个Scanner类的实例,为此我们需要使用new关键字。目前为止,我们暂且如此定义一个Scanner实例:

Scanner thename = new Scanner(System.in);

这里有两个地方是可以改动的,一个是thename, 这是你的命名,你可以命名成keyboard,命名成input,只要不是关键字,并且符合命名规则,都可以(但尽量使用有意义的名字,最好不要使用 jianbo,因为我不是一个扫描仪)。还有一个就是System.in,这是参数,在此表示输入设备,大多数时候,也就是键盘了。你可以改成别的,但是 现在,还是别动的比较好。

然后我们怎么使用它呢?比如我们这么定义一个Scanner:Scanner keyboard = new Scanner(System.in);然后呢?然后我们就可以这样得到一个int型的数据了:keyboard.nextInt(),一般,我们应该把 它赋值给一个变量,比如:int n = keyboard.nextInt();这样,java在运行到这里时,会停止,光标闪动,等待你的插入,我是说,等待你的输入,等你输入以后,才会得到 n的值,然后继续运行程序。keyboard.nextDouble() 会得到一个双精度类型的数据,keyboard.nextLine() 会得到一个字符串(即使你输入数字,也会被看成字符串)。

好了,接下来再说说print,这是用来在终端(显示器)上显示信息的命令。在前文我们的例子中已有使用,它的使用方法 是:System.out.print("你要显示的内容"); 其中,System存在于java的lang包里,而out是lang包的子包,print则是out包里面的方法。如果你听不懂的话,暂且如此记住就 好。out包里有很多方法,不只是print一个,就单单说显示信息的方法,常用的就有三个:print,println,printf。这三个有什么异 同呢?

他们三个的共同之处在于,他们的主要功能都是显示信息。而他们的用法也有些相近。那么他们之间的区别呢?让我们来分别介绍一下他们吧。

print方法:这是最基本的输出方法,表示输出信息,停留在本行,不换行。

println方法:这个方法与print类似,唯一不同的是,输出后,换行。

printf方法:这个方法比较不同,这是格式化输出,其用法为printf(字符串格式,变量值),如何做呢?比如这样:

System.out.printf("an integer %d, a double number %f, a string %s, a boolean value %b!", 4, 5.6, "Hello baby", true);

这个的运行结果就是显示这么一条信息:an integer 4, a double number 5.6, a string Hello baby, a boolean value true! %d,代表这里将要替换成一个整型的数,%f,表示这里要替换成一个浮点型的数组,%s,表示这里要替换成一个字符串,%b表示要换成一个布尔型的数。而 后面的4, 5.6, "Hello baby", true,将会对应的替换到前面的信息里,就是说,由于第一个是4,而第一个百分号出现在an integer 后面,于是java就将把4放到那儿,而正好,那里是%d,正好换成一个整型,同理,后面的都一样,按照顺序替换。那如果4那里,你不写4,也不写其他的 整型数字,而是写个什么“what a day”呢?对不起,java会报错,你那儿明明是%d,是要放个整型数据的,可你偏偏来了个字符串,那整不了啦。

好了,这就是基本的输入输出方法,下面我们来做一个简单的两数相加的程序,与以前不同的是,我们这次让用户来输入数据,并且我们用三种方式打印出结果。如下所示:

从上面的结果看出来,使用格式化输出的时候,精度似乎更高了,而其他输出,似乎会丢弃不必要的精度,对此,本菜鸟只是猜测,如有说错请勿见笑。好了,今天就写到这里,希望各位初学者回去多多揣摩练习,多读一些教程,多练习写写程序。

时间: 2024-08-24 00:55:41

Java初学者:基本输入输出方法的相关文章

Java常用的输入输出方法

对于经常上机刷题的来说,首先得解决输入输出方法,Java的输入输出流在Java学习过程的后面部分才会接触,但是我们可以掌握一些简单的,常用的输入输出方法 首先输出 大家最熟悉的莫过于输出方法,直接用System.out.println()或者System.out.print()了下面一个实例 public class Main{ public static void main(String[] args){ System.out.println("hello_1!"); System.

Java初学者

一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和J

一位资深程序员大牛给予Java初学者的学习建议(转)

一位资深程序员大牛给予Java初学者的学习建议 这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议? 今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容, 同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点. 1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线, 非Java Web和Java后

java中System.getProperty()方法详解

java中System.getProperty()方法详解,如下: System.out.println("java版本号:" + System.getProperty("java.version")); // java版本号 System.out.println("Java提供商名称:" + System.getProperty("java.vendor")); // Java提供商名称 System.out.println

java 初学者需注意问题

1.Java为什么能跨平台运行? Java语言编写的程序既是编译型的,又是解释型的.程序代码经过编译之后转换为一种Java字节码的中间语言,Java虚拟机即JVM将对字节码进行解释和运行.编译只进行一次,而解释在每次运行程序时都会进行. Java程序运行在虚拟机上,每个平台都有JVM,所以Java能实现“一次编译,到处运行”. 2.请尝试安装和配置JDK,并给出安装.配置JDK的步骤. jdk可以从Oracle官网上下载,下载后直接安装即可,傻瓜式安装点击下一步,不过切记安装目录中不要有中文.

几周内搞定Java的10个方法

不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”).简单来说,就是Java程序可以直接在任何设备上运行. Java语言是什么? 不管我们是否意识到,实际上我们基本每天都在与Java打交道.在浏览网页时,可能会弹出一个提示,要求必须安装Java才能继续浏览.这种情况一般发生在使用flash或者是通过某种方式将flash组件集成到核心系统的站点. Java并不是那种通常在新电脑上直接下载下来就能用的程序.我不能确定有没有操作系统将Java作

Java初学者必知 关于Java字符串问题

摘自 http://developer.51cto.com/art/201503/469443.htm 下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧: 1.如何比较字符串,应该用”==”还是equals()? 总的来说,”==”是用来比较字符串的引用地址,而equals()才是比较字符串的值.两个值相同的字符串用”==”比较结果有可能是false,而用equals()则一定为true.除非两个字符串是同一个new出来的对象,不然比

Java初学者都必须理解的六大问题<1>

Java初学者都必须理解的六大问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 问题一:我声明了什么! String s = “Hello world!”; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”.这样模糊的回答通常是概念不清的根源.如果要准确的回答,一半的人大概会回答错误. 沈阳463整形医院这

Java初学者都必须理解的六大问题<3>

Java初学者都必须理解的六大问题 对于这个系列里的问题,每个学Java的人都应该搞懂.当然,如果只是学Java玩玩就无所谓了.如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列. 问题四:final关键字到底修饰了什么? 沈阳463整形医院程序final使得被修饰的变量“不变”,但是由于对象型变量的本质是“引用”,使得“不变”也有了两种含义:引用本身的不变,和引用指向的对象不变. 引用本身的不变: final StringBuffer a=new StringBuffe