Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # C#勉強会 1回
- ## 内容
- Unityで使う `C#` を勉強します。
- 1. 変数
- 2. 条件分岐
- 3. ループ処理
- 4. 配列
- 5. クラス
- 6. 構造体
- 7. UnityでのTips
- の全部で7回を予定しています。
- 各回の最後に宿題を出すのでやってきてください(強制ではないです)
- 自分のPCがある人はそれを持ってきてやってもいいです。
- 自分のPCが人は学校のMacを使ってください。
- 学校のPCを使う人はUSBメモリを持ってきてください。
- ## 進め方
- 1, 2 回がうじまる
- 3, 4 回がりゅうだい
- 5, 6 回がユムル
- がメインで教えます。
- 人が変わると教える進め方が変わるかもしれませんが、大体は
- 0. 課題の解説
- 1. 各回のメインの内容を教える
- 2. 演習
- 3. 課題
- という感じになると思います。
- ## 環境
- 実行環境はUnityを使います。
- ## Unityの使い方
- ## Hello World
- `console` にHello Worldを出して見ましょう
- ```csharp
- class Main : Mono {
- void Start() {
- print("Hello World!!");
- }
- }
- ```
- > これから出てくるコード例はすべて `void Start() {` の中のものです。
- ### 何やってるの?
- `print` という命令で`"Hello World!!"` という文字列を表示させてます。
- `print` は `()` の中に書いた `値` を出力します。
- ### やってみよう
- `console` に自分の名前を入力してみよう!
- できた人は、いろいろ出力して遊んでみよう!
- ## 計算をさせて見よう
- `console` に数字を出力してみましょう
- ```csharp
- void Start() {
- print(42);
- }
- ```
- ### 西暦から令和を計算してみよう
- | 西暦 | 令和 |
- | ---- | ---- |
- | 2019 | 1 |
- `令和 = 西暦 - 18` で計算できそう
- 計算した値を `console` に出力してみよう。
- ### 主な演算子
- 演算子とは `+` や `-` などの計算に使う記号のこと
- | 演算子 | 意味 |
- | :----: | :---------------------: |
- | + | 足し算 (文字列の結合) |
- | - | 引き算 |
- | * | 掛け算 |
- | / | 割り算 |
- | % | 剰余算 (あまりの計算) |
- > 演算子の優先順は数学の演算のものと同じです
- ### やってみよう
- 半径5cm の円の面積を計算して `console` に出力してみよう
- 円周率は `3.14` で計算してください。
- ## 変数とは?
- 半径5cm の円の面積を計算した下に
- - 半径5cm の円の円周の長さを計算して`console` に出力
- - 半径5cm の球の体積を計算して`console`に出力
- - 半径5cm の球の表面積を計算して`console`に出力
- してみよう。(円周率は `3.14` )
- ```cs
- void Start() {
- print(5 * 5 * 3.14); // 面積
- print(2 * 5 * 3.14); // 円周
- print(4/3 * 3.14 * 5 * 5 * 5); // 体積
- print(4 * 3.14 * 5 * 5); // 表面積
- }
- ```
- それでは、今度は半径を2cm にしたものを出力してください。
- ### めんどくさかったですか?
- 半径が変わるたびに `5` のところを変更しないといけない(今回だと8箇所)
- `5`を`2`に変更したあとに`8`にしたくなったらまた変えないと行けないが
- ```cs
- print(2 * 2 * 3.14);
- ```
- のところはどっちが面積か円周かわからない(式から意味が伝わって来ない)
- - 値に意味をつけたくなる(ラベリング)
- - 同じ意味の値は一括で変更したい
- という必要がでてくる
- ### 変数を使う
- そこで変数をつかいます。
- 変数とは `値` を入れておく `容器` のことです。
- ```cs
- void Start() {
- var radius = 5; // 半径は5cm
- print(radius * radius * 3.14); // 面積
- print(2 * radius * 3.14); // 円周
- print(4/3 * 3.14 * radius * radius * radius); // 体積
- print(4 * 3.14 * radius * radius); // 表面積
- }
- ```
- これで半径を 2cm にしてと言われようが 8cm にしてと言われようが1箇所を変えるだけで変更できる。
- 値に名前がついたから、式から何を計算してるかわかる
- ### やってみよう
- 円周率を変数にしてみよう(変数名は `pi`)
- ## 変数の型
- 変数には入れれる `値の種類` が決まっています。
- `値の種類` は一般的に `型` といいます。
- ### 基本的な型の種類
- | 型 | 意味 |
- | ------ | ------------------ |
- | int | 整数 |
- | float | 単精度浮動小数点数 |
- | double | 倍精度浮動小数点数 |
- | bool | 真偽値 |
- | char | 文字 |
- | string | 文字列 |
- ### `char` と `string` の違い
- `char` は **文字** (`A` とか `a` とか `あ` とか)
- `string` は**文字** (`char`) で構成された **文字列**
- 文字が 0以上集まったもの
- ## 変数の宣言
- 変数の宣言方法は、**値から型を予測するタイプ** と **使う人が型を指定するタイプ** の2種類ある。
- ### 値から型を予測するタイプ
- ```cs
- var hoge = 1; // この場合 hoge は int型 になる
- var foo = "文字列"; // foo は string型 になる
- var fuga; // 予測する値がないので error
- ```
- `hoge` に代入されてる値は `1` なので整数として認識される
- > このタイプを型推論という
- ### 使う人が型を指定するタイプ
- ```cs
- int hoge = 1;
- string foo = "文字列";
- bool fuga = 42; // 型と値が一致しないので error
- ```
- `var` だったところを 型名にする。
- 明示的に変数の型を指定できる。
- ### リテラル
- 変数の逆で、変わることのない値
- 実際には、 `1` とか `"hogehoge"` とか `3.14` とかのこと
- | 型 | リテラル |
- | ------ | ------------------------------------------- |
- | int | 数字 (ex: 1, 2, 3, ) |
- | float | 3.14f (末尾に `f` をつける) |
- | double | 3.14 (少数) |
- | bool | true / false |
- | char | 'A' (シングルクォーテーション `'` で囲む) |
- | String | "ABC" (ダブルクォーテーション `"` で囲む) |
- ### やってみよう
- `float` 型の `pi` を値 `3.14f` で宣言してみよう。
- その `pi` に 文字列の値 `"円周率"` を代入して結果を見てみよう。
- ## 課題
- 1. 自分の名前を 変数`firstName` で宣言する
- 2. 自分の苗字を 変数`lastName` で宣言する
- 3. `console` に文字列の結合を使って 名前を出力する
- - `firstName`, `lastName` はローマ字と日本語どちらでもいいです。
- - ローマ字の場合は `firstName lastName`
- - 日本語の場合は `lastName firstName`
- - 名字と名前の間はスペースを開ける
- ### 出力結果
- ##### ローマ字ver
- > Shuji Oba
- ##### 日本語ver
- > 大庭 周士
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement