記事のディレクトリ
Scala第1章
章の目標
- Scalaの関連する概要を理解する
- Scalaの環境をマスターする
- マスター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です。
ステップ
-
ScalaSDKをダウンロードします。
官方下载地址: scala-lang.org/download/
-
ScalaSDKをインストールします。
2.1 双击scala-2.11.12.msi,将scala安装在指定目录, 傻瓜式安装, 下一步下一步即可.
2.2 安装路径要合法, 不要出现中文, 空格等特殊符号.
-
インストールが成功したかどうかをテストします
打开控制台,输入: 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プラグイン
- [構成]> [プラグインの選択]を選択します
[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-iGkiam6O-1616912631020)(pictures \ 125175937.png)]
-
小さな歯車をクリックし、プラグインをローカルにインストールすることを選択します
[外部リンク画像の転送に失敗しました。ソースサイトにヒル防止リンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします(img-xl8wvISi-1616912631021)(pictures \ 1556513515767.png)]
-
ダウンロードしたプラグインの場所を見つけて、[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中也有自己独有的`接收用户键盘录入数据`的功能, 远比上边的写法要简单的多, 要优雅的多. 这种写法在后续章节我们也会学习到, 预知后事如何, 且听下回分晓.