Scala第1章

Scala第1章

章の目標

  1. Scalaの関連する概要を理解する
  2. Scalaの環境をマスターする
  3. マスターScalaスモールケース:自分で最高になりましょう

1.Scalaの紹介

1.1概要

Scalaという名前は、JVMに基づくマルチパラダイムプログラミング言語である「ScalableLanguage」に由来します。素人の言葉で言えば、ScalaはJVMオブジェクト指向言語で実行される機能型です。その名前の理由は、設計されているためです。 Scalaは、小さなスクリプトの作成から巨大なシステムの構築まで、さまざまなプログラミングタスクで広く使用できます。このため、Scalaは、さまざまな機能を統合するなど、いくつかの優れた機能を提供できます。オブジェクト指向プログラミングと機能プログラミングの機能、および高レベルの同時実行モデル

全体として、Scalaは多くの前例のない機能を統合し、同時にJVM上で実行されます。Scalaへの開発者の関心の高まりとツールサポートの増加に伴い、Scala言語は間違いなくドアに欠かせないツールになります。

基于JVM解释:Scala的运行环境和Java类似, 也是依赖JVM的.

多范式解释: Scala支持多种编程风格

1.2Scalaの父

Scalaの父親は次のとおりです。Martin・Odersky(Martin Oder Chomsky)、EPFL(スイスの主要な工科大学)のプログラミング研究グループの教授であり、Typesafe社(現在はLightbend社に改名)です。共同創設者。彼のキャリア全体は彼は、IBM Research、エール大学、カールスルーエ大学、南オーストラリア大学で、このような基本的な作業を効率的、シンプル、快適するためのプログラムを作成するという1つの目標を常に追求していました。これに先立ち、彼は勉強しました。スイス連邦工科大学チューリッヒ校でPascal言語の創設者であるNiklausWirth(1984年にチューリング賞を受賞)と共に、1989年に博士号を取得しました。

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-gX8Fdipk-1616912631014)(pictures \ 1574652913536.png)]

1.3言語機能

  • Scalaは互換性があります

    兼容Java,可以访问庞大的Java类库,例如:操作mysql、redis、freemarker、activemq等等

  • Scalaは無駄がない

    Scala表达能力强,一行代码抵得上多行Java代码,开发速度快

  • Scalaは進んでいます

    Scala可以让你的程序保持短小, 清晰, 看起来更简洁, 更优雅

  • Scalaは静的に型付けされています

    Scala拥有非常先进的静态类型系统, 支持: 类型推断和模式匹配等

  • Scalaはビッグデータアプリケーションを開発できます

    例如: Spark程序、Flink程序等等...

2.ScalaプログラムとJavaプログラムの比較

2.1プログラムの実行フローの比較

Javaプログラムのコンパイルと実行のフロー

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-d5NUqaBd-1616912631016)(pictures / 1556551819121.png)]

Scalaプログラムのコンパイルと実行プロセス

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-gM99PSBO-1616912631017)(pictures / 1556551904384.png)]

2.2コード比較

**要件:**

学生クラスを定義します。属性は名前と年齢です。次に、テストクラスとテストでオブジェクトを作成します。

Javaコード

//定义学生类
public class Student{
    
    
    private String name;		//姓名
    private int age;			//年龄
    
    //空参和全参构造
    public Student(){
    
    }
    
    public Student(String name, int age){
    
    
        this.name = name;
        this.age = age;
    }
    
    //getXxx()和setXxx()方法
    public String getName() {
    
    
        return name;
    }
    public void setName(String name) {
    
    
        this.name = name;
    }
    public int getAge() {
    
    
        return age;
    }
    public void setAge(int age) {
    
    
        this.age = age;
    }
}

//测试类
public class StudentDemo {
    
    
     public static void main(String[] args) {
    
    
        Student s1 = new Student("张三", 23);	//创建Student类型的对象s1, 并赋值
        System.out.println(s1);				 //打印对象, 查看结果.
    }
}

Scalaコード

case class Student(var name:String, var age:Int)		//定义一个Student类
val s1 = Student("张三", 23)							  //创建Student类型的对象s1, 并赋值
println(s1)											   //打印对象, 查看结果.

3.Scala環境の構築

3.1概要

Scalaプログラムの実行はJavaクラスライブラリに依存するため、scalaを正しく実行するにはJavaランタイム環境が必要です。したがって、scalaプログラムをコンパイルして実行するには、次のものが必要です。

  • JDK(JDKにはJVMが含まれます)
  • Scalaコンパイラ(Scala SDK)

次に、以下を順番にインストールする必要があります。

  • JDKをインストールします
  • ScalaSDKをインストールする
  • IDEAにScalaプラグインをインストールする

3.2JDKをインストールします

JDK 1.8 64ビットバージョンをインストールし、環境変数を設定します。このプロセスは省略されます。

3.3 ScalaSDKをインストールする

Scala SDKはscala言語用のコンパイラです。scalaプログラムを開発するには、最初にScalaSDKをインストールする必要があります。

今回インストールしたバージョンは2.11.12です。

ステップ

  1. ScalaSDKをダウンロードします。

    官方下载地址: scala-lang.org/download/

  2. ScalaSDKをインストールします。

    2.1 双击scala-2.11.12.msi,将scala安装在指定目录, 傻瓜式安装, 下一步下一步即可.
    2.2 安装路径要合法, 不要出现中文, 空格等特殊符号.

  3. インストールが成功したかどうかをテストします

    打开控制台,输入: scala -version

3.4 IDEAscalaプラグインをインストールする

IDEAはデフォルトでscalaプログラム開発をサポートしていないため、SCalaプラグインをIDEAにインストールして、scala言語をサポートできるようにする必要があります。

ステップ

3.4.1指定されたバージョンのIDEAscalaプラグインをダウンロードします。

1. 下载的Scala插件必须和你安装的IDEA版本一致

2. 官方下载地址: http://plugins.jetbrains.com/plugin/1347-scala

3.4.2IDEA構成scalaプラグイン
  1. [構成]> [プラグインの選択]を選択します

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-iGkiam6O-1616912631020)(pictures \ 125175937.png)]

  1. 小さな歯車をクリックし、プラグインをローカルにインストールすることを選択します

    [外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-xl8wvISi-1616912631021)(pictures \ 1556513515767.png)]

  2. ダウンロードしたプラグインの場所を見つけて、[OK]をクリックします

    [外部リンク画像の転送に失敗しました。元のサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-9m459AmP-1616912631022)(pictures \ 12517593653.png)]

3.4.3IDEAを再起動します

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-0BnDedUa-1616912631023)(pictures \ 12517593181.png)]

4.Scalaインタープリター

4.1概要

将来的には、scalaインタープリターを使用してscalaの基本的な文法を学習します。scalaインタープリターはLinuxコマンドのようなものです。コードを実行し、実行結果をすぐに確認できるため、テストに便利です。 。

次に学びましょう:

  • Scalaインタープリターを起動します
  • ScalaインタープリターでScalaコードを実行する
  • Scalaインタープリターを終了します

4.2Scalaインタープリターを起動する

Scalaインタープリターを起動するには、次の手順のみが必要です。

  • 押し続けるwindows键 + r
  • 入力scalaします

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-RgNaA4PG-1616912631023)(pictures \ 125175951.png)]

4.3Scalaコードを実行する

scalaコマンドプロンプトウィンドウにprintln("hello, world")入力し、Enterキーを押して実行します。

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-J4rBFJuw-1616912631024)(pictures \ 12351182840.png)]

4.4インタプリタを終了します

方法1:右上隅の「×」をクリックします

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-MfI3y72R-1616912631024)(pictures \ 12352183102.png)]

**方法2::quit出入り**

[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-FCxD8WEm-1616912631025)(pictures \ 12352183454.png)]

5.ケース:自分で最高になりましょう。

5.1要件

ユーザーに、自分に最も言いたい文を入力するように促し、この文をコンソールに出力します。

5.2目的

ScalaとJavaの間のシームレスな相互変調をテストします(即: Scala兼容Java,可以访问庞大的Java类库)。

5.3アイデアの分析

1. 因为涉及到键盘录入了, 所以先导包.
2. 提示用户录入他/她最想对自己说的一句话.
3. 接收用户录入的内容, 并打印.

5.4参照コード

//1. 导入Java中的Scanner类.							引入Java类库
import java.util.Scanner
//2. 提示用户录入他/她最想对自己说的一句话.			   Scala代码
println("请录入一句您最想对自己说的一句话: ")
//3. 打印用户录入的内容.								 Scala代码 + Java类库
//不忘初心, 方得始终, 做最好的自己!
println("我最想对自己说: " + new Scanner(System.in).nextLine())

5.5イースターエッグ

						引入Java类库

import java.util.Scanner
// 2.ユーザー
に自分に最も言いたい文を入力するように促します。Scalacodeprintln( "自分に最も言いたい文を入力してください:")
// 3。ユーザーが入力したコンテンツを印刷します。Scalaコード+ Javaクラスライブラリ
//本来の意図を忘れないでください。常に自分自身が最善である必要があります!
println( "私は自分自身に最も言いたい:" + new Scanner(System .in).nextLine())


#### 5.5 小彩蛋

其实Scala中也有自己独有的`接收用户键盘录入数据`的功能, 远比上边的写法要简单的多, 要优雅的多. 这种写法在后续章节我们也会学习到, 预知后事如何, 且听下回分晓.

おすすめ

転載: blog.csdn.net/xianyu120/article/details/115280456