tanaka's Programming Memo

プログラミングについてのメモ。

403 変数の使い方(代入 / 読み出し / 定義)

ここでマスターしたいこと

  • 変数の使い方を知ること
  • 自分で自由に変数を定義できるようになること

動画

textBox1の内容を、string型の変数strに代入して、それをlabelやメッセージで表示するサンプルを以下に示す。

403 変数の使い方(代入 / 読み出し / 定義) - YouTube

変数にデータを入れる

  • label1のTextプロパティに「こんにちは」というデータを入れるには、以下のように書く。
label1.Text = "こんにちは";

f:id:am1tanaka:20141028231856g:plain

  • C#では=記号は、「右辺の計算結果を、左辺に代入する」という意味になる。
  • 数学の=とは意味が異なるので注意

変数の値を利用する

  • 使いたい場所に、変数名を書く。
  • label1のTextプロパティに、textBox1のTextプロパティの値を代入するには、以下のように書く。
label1.Text = textBox1.Text;

f:id:am1tanaka:20141028231938g:plain

  • 右辺の値を左辺の値に代入する、

変数を定義する

定義の書き方

  • 変数は、以下のように記述することで自分で作成することができる。
// int型の変数aを定義する
int a;

// string型の変数strを定義する
string str;

// float型の変数bを定義する
float b;

// bool型の変数cを定義する
bool c;
  • 定義した変数は、以下のように利用することができる。
str = "こんにちは";
  • 変数の定義は、利用する前に記述しておくこと。

変数が定義できる場所

  • 変数の定義は、以下のうちの①、②、⑤の場所に書ける。

f:id:am1tanaka:20141012164403p:plain

  • ①のブロック内に定義した変数は、①内でのみ利用可能で、処理が終わると値は破棄される。
  • ②のブロック内に定義した変数は、②内でのみ利用可能で、処理が終わると値は破棄される。
  • ⑤のブロック内に定義した変数は、①でも②でも利用可能で、プログラムを終了するまで値が保存される。
詳細
  • ①、②のような場所に書く変数をローカル変数と呼ぶ。
  • ⑤のような場所に書く変数をインスタンス変数と呼ぶ。
  • 基本的には、①や②の場所に定義する。
  • ①や②での定義で困る場合は、⑤で定義する。

変数名の付け方

  • textBox1やlabel1、stringなど、すでに定義されていたり、C#のキーワードと同じ名前は使えない。
  • 最初の文字は、アルファベットかアンダーバー(_)にする。
  • 2文字目以降アルファベットアンダーバー数字も使える。
  • 日本語も使えるが、日本語で変数を考える癖をつけてしまうと、日本語が使えないプログラミング言語への移行が難しくなる。半角英数で変数名を考える癖をつけよう。
  • 分かりやすい名前にしよう。

プログラム

動画のプログラムは以下の通り。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace projHensu
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str;
            str = textBox1.Text;
            MessageBox.Show(str);
            label1.Text = str;
        }
    }
}

演習

  • 4種類の変数を定義して、値を代入してみよう。
  • string型以外の変数への代入や、label1などへの出力が成功するか試してみよう。


前へ | 目次 | 次へ