<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>第１講 Java言語の基礎２ on 2024年度 発展プログラミング演習（春学期）</title>
    <link>https://ksuap.github.io/2024spring/lesson01/index.html</link>
    <description>Recent content in 第１講 Java言語の基礎２ on 2024年度 発展プログラミング演習（春学期）</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Thu, 13 Apr 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ksuap.github.io/2024spring/lesson01/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>コメント</title>
      <link>https://ksuap.github.io/2024spring/lesson01/comments/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/comments/index.html</guid>
      <description>コメント 一行コメント 例 通常コメント 例 Javadocコメント 例 クラス定義 変数 配列 コマンドライン引数 練習問題 まとめ Javaのコメントは３種類の書き方ができます．
一行コメント // 以降改行までがコメントとして扱われます．
例 Integer answer = 1 + 1; // この部分がコメント． // 改行すると別のコメントとして扱われるため，再度コメント記号が必要．通常コメント /* と */ で囲まれた部分がコメントとして扱われます． C言語と同じスタイルです．
このコメントを入れ子にすることはできません．
例 /* この部分がコメントです． */ /* この部分がコメントです． 複数行に分かれていてもOK！ */ Integer answer = 1 + 1; /* この部分がコメントです． Integer answer = 1 + 1; // 途中に１行コメントが含まれていてもOK */Javadoc コメント /** と */ で囲まれた部分がコメントとして扱われます． 通常コメントと同じような書き方ですが，このコメントが書ける場所は次の３つに限られています． 次の3つ以外の場所にJavadocコメントが書かれると通常コメントとして扱われます．
クラス宣言の前， メソッド宣言の前． フィールド宣言の前． フィールド宣言とは，クラス宣言の内側，かつ，メソッド宣言の外側で定義された変数を指します． javadoc コマンドにより，ソースファイルからドキュメントを生成できますが，その時にドキュメントに掲載する文章をこのコメントで記します． この授業では扱いません．</description>
    </item>
    <item>
      <title>クラス定義</title>
      <link>https://ksuap.github.io/2024spring/lesson01/basic/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/basic/index.html</guid>
      <description>コメント クラス定義 クラス定義の基本形 new演算子 変数 配列 コマンドライン引数 練習問題 まとめ クラス定義の基本形 まずは，以下のクラスファイルの基本形を覚えておきましょう． GivenClassName は与えられたクラス名に置き換えてください． run メソッド内に指定されたプログラムを書いてください． main メソッドは返り値の型の前にpublic staticというキーワードがついていますが，これらのキーワードは今のところは mainのみにつけるものと思ってください．
public class GivenClassName{ void run(){ // ここに課題内容のプログラムを書く． } public static void main(String[] args){ GivenClassName application = new GivenClassName(); application.run(); } }ここで注目してもらいたいのは，6行目，GivenClassName application = new GivenClassName();と， 7行目のapplication.run(); です．
6行目のnew GivenClassName() でGivenClassName という型の実体を作成し， GivenClassName 型の変数application に代入しています． そして，7行目のapplication.run() は，変数application に対して， run メソッドを呼び出しています．
C言語とは異なり，Java言語では，メソッドはどこかの型の実体に必ず所属しています． そのため，メソッドを呼び出すときは，どの実体に対して呼び出すのかを明示しなくてはいけません．
なお，publicについては，FAQの可視性とは何ですかを参照してください．
new演算子 先ほど，new で実体を作成したと言いました． 次のプログラムは今まで書いてきたプログラムの例です．
Integer value1 = 3; Integer value2 = 5; Integer result = value1 + value2; System.</description>
    </item>
    <item>
      <title>変数</title>
      <link>https://ksuap.github.io/2024spring/lesson01/variables/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/variables/index.html</guid>
      <description>コメント クラス定義 変数 宣言場所 実体 参照の一致性 値の一致性 何も参照していない値null 配列 コマンドライン引数 練習問題 まとめ 宣言場所 変数は宣言する場所によって２種類の呼び方があり，特徴も少し異なります． 一つは，メソッド内で宣言する変数，ローカル変数（local variable）， もう一つは，メソッドの外で宣言する変数，フィールド（field）です． メソッドもフィールドもどちらも，クラス宣言の直下になければいけません（クラス宣言の括弧（{ }）のすぐ内側）．
フィールド（field） 初期値は null（何も参照していないことを表す予約語）． 変数名.フィールド名でアクセスできる． 有効範囲は，そのフィールドが宣言されているクラスの実体が有効な範囲． クラスの実体の有効範囲と同じ． クラスの実体の有効範囲は，そのクラスがフィールド，ローカル変数のどちらで宣言されたかによって異なる． ローカル変数（local variable） 初期化されなければコンパイルエラーとなる． 有効な時間は，そのメソッド内のスコープ内のみ． その変数が宣言された箇所以降かつ，宣言された場所の一番内側の括弧内（{ }）のみ． プログラムを書くとき，変数の有効範囲はできるだけ狭く，というのが定石です． そのため，基本的には，ローカル変数を使い，ローカル変数で対応できない場合に，フィールドを利用しましょう．
実体 実体を確認するために，次のプログラムを考えてみましょう．
Date は日付を表す型です．new Date()， もしくは，new Date(year, month, day, hour, minute) という命令で実体を作成します．与える引数の型は全て Integer です． ただし，年月日，時間を指定する場合，年は1900年からの経過年数， 月は0から始まる（0が1月を表す）点に注意してください． 古い時代のもので，互換性のために残されているもので，変な仕様ではありますが，これで確認してみましょう．
また，コンパイル時に「非推奨のAPIを使用または．．．」という注意が出ますが，無視してください． これはコンパイルエラーではなく，注意（Warning）ですので，コンパイルはできています． お勧めできない古い時代のライブラリを使っている時に出ます．基本的には使わない方が良いのですが， 今回は説明のために用います．
なお，Date型を利用するときは，import java.util.Date が クラス宣言の前に必要になります．import文が必要な理由は， FAQ import文とは何かを参照してください．
実際に，入力して，どのような実行結果になるかを考えてから，動かしてみましょう． そして，予想との違いを考えてください．
import java.util.Date; public class DateExample{ void run(){ // year は 1900年からの経過年数． // month は 0 から始まる． Date date1 = new Date(115, 8, 29, 9, 0); Date date2 = date1; System.</description>
    </item>
    <item>
      <title>配列</title>
      <link>https://ksuap.github.io/2024spring/lesson01/array/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/array/index.html</guid>
      <description>コメント クラス定義 変数 配列 宣言方法 配列の長さ 配列の各要素 配列の例 配列の作成方法 コマンドライン引数 練習問題 まとめ 宣言方法 Java言語にもC言語と同じように，配列が存在します． ただし，宣言の方法はC言語とは異なります．
// C言語は以下のように，変数名に配列を表す記号をつけていた． int array[];// Java言語では，型名の方に配列を表す記号をつける． // Integerの配列型である array を宣言する，と考えてください． Integer[] array;配列の長さ Java言語で配列の長さを取得するには，配列型の変数に .length をつけることで取得できます．
Integer[] array = // 配列の初期化は省略 System.out.println(array.length); // =&amp;gt; arrayの長さが出力される．配列の各要素 配列の各要素にアクセスするには，C言語と同じく，array[0]のように書きます． この array[0] の 0 をインデックスと呼びます． 配列の要素は，0から始まり，array.length - 1 のインデックス（配列の長さ - 1）までが配列の有効な範囲です．
配列の範囲外の要素にアクセスしようとすると，ArrayIndexOutOfBoundsException というエラーが発生します．
配列の例 では，次のように，String型の配列であるarray の各要素から図のように文字列が参照されている例を考えましょう．
配列の例 この時，以下の処理を行うと，どのような結果になるか考えましょう．
System.out.println(array.length); System.out.println(array[1]); System.out.println(array[5]); System.out.println(array[6]); 配列の作成方法 この授業では扱いません．基本的に自分で配列を作成することはなく， ライブラリの返り値など，与えられたものの利用のみとします． 配列が必要な場合は，4回目で扱う Listを利用するようにしましょう．
なぜなら，配列は近年のプログラミングからすると機能が乏しく，使いにくいためです． それよりは，配列と同じように扱えながらも，より高機能な機能が提供されている List の使い方を学ぶ方が優意義であるためです．</description>
    </item>
    <item>
      <title>コマンドライン引数</title>
      <link>https://ksuap.github.io/2024spring/lesson01/args/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/args/index.html</guid>
      <description>コメント クラス定義 変数 配列 コマンドライン引数 例題1 ArgsPrinter 例題2 コマンドライン引数とデフォルト値 練習問題 まとめ 今まで，main メソッドの引数に String型の配列がついていました． この変数を使うと，コマンドライン引数で受け取った値をプログラムから利用できます．
つまり，ターミナル上でプログラムを実行するとき，後ろに指定した文字列をプログラムで受け取れます．
$ java HogeHoge command line arguments # =&amp;gt; 上記の command, line, arguments がコマンドライン引数例題1 ArgsPrinter 次のプログラムで，コマンドライン引数で与えられた値を全て出力してみましょう．
public class ArgsPrinter{ void run(String[] args){ // args のインデックスの0番目から最後までを繰り返して， // args の各要素を出力してみましょう． for(...) { // 何番目の要素として，何が配列の要素として格納されているかを確認しましょう． System.out.printf(&amp;#34;%d: %s%n&amp;#34;, ...); } } public static void main(String[] args){ ArgsPrinter printer = new ArgsPrinter(); printer.run(args); } }実行例 入力できれば，上記のプログラムを実行して実行結果を確認してください． 実行する時，コマンドライン引数をいくつか与えてみてください．
$ java ArgsPrinter $ java ArgsPrinter abc def ghi $ java ArgsPrinter abcdefg $ java ArgsPrinter 0 1 2 3 4 5 6 7 8 9このように，run メソッドが引数を受け取るようにすることもできます． 必要に応じてコマンドライン引数を run メソッドでアクセスできるようにしましょう．</description>
    </item>
    <item>
      <title>練習問題</title>
      <link>https://ksuap.github.io/2024spring/lesson01/assignments/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/assignments/index.html</guid>
      <description>コメント クラス定義 変数 配列 コマンドライン引数 練習問題 HelloWorld改 HelloWorld改2 階乗 String型からInteger型への変換 FizzBuzz Fibonacci数列 まとめ 1. HelloWorld 改 コマンドライン引数で与えられた人に，挨拶しましょう． もし，誰も指定されない場合は，&amp;quot;Hello, World&amp;quot;と出力してください． クラス名は，HelloWorld2 とし，クラス定義の基本形に従ってプログラムを書いてください． コマンドライン引数も参考になるでしょう．
出力例 $ java HelloWorld2 Tamada Hello, Tamada $ java HelloWorld2 Sagisaka Hello, Sagisaka $ java HelloWorld2 Hello, World2. HelloWorld 改2 コマンドライン引数で与えられた人に，挨拶しましょう． 基本的には，HelloWorld 改と同じですが，もし， &amp;quot;World&amp;quot;が指定されたら，&amp;quot;Hi, World&amp;quot;と気さくに挨拶してください． クラス名は，HelloWorld3 とし，クラス定義の基本形 に従ってプログラムを書いてください． コマンドライン引数も参考になるでしょう．
出力例 $ java HelloWorld3 Miyamori Hello, Miyamori $ java HelloWorld3 Tamada Hello, Tamada $ java HelloWorld3 World Hi, World $ java HelloWorld3 Hello, World3.</description>
    </item>
    <item>
      <title>まとめ</title>
      <link>https://ksuap.github.io/2024spring/lesson01/summary/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson01/summary/index.html</guid>
      <description> コメント 一行コメント 例 通常コメント 例 Javadocコメント 例 クラス定義 クラス定義の基本形 new演算子 変数 宣言場所 実体 参照の一致性 値の一致性 何も参照していない値null 配列 宣言方法 配列の長さ 配列の各要素 配列の例 配列の作成方法 コマンドライン引数 例題1 ArgsPrinter 例題2 コマンドライン引数とデフォルト値 練習問題 HelloWorld改 HelloWorld改2 階乗 String型からInteger型への変換 FizzBuzz Fibonacci数列 まとめ まとめ Java言語の基礎2 コメント 一行コメント， 通常コメント， Javadocコメントの３種類が存在する． クラス定義の基本形 変数 フィールドとローカル変数がある Javaの変数はポインタである 参照の一致性 指し示している先が一致するかを判定するには ==． 値の一致性 変数が表す値が一致するかを判定するには Objects.equals(val1, val2)． Objectsを利用するにはimport文が必要． import文が必要な理由． null 変数が何も参照していない場合の値． 配列 配列の宣言方法 Integer[] arrayのように型名に[] を付ける． 配列の長さ array.lengthのように配列変数に.length を付ける． 配列の各要素へのアクセス方法 array[0]のように配列変数に[0] を付ける． ここの 0 を配列のインデックスと呼ぶ． 配列の有効範囲は 0 から 配列の長さ - 1 まで． 配列の有効範囲を超えてアクセスしようとすると，ArrayIndexOutOfBoundsExceptionというエラーが発生する． コマンドライン引数 mainメソッドの引数である String 型の配列はコマンドラインで指定された値が格納される． 実行時エラーの読み方 実行時エラーは，エラーの種類，発生場所が記載されている． その他 日付を表す型：Date型． String型からInteger型への変換方法 </description>
    </item>
  </channel>
</rss>