投稿

4月, 2020の投稿を表示しています

プログラミングにおける中括弧の位置

プログラミングのスタイル プログラミングにおける中括弧の位置 中括弧の位置はどこに書く? 私は趣味ではC#を書き、会社でJavaを扱っています。そのため2つの言語の書き方で違いがいくつかあるんですよね。 まえに プログラミングの命名規約 についてまとめました。 こちら 今回取り上げる書き方の違いは 中括弧の位置 です。 クラスやメソッドなどは中括弧「 {} 」で囲って処理を記述しますが、みなさんはコードを書くときどこに記述しますか? 2つの例を書いてみましょう。 class Sample { // ここに処理を記述 } class Sample { // ここに処理を記述 } このように2種類の書き方があると思います。 中括弧の「 { 」の位置が違いますね。クラスやメソッド名の横に書くか、改行して真下に書くか 私は、改行する記述方法の方が多いです。VisualStudioの初期設定がこちらなんですよね。そのためC#を書いている人は改行している人が多いと思います。 調べたところ、この書き方にはそれぞれ名前がついているらしく、「 BDS/オールマン・スタイル 」と「 K&Rスタイル 」と言うらしいです。 2つのスタイルの違い この2つのスタイルの違いは何か、 ざっくり言うと { の位置が違うだけ です。 先ほどは数行しか書かなかったが、長文のコードを書いていると見た目が大きく変わってきます。 BDS/オールマン・スタイル class Sample { public static void Main( string[] args ) { for(int i=0;i<5;i++)

初めてのC#②

初心者のC# 初めてのC# 第2回 みなさんこんにちは! 初めてのC#第2回 です。 今回は前回やった変数を使い計算や条件分岐の学習を進めていこうと思います。まだ前回を見ていない人は こちらから 確認してみましょう! 計算や条件分岐、繰り返しはプログラミングの基本となるものです。実際これらが書けるようになればある程度のプログラムは作成できるようになります。 それぞれサンプルコードをイジって練習をして見て下さい。 目次 初級編~計算してみよう~ 初級編~条件分岐~ 初級編~繰り返し①~ 初級編~計算してみよう~ パソコンはかつて 計算機 と言われていました。そのためプログラミングのコード内で計算をさせることができるんです。 では、次のコードを書いて計算できるか確かめてみましょう!! 今回は「 Sample2.cs 」とします。 public class Sample2 { public static void Main( string[] args ) { int answer = 1 + 2; System.Console.WriteLine( answer ); } } 実行してみましょう。結果は「3」が出力されたと思います。 計算をしているコードは以下の部分です。 int answer = 1 + 3; このように、数値と数値を「 + (半角)」でつなぐことで2つの数値を足すことができます。 ちなみに、「 = 」を使っていますが、これは算数や数学のような「左辺と右辺が等しい」というイコールではありません。

初めてのC#①

初心者のC# 初めてのC# 最近は動画を使ったプログラミング学習を行っている人が多くなってきていると思います。 昔は今ほどスクールや動画サイトなど少なかったため勉強するのが一苦労だった記憶があります。今は便利な時代ですよね でも勉強してみようかと思っている人で、お金とかは払わないでどんなものか試してみたいって人もいると思います。 なのでそんな人のために、無料で見れるこのブログで数回にわたって「C#の初心者講座」を行っていこうかなと考えています。需要があるかわかりませんが(笑) この講座ではC#の実行環境が出来上がっているものとして話を進めて行きます。まだできていない人は こちら を見てください。 VisualStudioを持っている人はそちらでもかまいません。 目次 初級編~文字出力~ 初級編~変数(文字列)~ 初級編~変数(数値)~ 初級編~文字出力~ まずは基本の文字列出力をしてみましょう。 つぎのコードを書いてみましょう。ファイル名は「Sample1.cs」とします。 public class Sample1 { public static void Main( string[] args ) { System.Console.WriteLine( "Hello World" ); } } のちに扱うかもしれませんが、当分は「public class ○○」と「public static void Main」には触れません。 おまじない と言われるやつですね。 プログラムを書くための 骨組み だと思ってください。 というわけで本題に戻り、上のコードを実行するとコンソー

重要英熟語(高校入試)のアプリ紹介

イメージ
重要英熟語 今日のアプリ紹介 重要英熟語 今回は私が作成しているスマホアプリの「重要英熟語(高校入試)」の紹介をしたいと思います。今回は技術の説明ではなく、ただのアプリの宣伝です。(笑) このアプリは、私が塾の講師をしていた時に使っていた高校入試用のツールをアプリ化したものです。 ざっくり言うと、 高校入試に必要な英熟語をスマホで勉強できるアプリ となります。 概要 私が独断で選んだ重要な英熟語を100個集めました!! 高校入試の受験英語を勉強するとき多くの人は英単語や文法は勉強しますが、英熟語を勉強する人ってあまりいなんですよね。実際、私が講師をしていたときも生徒は英熟語を勉強していない生徒がほとんどでしたし、そもそも 英熟語用の教材がない ことの方が多いんですよね。 ですが英熟語を勉強していると、英文の並べ替えや長文読解が解きやすくなるんです。大学入試やTOEICなどの試験では英熟語を勉強する機会は多いと思うんですけどね。 なので、高校入試の英語対策として英熟語を勉強してほしい。かつ簡単に勉強できるようにしたい。という考えからこのアプリを作りました。特に最近は中学生でもあたりまえにスマホ持ってる時代ですからね! ↓ 見た目はこんな感じ 搭載されている機能 単語カードモード これは、紙の単語カードで単語を覚えるようにスマホで英熟語を覚えられるモードになります。単語などを覚えると言ったら「 単語カード 」ですよね!このモードを使うことで単語カードを持ち歩く必要はなくなります。 画像のように、表示されます。 「⇐」をタップすると単語が戻り、「⇒」をタップすると次の単語が変わります。ちなみにテストモードを起動すると英熟語がランダムで並び替えられます。な

C#とJavaの命名規約について

命名規約 プログラミングにおける命名規約とは 私は趣味でC#を使っています。しかし、会社の研修ではJavaを扱っています。2つの言語はほとんど同じためスムーズに書ける! はずでした、 基本的な書き方は同じなのですが、変数名や関数名で躓いたのです。 皆さんは数値を文字列に変換したいとき、どのようにコードを書きますか? C# int n = 0; string str = n.ToString(); Java int n = 0; String str = Integer.toString( n ); この違い分かりますか?色々ツッコみたいんですが、今回はメソッド名について触れます。 C#とJavaでToStringとtoStringの先頭文字の「T」が大文字と小文字で異なるんですよ! それだけ? そういわれてしまうと何とも言えないんですが(笑) ただ先頭文字のため、エディタの予測候補がうまくいかなくなるんですよね。どっちかに揃えて欲しいなぁ では、なぜ書き方が異なるのでしょうか、 これは、使っている命名規約が異なるためなんです。その前に、変数の名前について話しましょう。 そもそも変数の名前とは? プログラミングでは、数値や文字列を入れておく変数(箱のようなもの)に名前を付けて識別します。なので自分一人で作っているときや、小さいプログラムであれば「a」とか「b」とか正直なんでもいいんです。 ですが、大量のコードになったり、チーム開発となるとそうはいきません。誰が見てもわかりやすい名前をつけないと問題が起こることがあります。 なので、分かりやすくするために、単語などを組み合わせて名前を付けます。 例えば、「データを送る」というメソ

文字列結合の処理方法

イメージ
StringBuilder 文字列結合について 今回はのテーマは「文字列の結合について」です。 プログラミングをする中で文字列を結合していく時ってありますよね。 私は自作のスマホアプリでhtmlを文字列から生成するために文字列結合を使っています。データを格納しているリストをforeachを使って文字列でhtmlを作成しています。 おそらく文字列の結合といえば「+=」ですよね! でも実はfor文とかで文字列結合を複数回行うときに「+=」を使うと処理の時間がとても長くなってしまうんです。 そんなときは、StringBuilderを使うんです!! とドヤ顔で言っていますが、私もつい最近まで知りませんでした(笑) 前回調べたのでここでまとめますね。 どれだけ違う?処理時間 「+=」か「StringBuilder」で処理時間が異なるわけですが、どれだけ違うのでしょうか。 まぁ、 ほんの誤差でしょ そう思いますよね。でもかなり処理時間に差が出るんです!! というわけで、「+=」を使った文字列結合を行う Test1 というメソッドと、「StringBuilder」を使った文字列結合を行う Test2 というメソッドを作成し、これを呼びだして計算時間を測ります。 公平性を保つために、for文の開始から終わりまでを計測します。 コードは以下のようになっています。 public static void Test1() { string str = "a"; var sw = new System.Diagnostics.Stopwatch(); sw.Start(); for(int i=0;i<50000;i++) { str += "a";

インストールなしでC#でプログラミング!

イメージ
インストールなしでC# インストールなしでC#でプログラミングをしてみる! ということで、今回はIDEなどをインストールせずにC#でプログラミングをしてみたいと思います。 必要なものは以下のとおりです。 WindowsのPC メモ帳などのテキストエディタ これだけ? そう、これだけでプログラミングができてしまうのです。(スバらしい) 今回は、バッチファイルによる環境設定から、実際にHelloWorldを表示させるところまでやってみたいと思います。 やや作業で面倒なところはありますが、色々ダウンロードするよりは簡単なので頑張って見て下さい! それでは、順に始めてみましょう! バッチファイルの作成 まずは、C#のコンパイラを呼び出すためのバッチファイルの作成からやってみましょう! PCのCドライブにある「Windows」をダブルクリック。 たくさんあるファイルの中から、「Microsoft.NET」を探し、ダブルクリック。 そしたら今度は「Framework64」をダブルクリック。 ※次の画面では人によって表示されるファイルが異なる場合がありますが、数字の大きいものを選べば大丈夫です。 「v4.0.30319」をダブルクリック。 そしたらエクスプローラーで、図で示した部分を選択し、パスをコピーしてください。 コピーできたら、デスクトップなどに新規ファイルを作成し、ファイルに入ります。 エクスプローラーの中で、shiftキーを押しながら右クリックをします。出てきた項目から「PowerShellウィンドウをここで開く(s)」を選択します。 PowerShellが開いたら、「cmd」と入力し、Enterキ

はじめてのプログラミング言語は?

はじめての言語 はじめて使う言語のオススメ 最初の記事は何にしようか迷ったのですが、C#を布教したいのでこれにしました。 最近では広告などでプログラミングをよく聞くようになりました。 しかし、プログラミング言語は数多くあるので、どれから学べばよいのか迷いますよね なので今回は、プログラミング初学者にオススメの言語を紹介したいと思います。 はじめに プログラミングを始めるうえで一番躓くのが「環境設定」です。プログラミングをするためには、その言語に必要な道具をインストールする必要があるのですが、ただダウンロードするだけではできない言語も存在します。 なので、この環境設定の難易度も考慮してお話します。 私がおすすめするプログラミング言語はC#です!! C#は私が一番使っているプログラミング言語でもあります。なので少し贔屓している部分もあると思いますが 笑 では、なぜC#なのでしょうか? 環境設定 「はじめに」でも書いたのですが、プログラミング言語によって環境設定が大変なものも存在します。 C#はVisualStudioをインストールするだけで環境設定が完了します。複雑な設定などはいりません。 VisualStudioのインストールはこちらから しかし、「ちょっとだけやってみたい」とか「インストールはしたくない」人もいますよね。 分かります!! 実は私も何かをインストールするのがあまり好きではありません。よく分からないものが多いですから。 そこでC#です!! 実はC#はVisualStudioをインストールすることなくプログラミングができるんです!! Windows限定になってしまうのですが、バッチファイルを使ってコンパイルができるんです。 この方法は後日まとめます。 ※追記

ブログ始めました

はじめまして ブログ始めました! なんとなくではありますがブログはじめました 笑 基本的にはプログラミング系の投稿をしていきます。 プログラミングは高校2年生のときにふれ、大学1年のときに本格的に始めました。 最初の言語はJavaでした。 ですが、 今のメインの言語はC#です!! C#ならゲームやスマホアプリも作れますからね 現在はAndroid限定ですが4つほどアプリをGoogle Playで公開しています。シンプルなアプリがほとんどですが、ぜひダウンロードして見て下さい  ↓ GooglePlay 重要英熟語 My英単語