SlideShare a Scribd company logo
1 of 18
ネットワークプログラミング
    応用演習


第8回 Java言語のおさらい


    2011/11/16
(1)Javaの使い方

  以下のプログラムが与えられたとき,
  (a)何というファイル名にすべきか答えよ.
  (b)コンパイル方法を答えよ.
  (c)実行方法を答えよ.
  (d)コンパイラによって作成されたファイルの
  ファイル名を答えよ.

  public class Example1 {
     public static void main(String[] args) {
             ...内容...
     }
  }
(2)コンストラクタ
 public class Example2 {
    int num;
    public static void main( String[] args ) {
        Example2 ex2 = new Example2( 5 );
        int a = ex2.getNum();
        System.out.println( a );
    }
    Example2( int num ) {
        this.num = num;
    }
    int getNum() {
        return this.num;
    }
 }             (a)コンストラクタは何行目から
           始まっているか答えよ
(3)ローカル変数とインスタンス変数
public class Example2 {
   int num;
   public static void main( String[] args ) {
       Example2 ex2 = new Example2( 5 );
       int a = ex2.getNum();
       System.out.println( a );
   }
   Example2( int num ) {
       this.num = num;
   }
   int getNum() {
       return this.num;
   }
}             (a)ローカル変数を全て答えよ.
          (b)インスタンス変数を答えよ.
(4)メソッド
 public class Example2 {
    int num;
    public static void main( String[] args ) {
        Example2 ex2 = new Example2( 5 );
        int a = ex2.getNum();
        System.out.println( a );
    }
    Example2( int num ) {
        this.num = num;
    }
    int getNum() {
        return this.num;
    }
 }
      (a)インスタンスメソッド名を答えよ.
      (b)そのメソッドを呼び出している行を答えよ.
(5)コンストラクタ その2
public class Example3 {
   int num;
   public static void main( String[] args ) {
        Example3 ex3 = new Example3( 5.6 );
        int a = ex3.getNum();
        System.out.println( a );
   }
                                 ※getNumメソッドは省力
   Example3( int num ) {
                                 Example2のgetNumと同じ
        this.num = num;
   }
   Example3( double num ) {
        this.num = (int)(num + 0.5);
   }
}      (a)コンストラクタは何行目から始まっているか答えよ.
       (b)どちらのコンストラクタが実行されるか答えよ.
       (c)表示結果を答えよ.
(6)インスタンスメソッドとインスタンス変数
public class Example4 {
   int num;
   void plus( int num ) {
       this.num = this.num + num;
   }
   void multiple( int num ) {
       this.num = this.num * num;
   }
   void setNum( int num ) {
       this.num = num;
   }
   int getNum() {
       return this.num;     (a)this.numとnumの違いを答えよ.
   }                        (b)各メソッド内のthis.numは
}                           何行目で宣言されているか答えよ.
(7)パラメータ
public class Example5 {
   public static void main( String[] args ) {
       String data = "test.";
       hyouji( data );
   }
   static void hyouji( String str ) {
       System.out.println( str );
   }
}


   (a)変数strには何が入っているか答えよ.
   (b)dataとstrの関係について答えよ.
(8)用語の確認

 以下のJava用語について,
 参考書などで意味や使い方を調べて,
 理解できた部分を報告せよ.

(a)クラス
(b)インスタンス
(c)インスタンス変数(フィールド)
(d)インスタンスメソッド
(e)コンストラクタ
(3)-(b)の解説

    クラス(設計図)
    Example2   インスタンス生成
               new Example2(5);

                    num:
      変数:num
                      5
     メソッド:
      getNum   コンストラクタが
               numの値をセット
(5)-(b)の解説

   new Example3( 5.6 );

     パラメータの型を見て,
     Javaが自動的に判別.
     この場合はdouble型なので

     Example3( int num )

     Example3( double num )
                           こちらが実行される
(7)-(b)の解説

    String data = "test.";




                 "test."の領域

                   "test."
(7)-(b)の解説

    String data = "test.";




                             data
                                    dataという
                   "test."          名前をつける
(7)-(b)の解説

    hyouji( data );

    void hyouji( String str );




                       str       data
 strという
 名前をつける
                      "test."
(7)-(b)の解説

    hyouji( data );

    void hyouji( String str );




                       str       data
                                   hyouji内では
                      "test."      dataは見えない
(6)-(a)の解説

    クラス(設計図)
    Example4
                 インスタンス生成
                 new Example4();
      変数:num
                     num:
     メソッド:             ?
        plus
      multiple
      setNum      numの値は未定
      getNum
(6)-(a)の解説
 クラス(設計図)
 Example4             this


   変数:num           num:
                      ?
   メソッド:
      plus
               インスタンスメソッド内では
    multiple   インスタンスはthisと言う
    setNum     名前で呼ばれる.
    getNum     ゆえに,this.numは
               インスタンス変数を示す.

More Related Content

What's hot

Vinculum
VinculumVinculum
Vinculumtomerun
 
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章Haruki Eguchi
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1Takuya Ueda
 
Rmq
RmqRmq
Rmqoupc
 
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescppC++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescppcocodrips
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 
Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事Karino Kyohei
 
Delimited Dynamic Binding
Delimited Dynamic BindingDelimited Dynamic Binding
Delimited Dynamic BindingYouyou Cong
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですEric Sartre
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習Motoya Wakiyama
 
C++によるソート入門
C++によるソート入門C++によるソート入門
C++によるソート入門AimingStudy
 
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Ryo Suzuki
 
Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回Ryo Suzuki
 
[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章Haruki Eguchi
 
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力imuyaoti
 

What's hot (20)

Vinculum
VinculumVinculum
Vinculum
 
NumPy闇入門
NumPy闇入門NumPy闇入門
NumPy闇入門
 
[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章[第2版]Python機械学習プログラミング 第16章
[第2版]Python機械学習プログラミング 第16章
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1
 
Rmq
RmqRmq
Rmq
 
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescppC++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
C++と仲良くなるためのn問 ~ポインタ編~ #ladiescpp
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 
Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事Swiftを勉強してrubyの コードが変化した3つの事
Swiftを勉強してrubyの コードが変化した3つの事
 
Delimited Dynamic Binding
Delimited Dynamic BindingDelimited Dynamic Binding
Delimited Dynamic Binding
 
ゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようですゆとりが数週間でC++を始めるようです
ゆとりが数週間でC++を始めるようです
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
C++によるソート入門
C++によるソート入門C++によるソート入門
C++によるソート入門
 
Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回Processingによるプログラミング入門 第2回
Processingによるプログラミング入門 第2回
 
Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回Processingによるプログラミング入門 第4回
Processingによるプログラミング入門 第4回
 
[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章[第2版]Python機械学習プログラミング 第13章
[第2版]Python機械学習プログラミング 第13章
 
全探索
全探索全探索
全探索
 
Re revenge chap03-1
Re revenge chap03-1Re revenge chap03-1
Re revenge chap03-1
 
for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力for関数を使った繰り返し処理によるヒストグラムの一括出力
for関数を使った繰り返し処理によるヒストグラムの一括出力
 
Emcjp item33,34
Emcjp item33,34Emcjp item33,34
Emcjp item33,34
 

Viewers also liked

Viewers also liked (7)

Rr sip presentation sept 2011
Rr sip presentation sept 2011Rr sip presentation sept 2011
Rr sip presentation sept 2011
 
20120121 et研
20120121 et研20120121 et研
20120121 et研
 
The Next Big Thing
The  Next  Big  ThingThe  Next  Big  Thing
The Next Big Thing
 
Dr hany pelvitrainer
Dr hany pelvitrainerDr hany pelvitrainer
Dr hany pelvitrainer
 
Enshu3
Enshu3Enshu3
Enshu3
 
Enshu7
Enshu7Enshu7
Enshu7
 
Excel --practicas-----tic
Excel --practicas-----ticExcel --practicas-----tic
Excel --practicas-----tic
 

Similar to Enshu8

JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Yoshio Terada
 
Effective java 勉強会
Effective java 勉強会Effective java 勉強会
Effective java 勉強会Takinami Kei
 
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習JPCERT Coordination Center
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイドShinta Hatatani
 
Javaセキュアコーディングセミナー東京第1回演習の解説
Javaセキュアコーディングセミナー東京第1回演習の解説Javaセキュアコーディングセミナー東京第1回演習の解説
Javaセキュアコーディングセミナー東京第1回演習の解説JPCERT Coordination Center
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Springanyakichi
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Appresso Engineering Team
 
Javaセキュアコーディングセミナー東京第3回演習の解説
Javaセキュアコーディングセミナー東京第3回演習の解説Javaセキュアコーディングセミナー東京第3回演習の解説
Javaセキュアコーディングセミナー東京第3回演習の解説JPCERT Coordination Center
 
すごいHaskell楽しく学ぼう-第12章モノイド-
すごいHaskell楽しく学ぼう-第12章モノイド-すごいHaskell楽しく学ぼう-第12章モノイド-
すごいHaskell楽しく学ぼう-第12章モノイド-Hiromasa Ohashi
 
Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Yutaka Saito
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~Fujio Kojima
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要Toshihiro Kamishima
 

Similar to Enshu8 (20)

Junit4
Junit4Junit4
Junit4
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 
Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016Java Puzzlers JJUG CCC 2016
Java Puzzlers JJUG CCC 2016
 
Effective java 勉強会
Effective java 勉強会Effective java 勉強会
Effective java 勉強会
 
Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習Javaセキュアコーディングセミナー東京第3回演習
Javaセキュアコーディングセミナー東京第3回演習
 
Project lambda
Project lambdaProject lambda
Project lambda
 
すごいH 第12章モノイド
すごいH 第12章モノイドすごいH 第12章モノイド
すごいH 第12章モノイド
 
Javaセキュアコーディングセミナー東京第1回演習の解説
Javaセキュアコーディングセミナー東京第1回演習の解説Javaセキュアコーディングセミナー東京第1回演習の解説
Javaセキュアコーディングセミナー東京第1回演習の解説
 
ji-6. 配列
ji-6. 配列ji-6. 配列
ji-6. 配列
 
Python standard 2022 Spring
Python standard 2022 SpringPython standard 2022 Spring
Python standard 2022 Spring
 
Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34Effective java 輪読会 第6章 項目32-34
Effective java 輪読会 第6章 項目32-34
 
C#6.0の新機能紹介
C#6.0の新機能紹介C#6.0の新機能紹介
C#6.0の新機能紹介
 
Ruby test double
Ruby test doubleRuby test double
Ruby test double
 
Javaセキュアコーディングセミナー東京第3回演習の解説
Javaセキュアコーディングセミナー東京第3回演習の解説Javaセキュアコーディングセミナー東京第3回演習の解説
Javaセキュアコーディングセミナー東京第3回演習の解説
 
Introduction to Spock
Introduction to SpockIntroduction to Spock
Introduction to Spock
 
すごいHaskell楽しく学ぼう-第12章モノイド-
すごいHaskell楽しく学ぼう-第12章モノイド-すごいHaskell楽しく学ぼう-第12章モノイド-
すごいHaskell楽しく学ぼう-第12章モノイド-
 
Gura プログラミング言語の紹介
Gura プログラミング言語の紹介Gura プログラミング言語の紹介
Gura プログラミング言語の紹介
 
Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7Pfi Seminar 2010 1 7
Pfi Seminar 2010 1 7
 
C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~C#勉強会 ~ C#9の新機能 ~
C#勉強会 ~ C#9の新機能 ~
 
科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要科学技術計算関連Pythonパッケージの概要
科学技術計算関連Pythonパッケージの概要
 

Recently uploaded

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 

Recently uploaded (7)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 

Enshu8

  • 1. ネットワークプログラミング 応用演習 第8回 Java言語のおさらい 2011/11/16
  • 2. (1)Javaの使い方 以下のプログラムが与えられたとき, (a)何というファイル名にすべきか答えよ. (b)コンパイル方法を答えよ. (c)実行方法を答えよ. (d)コンパイラによって作成されたファイルの ファイル名を答えよ. public class Example1 { public static void main(String[] args) { ...内容... } }
  • 3. (2)コンストラクタ public class Example2 { int num; public static void main( String[] args ) { Example2 ex2 = new Example2( 5 ); int a = ex2.getNum(); System.out.println( a ); } Example2( int num ) { this.num = num; } int getNum() { return this.num; } } (a)コンストラクタは何行目から 始まっているか答えよ
  • 4. (3)ローカル変数とインスタンス変数 public class Example2 { int num; public static void main( String[] args ) { Example2 ex2 = new Example2( 5 ); int a = ex2.getNum(); System.out.println( a ); } Example2( int num ) { this.num = num; } int getNum() { return this.num; } } (a)ローカル変数を全て答えよ. (b)インスタンス変数を答えよ.
  • 5. (4)メソッド public class Example2 { int num; public static void main( String[] args ) { Example2 ex2 = new Example2( 5 ); int a = ex2.getNum(); System.out.println( a ); } Example2( int num ) { this.num = num; } int getNum() { return this.num; } } (a)インスタンスメソッド名を答えよ. (b)そのメソッドを呼び出している行を答えよ.
  • 6. (5)コンストラクタ その2 public class Example3 { int num; public static void main( String[] args ) { Example3 ex3 = new Example3( 5.6 ); int a = ex3.getNum(); System.out.println( a ); } ※getNumメソッドは省力 Example3( int num ) { Example2のgetNumと同じ this.num = num; } Example3( double num ) { this.num = (int)(num + 0.5); } } (a)コンストラクタは何行目から始まっているか答えよ. (b)どちらのコンストラクタが実行されるか答えよ. (c)表示結果を答えよ.
  • 7. (6)インスタンスメソッドとインスタンス変数 public class Example4 { int num; void plus( int num ) { this.num = this.num + num; } void multiple( int num ) { this.num = this.num * num; } void setNum( int num ) { this.num = num; } int getNum() { return this.num; (a)this.numとnumの違いを答えよ. } (b)各メソッド内のthis.numは } 何行目で宣言されているか答えよ.
  • 8. (7)パラメータ public class Example5 { public static void main( String[] args ) { String data = "test."; hyouji( data ); } static void hyouji( String str ) { System.out.println( str ); } } (a)変数strには何が入っているか答えよ. (b)dataとstrの関係について答えよ.
  • 9. (8)用語の確認 以下のJava用語について, 参考書などで意味や使い方を調べて, 理解できた部分を報告せよ. (a)クラス (b)インスタンス (c)インスタンス変数(フィールド) (d)インスタンスメソッド (e)コンストラクタ
  • 10.
  • 11. (3)-(b)の解説 クラス(設計図) Example2 インスタンス生成 new Example2(5); num: 変数:num 5 メソッド: getNum コンストラクタが numの値をセット
  • 12. (5)-(b)の解説 new Example3( 5.6 ); パラメータの型を見て, Javaが自動的に判別. この場合はdouble型なので Example3( int num ) Example3( double num ) こちらが実行される
  • 13. (7)-(b)の解説 String data = "test."; "test."の領域 "test."
  • 14. (7)-(b)の解説 String data = "test."; data dataという "test." 名前をつける
  • 15. (7)-(b)の解説 hyouji( data ); void hyouji( String str ); str data strという 名前をつける "test."
  • 16. (7)-(b)の解説 hyouji( data ); void hyouji( String str ); str data hyouji内では "test." dataは見えない
  • 17. (6)-(a)の解説 クラス(設計図) Example4 インスタンス生成 new Example4(); 変数:num num: メソッド: ? plus multiple setNum numの値は未定 getNum
  • 18. (6)-(a)の解説 クラス(設計図) Example4 this 変数:num num: ? メソッド: plus インスタンスメソッド内では multiple インスタンスはthisと言う setNum 名前で呼ばれる. getNum ゆえに,this.numは インスタンス変数を示す.