从控制台输入内容|学习笔记

简介: 快速学习从控制台输入内容。

开发者学堂课程【Scala 核心编程-基础从控制台输入内容】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8908


从控制台输入内容

 

基本内容

一、 键盘输入语句

二、 Scala 的实现

 

一、 键盘输入语句

1、 介绍

在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。

InputDemo.scala

2、 步骤:

(1) 导入该类的所在包

(2) 创建该类对象(声明变量)

(3) 调用里面的功能

scala 里面比较简单,其实只使用了一个方法。

3、 案例演示

要求:可以从控制台接收用户信息姓名,年龄,薪水】。

(1) 回顾 Java 的实现;//自行复习

(2) Scala 的实现 [ import scala. io StdlIn ]

 

二、 Scala 的实现

1、 案例演示

首先新建一个包,起名为“inputcon”。

package com. atguigu. chapter03. inputcon

object Demo01 {

def main(args: Array[string] ): Unit = {

/*

要求:可以从控制台接收用户信息姓名,年龄,薪水】。

*/

println(“请输入姓名”) //提示程序的一句话

val name = StdIn.readLine1 ( )

//1在文章最后有详细解释

//输出:使用一个变量来接收,注意:此处的 StdIn 是 object,在前面几节课的学习中知道,object 中的程序是直接可以使用的。

println(“请输入年龄”)

val age = StdIn.readInt()

//年龄是整数。

println(“请输入薪水”)

val sal = StdIn.readDouble()

//薪水是 Double 类型的。

printf(“用户的信息为 name=%s age=%d sal=%.2f,name,age,sal)

//格式化输出信息

2、 输出的结果:

image.png

在代码执行的过程中,如果执行到某个地方,可以看到光标在某个地方进行闪烁,但实际上看不到,程序会等待设计者进行输入,假设输入名字:Tom;名字输入完之后会提示输入年龄,接着输入年龄:90;接着输入薪水:78907.12

最后就可以看到用户的信息为 name=tom age=90 sal=78907.120000,薪水之后会默认保留小数六七位,所以需要格式化:sal=%.2f

3、 总结

在 scala 里面如何获取它的输入非常简单,比 java 还简单,Java 需要设计一个对象去读,但是在 scala 里面直接设计object,从 object 里面直接读取就可以了,这个方法来自于 StdIn 的特质,这是继承过来的一个方法。

1此处讲解为什么 StdIn.readLine( )可以直接使用;

object Demo01 {

def main(args: Array[string] ): Unit = {

/*

要求:可以从控制台接收用户信息姓名,年龄,薪水】。

*/

printl(“请输入姓名”) //提示程序的一句话

val name = StdIn.readLine( )

Cat.sayHi( )

//此处有一个 Trait,在Java里面叫做 intertface,在 Scala 里面 Trait 叫做特质, 兼顾 Java 里面接口和抽象里的特点,且存在 readLine,那么为什么 object 可以直接使用?因为特质里它拥有这些方法,举个例子,直接把这个方法写出来,一样也可以用啊,它就是说相当于这个对象里的方法可以使用,所以需要理解透彻 object 是怎么来的。

}

}

//声明了一个对象(伴生对象),讲解 oop 时,还要深入系统的讲解。

object Cat {//此处对应 cat 

//这里有一个方法

def sayHi():Unit = {

printl(“小狗汪汪叫….”)

}

}

运行结果:这里不再进行去举例了,运行结果就会输出小狗汪汪叫”。

关于 StdIn.readLine 在这里先简单的进行讲解,在后面的课程中会做详细的内容介绍,因为此处如果不讲解StdIn.readLine,就会引起一些误解,可能会导致学员在学习的过程中产生疑问:为什么输入了 StdIn.readLine就可以直接使用object了呢?因为在 scala 里面伴生对象的方法或者伴生对象继承的特质里面的方法可以继续使用,比如说:

object Demo01 {

def main(args: Array[string] ): Unit = {

/*

要求:可以从控制台接收用户信息姓名,年龄,薪水】。

*/

printl(“请输入姓名”)//提示程序的一句话

val name = StdIn.readLine( )

//Cat.sayHi()

Cat.sayHello( )

Cat.sayHi( )

}

}

//声明了一个对象(伴生对象)

object Cat extends AAA {//此处对应 cat 

//这里有一个方法

def sayHi():Unit = {

printl(“小狗汪汪叫….”)

}

}

trait AAA {

def sayHello():Unit = {//一个方法

println(“AAA sayHello”)

}

//AAA 是特质,等价于 Java 中的 interface + abstract class,也就是说,在 scala 中,将 Java 的接口给去掉了,换成了特质,这个特质兼顾 Java 里面的接口和抽象类,它们两个已经融入到一起了。那么此时 Cat.sayHello( )Cat.sayHi( )都可以使用,是个简单的逻辑,接着回头看就会明白为什么输入了 StdIn.readLine 就可以直接使用object。StdIn 是一个 object,但是 object 里面并没有方法,为什么可以使用 readLine 呢?因为在 object 里面继承了一个 trait,trait 里面有可以直接使用 readLine 的方法,在后面的课程中会继续学习。

相关文章
|
域名解析 网络协议 对象存储
阿里云 CDN 控制台演示:源站加速|学习笔记
快速学习阿里云 CDN 控制台演示:源站加速
阿里云 CDN 控制台演示:源站加速|学习笔记
|
消息中间件 存储 运维
RocketMQ 控制台安装|学习笔记
快速学习 RocketMQ 控制台安装
1852 0
RocketMQ 控制台安装|学习笔记
|
机器学习/深度学习 编解码 自然语言处理
音频基础知识+智能语音控制台介绍 | 学习笔记
音快速学习频基础知识+智能语音控制台介绍
音频基础知识+智能语音控制台介绍 | 学习笔记
|
监控 关系型数据库 MySQL
02.熟悉云数据库 MySQL 版控制台|学习笔记
快速学习02.熟悉云数据库 MySQL 版控制台
02.熟悉云数据库 MySQL 版控制台|学习笔记
|
人工智能 监控 安全
RPA 流程梳理和适用场景以及控制台功能展示(二)| 学习笔记
快速学习 RPA 流程梳理和适用场景以及控制台功能展示。
RPA 流程梳理和适用场景以及控制台功能展示(二)| 学习笔记
|
Web App开发 存储 负载均衡
RPA 流程梳理和适用场景以及控制台功能展示(一)| 学习笔记
快速学习 RPA 流程梳理和适用场景以及控制台功能展示。
RPA 流程梳理和适用场景以及控制台功能展示(一)| 学习笔记
|
人工智能 监控 安全
RPA 流程梳理和适用场景以及控制台功能展示(二)|学习笔记
快速学习 RPA 流程梳理和适用场景以及控制台功能展示(二)
176 0
RPA 流程梳理和适用场景以及控制台功能展示(二)|学习笔记
|
Web App开发 文字识别 负载均衡
RPA 流程梳理和适用场景以及控制台功能展示(一)|学习笔记
快速学习 RPA 流程梳理和适用场景以及控制台功能展示(一)
817 0
RPA 流程梳理和适用场景以及控制台功能展示(一)|学习笔记
|
移动开发 BI 开发工具
控制台使用|学习笔记
快速学习控制台使用
147 0
控制台使用|学习笔记
|
域名解析 网络协议 开发者
HTTPDNS-管理控制台使用|学习笔记
快速学习 HTTPDNS-管理控制台使用
153 0
HTTPDNS-管理控制台使用|学习笔记
下一篇
无影云桌面