![Android Studio入門 アプリ開発を始めてみよう【Kotlin プログラミング #1】](https://i.ytimg.com/vi/WTQUj8tXUKU/hqdefault.jpg)
コンテンツ
- 簡単な紹介– C#vs Java
- "こんにちは世界" C#で
- C#入門:メソッドとクラス
- メソッドを使用する
- 変数を使用する
- 引数を渡し文字列を使用する
- C#フロー制御を学び、簡単なクイズを作成してください!
- 次回
この投稿では、Android向けのC#プログラミングと、Android開発の壮大な計画のどこに当てはまるかについて学びます。
Android開発者になりたい場合は、JavaまたはKotlinの2つの言語のいずれかを習得する必要があると思われるかもしれません。これらはAndroid Studioで公式にサポートされている2つの言語であるため、多くのガイドやチュートリアルが重点を置いている2つの言語です。 Android開発は、それよりもはるかに柔軟で多様であり、アプローチする方法は他にもたくさんあります。これらの多くにはC#が関係しています。
読む:Androidアプリを開発したいのですが、どの言語を学ぶべきですか?
C#は、たとえばUnityでゲームをビルドすることを選択した場合に使用するプログラミング言語です。これは、Playストアで最も人気があり、広く使用されているゲームエンジンでもあります。一般に、ゲーム開発にまったく興味がある場合は、C#プログラミングを学習すると便利です。
Xamarinを使用する場合は、C#プログラミングも学習する必要があります。 Xamarinは、開発者がVisual Studioを使用してiOSとAndroidの両方に簡単に移植できるアプリを構築できるツールで、クロスプラットフォームプロジェクトに最適です。
したがって、Android向けのC#プログラミングを学ぶのには十分な理由があります。知っておくべきことを見てみましょう。
簡単な紹介– C#vs Java
C#はオブジェクト指向プログラミング言語であり、Microsoftが2000年頃に開発したもので、現代的でシンプルかつ柔軟であることを目標にしています。 Java(1990年にSun Microsystemによって開発された)のように、もともとはC ++から発展したものであり、2つの間に多くの類似点があります。たとえば、両方とも同じ「構文ベース」を使用します。つまり、多くの同じ用語と構造を効果的に使用します。いくつかの小さな違いがありますが、1つの言語に精通している場合は、特に学習しなくても、他の多くの言語を理解できるはずです。ただし、初心者にとっては、C#プログラミングを習得するほうが少し簡単であることがわかります。
オブジェクト指向言語として、C#とJavaの両方がクラスを通してオブジェクトを記述します。これはモジュール式のプログラミング手法であり、コードのスニペットを繰り返し使用できます。
ただし、C#がJavaと異なるのは、デリゲートの使用、イベントリスニングへのアプローチ、仮想プロパティと最終プロパティ、暗黙的なキャストなどです。
幸いなことに、C#を初めて習得するときには、実際にはこのほとんどが何を意味するのかを知る必要はありません。主なポイントは、構造がC#で学習するのが少し簡単で、入力が少なくて済む傾向があることです。これは、Android向けJavaを学習する場合、Androidアプリの構築に必要な多くのクラスとAPIについても理解する必要があることを考えると、特に当てはまります。したがって、Javaへの足がかりとしてC#プログラミングを学ぶこともできます。
"こんにちは世界" C#で
コーディングの世界では、新しい言語を学ぶときはいつでも、画面に「Hello World!」と表示する簡単なプログラムを作成する必要があります。これにより、基本的に必要なツールを起動して実行し、簡単なものをコンパイルできるようになります。 「テスト、テスト、1、2、3」をマイクに読み上げるようなものです。
この場合、Visual Studioを使用してコンソールアプリを作成します。したがって、先に進んでVisual Studioをダウンロードしたら(無料)、次をクリックします。
ファイル>新規>プロジェクト
その後:
Visual C#> Windowsクラシックデスクトップ>コンソールアプリ(.NET Framework)
これが、Windowsコンソールで実行されるアプリを作成する方法です。
これが完了すると、プロジェクトの基本構造がメインウィンドウに表示されます。次のようなコードが表示されます。
名前空間ConsoleApp3 {クラスProgram {static void Main(string args){}}}
次のように、2行追加するだけです。
名前空間ConsoleApp3 {クラスProgram {static void Main(string args){Console.WriteLine( "Hello World!"); Console.ReadKey(); }}}
これにより、画面に「Hello World!」と書き込まれ、キーが押されるのを待ちます。ユーザーがキーに触れると、プログラムは終了し、自動的に終了します。
これらの行は両方ともセミコロンで終わることに注意してください。これは、C#のステートメントはすべてセミコロンで終了する必要があるためです。セミコロンはC#に行が終了したことを伝えます(Javaでも同じです)。唯一の例外は、行の直後に開き括弧が続く場合です。これについてはすぐに説明します。
画面上部の「スタート」ボタンを押すと、アプリが起動し、実際にこれを見ることができます。
クラスはオブジェクトを記述するコードの一部であり、オブジェクトは事実上データの一部です
それで、ここで正確に何が起こっているのでしょうか?
C#入門:メソッドとクラス
Android用のC#プログラミングを学習するには、クラスとメソッドを理解する必要があります。
クラスはオブジェクトを記述するコードの断片であり、オブジェクトは事実上データの断片です。これについて心配する必要はありません。現在作業しているコードのページは「クラス」と呼ばれ、プロジェクト内の他のクラスとやり取りできることを知ってください。プロジェクトには、1つのクラスのみを使用して、そこからすべてのコードを処理することも、複数のクラスを作成することもできます。
各クラス内には、メソッドもあります。これらのメソッドはコードのスニペットであり、そのクラス内から(場合によってはクラス外から)いつでも参照できます。
この場合、クラスは呼び出されます プログラム。これは、最上部の行「class Program」によって定義されています。そして、右側の[ソリューションエクスプローラー]ウィンドウを開くと、Program.csを見つけることができます。クラスの名前は常にファイル名と同じです。
次に、中括弧を使用して、後続のすべてのコードを含めます。中かっこは、後続のすべてが一緒に属することを示しています。したがって、ブラケットが閉じるまで、次のコードはすべてProgramの一部です。
これに最初の方法が続き、次の行で定義します。
static void Main(string args)
その後、さらに開いた括弧が続きます。これは、コードの次のビットが「プログラム」クラス内にある「メイン」メソッドの一部であることを意味します。そして、そこに「Hello World」を配置しました。
「静的ボイド」は本質的に、このメソッドが(より広範なプログラムで使用されるデータを操作するのではなく)自己完結型の処理を行い、外部クラスから参照できないことを示しています。 「string args」の要素により、後で操作するために情報をメソッドに渡すことができます。これらは「パラメータ」および「引数」と呼ばれます。繰り返しますが、まだそのことについて心配する必要はありません。 「静的ボイド」の後に単語、括弧、および中括弧が続くことは、新しいメソッドの開始を示すことを知ってください。
次の2行は追加したものです。コンソールを取得し、そのコマンドにアクセスして画面に書き込み、キーが押されるのを待ちます。
最後に、すべてのブラケットを閉じます。最初にメソッド、次にクラス、次にクラスが属するプロジェクトの名前である「名前空間」(この場合は「ConsoleApp3」-以前のテストアプリをこのように作成しました) 。
混乱した?心配する必要はありません。もっと意味があります。
メソッドを使用する
したがって、メソッドは名前を持つコードのバンドルです。メソッドを使用する理由を示すために、新しいメソッドを作成し、それを例として使用すると役立ちます。
したがって、Programクラス内に存在する新しいメソッドを作成します(したがって、それらの波括弧内にある必要がありますが、「Main」に属する波括弧の外側にある必要があります)。
これを「NewMethod」と呼び、ここに書いたばかりの2行を入れます。これは次のようになります。
class Program {static void Main(string args){} static void NewMethod(){Console.WriteLine( "Hello World!"); Console.ReadKey(); }}
次のように、MainメソッドにNewMethodへの参照を追加します。
static void Main(string args){ar NewMethod(); }
次に、作成したメソッドを「呼び出し」、プログラムをその方向に向けます。 [スタート]を押すと、以前と同じことが発生します。必要な場合を除き、「NewMethod();」を何度でも記述し、大量のコードを記述することなくテキストを繰り返し続けることができます。
巨大なプログラムの過程で、このようなコードスニペットを参照できるようになると、非常に強力になります。これは、Android向けのC#プログラミングを学習しようとするときに理解する最も重要なことの1つです。
この方法で好きなだけメソッドを作成でき、その方法には非常にきちんと整理されたコードがあります。同時に、C#および使用する可能性のあるライブラリに「組み込まれている」メソッドを参照することもできます。 「メイン」は、「組み込み」メソッドの一例です。これは、すべてのプログラムが開始する方法であり、C#は最初に実行する必要があることを理解しています。ここに何も入れないと、何も起こりません!
したがって、この場合に角かっこに含まれる引数は、MicrosoftがMainメソッドを設計した方法であるため、必要なだけです。しかし、ブラケットを空のままにしておくことは問題ありませんでした。
変数を使用する
ここで、コードで少し興味深いことを実際に行います。具体的には、変数を使用してプログラムをより動的にする方法を見てみましょう。これは、C#プログラミングを学びたい場合に理解する最も重要なことの1つです。
変数は基本的にデータのコンテナです。高校の数学に心を向けると、次のようなものを見たことを覚えているかもしれません。
10 + x = 13
xを見つける
ここで、「x」は変数であり、もちろんそれが表す値は「3」です。
これは、プログラミングにおける変数の正確な動作方法でもあります。ここを除いて、変数はテキストを含むさまざまな種類のデータを表すことができます。
新しい変数を作成するには、最初にC#に格納に使用するデータの種類を指定する必要があります。
したがって、NewMethod()メソッド内で、最初に変数を作成し、次に値を割り当てます。次に、「WriteLine」コマンドに追加します。
int番号。数= 10; Console.WriteLine( "Hello World!" +数値);
「整数」と呼ばれる任意の整数の変数タイプを使用しました。 C#では、「int」を使用してこれらを参照します。ただし、たとえば「浮動小数点」を簡単に使用できます。これは「浮動小数点変数」であり、小数点以下の桁数を使用できます。
このコードを実行すると、「Hello World!画面に10インチ。そしてもちろん、を変更するために、いつでも「数値」の値を変更できます。
「数値」はNewMethod()内で作成されるため、コードの他の場所からアクセスすることはできません。しかし、すべてのメソッドの外側に配置すると、グローバルに利用可能になります。そのためには、変数も静的であることを確認する必要があります。
クラスProgram {static int number = 10; static void Main(string args){NewMethod(); } static void NewMethod(){Console.WriteLine( "Hello World!" +数値); Console.ReadKey(); }}
最後に、このデータを渡す方法がもう1つあり、それを引数として使用してメソッドに渡すことです。これは次のようになります。
static void Main(string args){int number = 10; Console.WriteLine( "こんにちは、お名前は?"); NewMethod(number); } static void NewMethod(int number){Console.WriteLine( "Hello World!" + number); Console.ReadKey(); }}
ここでは、NewMethodメソッドを1つの引数が必要であると定義しています。この引数は整数である必要があり、メソッド内では「数値」と呼ばれます。これを行うには、単にその情報を中括弧に追加します。次に、プログラム内の他のどこからでもメソッドを呼び出すとき、括弧内にその値を「渡す」必要があります。複数のパラメーターを持つメソッドを作成できます。その場合、リストされた変数をコンマで区切るだけです。
これらすべての異なる戦略を使用してデータをジャグリングすることが適切であるさまざまなシナリオがあります。優れたプログラミングとは、仕事に適したものを見つけることです!
引数を渡し文字列を使用する
次のコードを実行して、何が起こるか見てみましょう。
class Program {static void Main(string args){Console.WriteLine( "こんにちは、お名前は?"); NewMethod(Console.ReadLine()); } static void NewMethod(String UserName){Console.WriteLine( "Hello" + UserName); Console.ReadKey(); }}
あなたはあなたの名前を入力するように促され、それからコンソールがあなたを素晴らしいものにすることを見つけるはずです。この簡単なコードには、いくつかの役立つレッスンが含まれています。
最初に、ストリングと呼ばれる異なるタイプの変数の使用方法の例を参照します。文字列は一連のキャラクターであり、名前でもストーリー全体でもかまいません。
したがって、UserName =“ Adam”と同様に簡単に記述できます。ただし、代わりに、Console.ReadLine()というステートメントでコンソールから文字列を取得しています。
次のように書くこともできます。
文字列ユーザー。ユーザー= Console.ReadLine(); NewMethod(User);
ただし、コードをできるだけきれいに保つために、これらの手順をスキップして、「ReadLine」を括弧内に直接配置しました。
次に、その文字列をNewMethodに渡し、既におなじみのメソッドを使用してユーザーに挨拶します。
文字列は一連のキャラクターであり、名前でもストーリー全体でもかまいません。
うまくいけば、C#がそのままの形で記述されている理由と、柔軟で強力なソフトウェアを作成するために変数やメソッドなどを使用する方法について少し理解し始めたことを願っています。
しかし、C#プログラミングを学びたい場合に知っておくべきもう1つの重要な側面があります。フロー制御です。
C#フロー制御を学び、簡単なクイズを作成してください!
コーディング時に変数を使用する理由の1つは、後でプログラムを簡単に編集できるようにするためです。もう1つは、ユーザーから情報を取得したり、ランダムに生成したりできるようにすることです。
しかし、おそらくC#変数を学習する最良の理由は、プログラムを動的にできるようにすることです。そうすることで、プログラムがどのように使用されるかによって異なる反応をすることができます。
そのためには、「フロー制御」または「条件付きステートメント」が必要です。これらは実際には、変数の値に応じて、複数の方法でコードを実行することを意味する派手な方法です。
そして、それを行う最も強力な方法の1つは、「if」ステートメントを使用することです。この例では、ユーザー名を探して他のユーザーとは異なる方法でメインユーザーに挨拶します。
static void NewMethod(String UserName){Console.WriteLine( "Hello" + UserName); if(UserName.Equals( "Adam")){Console.WriteLine( "Welcome back sir"); } Console.ReadKey(); }
「If」ステートメントは、括弧の内側にあるステートメントの有効性をテストすることで機能します。この場合、文字列UserNameが文字列「Adam」と同じかどうかを確認しています。括弧内のステートメントが真である場合(2つの文字列が同じである場合)、次の中括弧内のコードが実行されます。そうでない場合、それらの行はスキップされます。
同様に、整数と浮動小数点数を比較し、一方が他方よりも大きいかどうかをテストできます。ロシアの人形のように、互いに異なる複数のifステートメントを使用することもできます。これらを「ネストされたif」と呼びます。
次回
switch文など、フロー制御に使用できる戦略は他にもたくさんあります。願わくば、これらのステートメントとテクニックを使用して有用なものを作成し始める方法を既におわかりいただけたと思います。このコードを簡単にクイズに簡単に変えることができます!
最終的にUnityのようなツールを備えたC#を使用すると、完全に機能するゲームを構築できます。
しかし、本当に印象的なツールとゲームを作成するためには、さらに検討する必要があることがいくつかあります。ビックリ!パート2が行われます!
次のレッスンでは、時間とともに反復するループを作成する方法と、新しいクラスを作成してそれらと対話する方法を学習します。それではまた!