<?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/lesson02/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/lesson02/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>メソッド（関数）</title>
      <link>https://ksuap.github.io/2024spring/lesson02/method/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson02/method/index.html</guid>
      <description>メソッド（関数） 基本的な呼び出し方 例題１ 定義済みメソッドの呼び出し メソッドの定義方法 引数，返り値のないメソッド 引数あり，返り値のないメソッド 引数なし，返り値のあるメソッド 引数，返り値のあるメソッド 例題２ 例題３ メソッドの仮引数と実引数 メソッド内での値の更新 変数のスコープ 暗黙の定数this 練習問題 まとめ 基本的な呼び出し方． C言語で言う関数をJava言語ではメソッド（method）と呼びます． メソッドは必ず何らかの実体に含まれています． そのため，メソッドを呼び出すときは，どの実体に対して呼び出すのかを指定しなければいけません． 例えば，クラス定義の基本形 に示した次のコードを見てみます．
public static void main(String[] args){ GivenClassName application = new GivenClassName(); application.run(); }このコードの３行目は，application.run() とメソッドを呼び出しています． これは，application という実体に対して，run というメソッドを呼び出していることになります． このように，必ず，何らかの実体を経由しなければメソッドは呼び出せません．
例題１　定義済みメソッドの呼び出し コマンドライン引数で与えられた文字列を全て大文字に変換するプログラム，ToUpper を書いてみましょう． 以下のように出力されます．
$ java ToUpper tamada TAMADA $ java ToUpper tamada Java KSU_cse_AP tamada -&amp;gt; TAMADA Java -&amp;gt; JAVA KSU_cse_AP -&amp;gt; KSU_CSE_APString 型の値を大文字に変更するには，toUpperCase メソッドを String 型変数に対して呼び出します． すると，toUpperCaseの返り値として，全てが大文字に変更された文字列が返ってきます． なお，String型の実体は不変（immutable）です．内容の変更はできませんので，元の変数の内容は変わりません．</description>
    </item>
    <item>
      <title>練習問題</title>
      <link>https://ksuap.github.io/2024spring/lesson02/assignments/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson02/assignments/index.html</guid>
      <description>メソッド（関数） 練習問題 与えられた文字列のソート 学生証番号の正当性を検証するプログラム 二次方程式の解 モンテカルロ法による $\pi$の計算 台形公式による積分計算を利用した $\pi$の計算 まとめ 1. 与えられた文字列のソート 以下の条件を満たすように，コマンドライン引数 で与えられた複数の文字列をソートして出力するプログラムを作成してください （ソートアルゴリズムを自分で書く必要はありません）．
配列を画面に出力するためのprintArrayを実装してください． printArrayで接頭辞を出力できるようにしてください． ソートの前後で，printArrayメソッドを使って配列の要素を出力してください． クラス名は，ArgsSorterとしてください． ソートは Arraysに対して，sortメソッドを呼び出すと渡した配列の要素がソートされます． ただし，Arraysを利用する場合は，import java.util.Arrays;という一文が クラス宣言の前に必要です．
public class ArgsSorter{ void run(String[] args){ // ここで，printArray を呼び出し，&amp;#34;before&amp;#34;の一行を出力する． // argsの内容をソートするため，Arrays.sortメソッドを呼び出す． Arrays.sort(args); // &amp;lt;= args がソート済みになる． // ここで，printArray を呼び出し，&amp;#34;after&amp;#34;の一行を出力する． } // printArrayメソッドをここに書く． // mainメソッドは省略． }実行例 $ java ArgsSorter one two three four five six before: one, two, three, four, five, six, after: five, four, one, six, three, two, $ java ArgsSorter time flies like an arrow before: time, flies, like, an, arrow, after: an, arrow, flies, like, time, $ java ArgsSorter 2016 10 6 before: 2016, 10, 6, after: 10, 2016, 6,このように，アルファベット順にソートされていることが確認できます． 最後の例は，間違いではありません．&amp;quot;2016&amp;quot;，&amp;quot;10&amp;quot;，&amp;quot;6&amp;quot;という文字列でソートしている，つまり， １桁目の文字（&amp;quot;2&amp;quot;, &amp;quot;1&amp;quot;, &amp;quot;6&amp;quot;）でソートしているので，この順で正しいです．</description>
    </item>
    <item>
      <title>まとめ</title>
      <link>https://ksuap.github.io/2024spring/lesson02/summary/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ksuap.github.io/2024spring/lesson02/summary/index.html</guid>
      <description> メソッド（関数） 基本的な呼び出し方 例題１ 定義済みメソッドの呼び出し メソッドの定義方法 引数，返り値のないメソッド 引数あり，返り値のないメソッド 引数なし，返り値のあるメソッド 引数，返り値のあるメソッド 例題２ 例題３ メソッドの仮引数と実引数 メソッド内での値の更新 変数のスコープ 暗黙の定数this 練習問題 与えられた文字列のソート 学生証番号の正当性を検証するプログラム 二次方程式の解 モンテカルロ法による $\pi$の計算 台形公式による積分計算を利用した $\pi$の計算 まとめ まとめ Java言語の基礎３ メソッドの基本的な呼び出し方 メソッドの定義方法 必ずクラス宣言の内側でなければならない． 他のメソッドの中には定義できない． メソッドの名前が決められる． 引数と返り値の型が定義できる． メソッドの名前と，引数，返り値の型をまとめてシグネチャと呼ぶ． メソッドは５行以内を目指そう． メソッドの仮引数と実引数 メソッドの定義部分に書く引数は仮引数． 新たに変数を定義する． メソッドの呼び出し部分に書く引数は実引数． すでに定義された変数を利用する． メソッド内での値の更新 = は参照先を変更する演算子． メソッド内で参照先を変更しても，メソッドの呼び出し元では影響を受けない． メソッド内で参照先の実体の状態を変更すると，メソッドの呼び出し元でも変更されたまま． メソッド内で新たなオブジェクトを作って，それをreturnすると，呼び出し元でも利用できる． 変数のスコープ 変数が利用できるのは，宣言されて以降． 一番内側の閉じ括弧まで． 開き括弧（{）から閉じ括弧（}）までをブロックと呼ぶ． 暗黙の定数this 各メソッド内では，暗黙の定数であるthisを参照できる． thisはそのクラスの実体であり，当該メソッドの持ち主の実体を表す． その他 配列のソートはArrays.sort(...)メソッドを利用する． import java.util.Arrays文が必要． import文が必要な理由． 平方根を求める Math.sqrt メソッドで求められる． 文字列の長さの取得 stringValue.length() で文字列の長さが得られる． 配列の長さと区別すること． 文字列からDouble型への変換方法 文字列からInteger型への変換も参照のこと </description>
    </item>
  </channel>
</rss>