【零基础】小声bb Java系列第四讲:数据的输入与输出

大家好,没错,又是我------sao里sao气的浩哥,又来了!拖了很久的技术文终于复更啦,大家期待不?(不期待也别告诉我)

还是像以往那样,在开始正题之前,先扯扯谈吧~

 

从下图一(知乎数据)不难看出,此前发表的两篇文章都没有受到较多的关注。自己没日没夜写的文章却反响平平,当时的我难免有些沮丧甚至开始质疑自己,写作风格是不是不太合适,以致于大家不喜欢?封面图是不是过于单调普通?标题是不是比较正经没趣?其实我在公众号的【每日箴言】中也曾提及过当时的感受(下图二)。

 

(附上【每日箴言】的查看方式。方式有两种,1.进入公众号,点击菜单栏中的『每日箴言』一项,可获取图片版;2.公众号内回复“每日箴言”,可获取文字版。)

 

                               

 

当然,毕竟自己是乐观派,还是自我鼓舞了一番。接下来,在3月初发布的那篇文章,真的开始有了那么点起色,虽然说点赞量收藏量都不是很多,但这些都无所谓,重要的是,我取得了很大的进步,而且证明了我的风格大家也是可以接受的,以及我写的文章能让七百多号人看到,那种feel真的特别棒。

 更让我欣喜的是,居然有读者催更了!

而且,某天无聊的我在搜索引擎上随便输了个“小声bbjava”,出来的前几个词条居然不是广告,也不是其他东西,而是我在几个平台上的文章!老实说,还是挺令人兴奋的嘿嘿,,,

总之,谢谢你们给我的信心与动力,我一定不会辜负你们的期待。

在这一讲里,我想要给大家分享的是在Java中,如何进行数据的输入与输出


1

在上一讲中,我曾给了大家一段Java代码,让大家不必理解其中的含义,直接敲上去运行。

那么这一讲,在讲输入输出之前,我也给大家一段代码运行一波,不过这次我会配上粗略的解释,让大家初步了解一下Java代码的构造,这样能增加大家对Java语言的熟悉度,从而在接下来的阶段更好地理解其他的知识点。

就像你第一次上大学,在尚未踏入校门时,你肯定会先上网查查关于这所大学的资料、图片等等,也会找师兄姐事先了解一波,以便增加对它的熟悉度。等真正踏入校门,见到某某景点,你也能一下子说出它的名字。

 

以下介绍大家目前只需了解即可,以后会继续详细地说。来看下面这段代码~(可以自己试着运行一下)

public class Hello_Haoge {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("中国真是个伟大的国家");
		Chinese zhong_guo=new Chinese();
		zhong_guo.speak("我们是中国人");
	}
}
class Chinese{
	public void speak(String s){
		System.out.println(s);
	}
}

 (大家如果把上述代码直接复制粘贴到eclipse里运行是会报错的哈,因为“Hello_Haoge”仅是我创建的主类的类名,你并没有这个类,因此要把它修改成你创建了的类名。

 

下图就是图片版的介绍,看起来可能会有点乱,大家将就着看一下吧嘿嘿。

当然,文字介绍也少不了。

 

public代表的是存储权限,也叫访问权限。所谓访问权限,就是对象是否有权限去操作自己的变量或者使用类中的方法。Public的中文意思是“公有的”,顾名思义就是用它修饰的变量和方法能被对象操作。

 

那什么是方法呢?Java中的方法其实类似于C语言中的函数。它的定义包括两个部分:方法的声明和方法体。它可以帮助减少程序中的重复代码,让程序结构更加清晰。

 

System.out.println("中国真是个伟大的国家");

这一句其实是打印语句,也就是我们这一讲里要讲的输出语句,等下会详细讲到。

 

Chinese zhong_guo=new Chinese();

这句代码则是创建一个对象,对象名为zhong_guo对象其实是类声明的变量,也就是说,它本质上也是一个变量,跟其他变量不一样的就是它是用类进行声明的,仅此而已。

 

zhong_guo.speak("我们是中国人");

对象名后接上方法名表示该对象调用这个方法,括号里的值则称为“实参”(即实际参数)。那么形参与实参的区别是什么呢?形参只是随便用一个变量进行代表的参数,而实参是实实在在的值,对象在调用方法时通常会把实参的值传递给该方法的形参。

举个通俗的例子吧,我们来看数学中的方程,如x+y=8。方程中的X与y就相当于形参,它们只是一个变量,而当我们想把x=3,y=5代入进去的时候,这个“3”和“5”就是实参了,是实实在在的值。

emmmm,上面的代码已经大致解释的七七八八了。大家可以来看如下这个图,了解一下Java程序的组成构造以及主类与类之间的关系~

 

2

上述可以说是对Java的一个小小的概况吧,不知道大家读完以后,Java有没有成为你们『熟悉的陌生人』了呢哈哈哈。(这时应该要传来萧亚轩的声音~)

 

下面我们继续!Java中如何对数据进行输入和输出操作呢?

首先,要进行输入操作,就需要用到一个Scanner类

在使用这个类之前,我们要先导入这个类,还是那句话,“脑子被门夹的前提是有脑子”嘛。所以使用这个类的前提就是要先有这个类,那怎样才能有呢?就要靠导入了。

import java.util.Scanner;

(关于导包代码的解释以后再说,现在直接用就好啦)

 

然后我们用这个类创建一个对象,对象的创建方法上面已经说过,依葫芦画瓢就好,对象名随便起,输入嘛,这里我就起个input好了。

Scanner input = new Scanner(System.in);

括号里的System.in可以看做一个参数,这个参数表示键盘输入的内容。

 

因为咱们从键盘输入的数据是有多种类型的嘛,因此我们需要让对象调用一些方法来实现对这些数据类型的区分。

 

大家还记得之前讲过的Java的基本数据类型有哪些吗?

 

只要让input对象调用nextBoolean()、nextByte()、nextShort()、nextInt()、nextLong()、nextFloat()、nextDouble()等方法,就可以实现对数据类型的区分啦~

(方法名其实就是在对应的类型名面前加个next)

 

以int型数据为例,

int x = input.nextInt();

这句代码就表示把从键盘上读到的int型数据赋值给x这个变量。

 

好,输入讲完了,肯定要了解一下怎么输出了是吧?输出其实更简单。

输出的方式有两种。分别是System.out.println()与System.out.print();JDK1.5以上版本也可以用System.out.printf();

二者的区别是,前者输出数据后换行,而后者不换行。

有图有真相!

 

我们可以看到用了println输出的“一个发财的数字”,在输出完以后马上就换行了;而用print输出的“一个牛逼的数字”,输出完以后并没有换行,而是紧接着在后面输出“一个很憨的数字”,这就是他们的区别。

 

再举一个例子,让大家更加清楚如何进行输出吧。

例如,我想输出一句暧昧的话,那代码就应该是这样子滴。

System.out.println(“一句暧昧的话”);

或者

System.out.println(“一句暧昧的话”);

 

看到这里,可能有人会举手举脚表示抗议,浩哥,你玩文字游戏!你明明说你会输出一句暧昧的话,怎么就只打了“一句暧昧的话”这几个字?!

 

别急嘛老哥,现在不就来了。

System.out.println(“雨水说天空也会落泪,”+”玫瑰说爱情总会枯萎,”+”离别说寂寞无滋无味,”+”咖啡说活得习惯苦味,”+”路一走就累,雨一碰就碎,”+”只有你在我心里最珍贵。”);

 

 

“浩哥,你好骚~”

 

话说回来,你们知道上述这段代码为啥中间会有加号吗?

其实这个加号是个并置符号(类似于英语中的“and”),它可以将变量、表达式或者一个常数值、字符串并置在一起输出。

 

上述代码中,我只是觉得句子太长了,所以用“+”将它们断开,看起来更加美观清晰。它输出的结果与不添加“+”时的结果是一致的。

 

System.out.println("一个发财的数字:"+x);

这句代码则是通过“+”使字符串与变量x并置一起进行输出。

区分字符串与变量的办法就是,字符串一般是带有双引号的,而变量没有

 

3

最后最后,我把输入输出的用法整合进了一段代码中,大家可以动动手敲一敲运行一波,从而对输入输出有个更好的理解。

/*导入Scanner类*/
import java.util.Scanner;       

public class Hello_Haoge {

	/*主类*/
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("浩哥:你猜猜,高中60分语文作文里面,我最高拿过多少分?");
		
		System.out.print("检验我和你缘分的时候到了:");
		
		while(true){
			
			/*用Scanner类创建一个名为input的对象*/
			Scanner input = new Scanner(System.in);
			
			/*区分所输入数据的类型,并赋值给变量score*/
			int score = input.nextInt();
			
			System.out.println("\n"+"浩粉:你这么菜,应该只拿过"+score+"分吧。");
			
			if((score<=38)&&(score>=0)){
				System.out.println("浩哥:不合格?你也太瞧不起我了吧。罚你点个在看");
			}
			
			if((score<=48)&&(score>38)){
				System.out.println("浩哥:emmmm。还是有点低");
			}
			
			if((score<60)&&(score>48)&&(score!=57)){
				System.out.println("浩哥:很接近很接近了!");
			}
			
			if(score==57){
				System.out.println("浩哥:我去!你简直就是我肚子里的蛔虫啊!这都让你猜到了!");
				break;
			}
			
			System.out.println("\n"+"浩哥:继续猜,猜不对不给你吃鸡腿");
			
			System.out.print("检验我和你缘分的时候又到了:");
		}
		
	}
}

提醒一下哈。为了弄出一个稍微有趣点的互动效果,以上代码中涉及到一些目前尚未提及的知识,大家可以先把能看懂的看看,看不懂的也可以激发学习后面知识点的兴趣嘿嘿。

 

还有就是,大家如果把上述代码直接复制粘贴到eclipse里运行是会报错的哈,因为“Hello_Haoge”仅是我创建的主类的类名,你并没有这个类,因此要把它修改成你创建了的类名

 

以下是运行结果截图。

 

PS:

关注【码界萤火虫】,公众号内回复“作文1”“作文2”可查看浩哥拙作。记得点个在看满足我小小的虚荣心哦。

 

部分资料参考:《Java面向对象程序设计(第2版)》,维基百科,搜狗百科

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值