マルチメディアプログラミング実習 2019年度後期

2019年10月10日:Javaの基礎、変数

第3章「変数」

Javaにおける基本データ型

C言語と違い、整数型のサイズが明確に決められました。char型は、C言語では1バイトでしたが、Javaでは1文字を表します。なので、コードによって1バイトだったり、多バイトだったりします。C言語では論理型がないので、charやintで代用していました。0とか1を代入してました。Javaでは専用のboolean型が用意されました。

先に作ったHello.javaを参考にVartest.javaというプログラムを作りましょう。 以下では、byte型変数を定義して、それを表示しています。 変数名は変えても良いです。 printlnの中では、文字列を連結しています。Javaでは文字列を+で連結できます。

class Vartest {  
public static void main (String args[]) {
	int x = 42;
        System.out.println("byte value x =" + x);
        }
}

これをもとに、short, int, long, char, float, double booleanの変数を全て追加して表示をしてください。intとcharを追加するなら、以下のようにします。変数名と代入する値は好きなものを使ってください。char型は漢字も試してください。ただしchar型は、1文字だけです。

class Vartest {  
public static void main (String args[]) {
	byte x= 42;
	int x1=  123456;
	char name = '椎';
        System.out.println("byte value x =" + x);
        System.out.println("int value x1 =" + x1);
        System.out.println("char value name =" + name);
        }
}

解答例:

class Vartest {  
public static void main (String args[]) {
	byte x_byte = 42;
	int x_int = 12345;
	short x_short = 123;
	long x_long = 12345678;
	char x_char = '椎';
	float x_float = 123.4f;
	double x_double = 3.14d;
	boolean x_boolean = true;
       System.out.println("byte value x_byte = " + x_byte);
       System.out.println("short value x_short = " + x_short);
       System.out.println("int value x_int = " + x_int);
       System.out.println("long value x_long = " + x_long);
       System.out.println("char value x_char = " + x_char);
       System.out.println("float value x_float = " + x_float);
       System.out.println("double value x_double = " + x_double);
       System.out.println("boolean value x_boolean = " + x_boolean);
       }
}

以下のように、整数型の変数に文字を代入して値を表示すると、文字コードが表示できる。 あなたのイニシャルを表す英文字の文字コードを表示するプログラムを作成しなさい。また、あなたの氏名の最初の文字(漢字やひらがな)についても調べなさい。

int myInitialCode1 = 'S', myInitialCode2 = '椎';
System.out.println(myInitialCode1);
System.out.println(myInitialCode2);

授業の最後の方で紹介する,Swingというフレームワークを使ってウィンドウを出してみます.

import javax.swing.JFrame;
public class SimpleWindow {

       public static void main(String argv[]) {
               JFrame f = new JFrame("私が作った最初の窓");
               f.setSize(200,100); 
               f.setVisible(true);
       }

}

これをSimpleWindow.javaという名前で保存して、

javac SimpleWindow.java
java SimpleWindow

とタイプしてコンパイル/実行します。 このプログラムは,ウィンドウのクローズボタンを押しても終了しません. プログラムを停止するには,ターミナルでコントロール-cを押します.

simplewindow.png

超簡単なプログラム(hello world)を作ってみる

class Hello {  
public static void main (String args[]) {
        System.out.println("hello java world!");
        }
}

http://siio.jp/gyazo/20121004010107.png

$ ls
Hello.java
$ cat Hello.java 
class Hello {  
public static void main (String args[]) {
        System.out.println("hello java world!");
        }
}

今は、Hello.javaファイルが一つしかありません。これをコンパイルします。

$ javac Hello.java  (コンパイルする)

コンパイルに成功するとHello.classというファイルができているはずです。lsコマンドで確認します。

$ ls
Hello.class	Hello.java

これはjavaコマンドで動作します。javaはインタープリータです。

$ java Hello      (実行する。.javaなどの拡張子は不要)
hello java world!   (結果)

今後の予定

javaのマニュアル

http://docs.oracle.com/javase/jp/8/docs/api/index.html

参考図書(去年までは教科書でした)

http://gyazo.com/de3288074dae1c75f6df4ef3c0b9b3d4.png

http://www.amazon.co.jp/dp/4883732258/

前半はこの内容で進めますので、手元にあると便利です。

この講義の目的

  1. Javaでプログラムする
  2. オブジェクト指向の概念を理解してプログラミングする
  3. GUIプログラミングをする

この講義の順序

  1. Javaになれる(C言語などのプログラミング手法の復習)
  2. オブジェクト指向について理解する
  3. GUIプログラミングについて理解する(イベント駆動)
  4. お絵描きプログラムを作ってみる

成績評価

  1. お絵描きプログラムの完成度,作り込み
  2. 毎回の宿題の達成(参考程度)
  3. 出席状況(参考程度)

単位を出す条件

  1. 最終課題のお絵描きプログラムで最低限お願いした機能を実装してください。
  2. 3/4以上出席してください。(欠席は3回まで)欠席4回で自動的に不可になります。 (公欠、忌引などは欠席にしませんので連絡ください。病欠、電車遅延の遅刻は確認できるものを提出してください。)

授業用のフォルダを作る

授業の内容を入れておくフォルダを作ってください。Documentsの中にjavaというようなフォルダを作ると良いです。

出席表明アプリケーション

以下のアプリケーションで、授業開始に出席表明してもらいます。皆さんがクリックし終わったら、締め切ります。それまでにクリックできない人は遅刻とします。

b1128c100d39263a8480428af2d05da0.png

出来上がったプログラムの提出方法

http://siio.jp/gyazo/dropbox.png

ヒューマンインタフェース2019年度前期

ヒューマンインタフェースのレポート

提出は任意です.もし良いレポートを提出いただけたら出席点の加算に使用します.

メールの標題は「ヒューマンインタフェースレポート: 17205XX」としてください。数字部分は出席番号です。 提出いただいた方はこのページでお知らせします。提出してしばらく経つのに、 自分の番号がなかなか表示されない場合は,受付されていないかもしれません.もう一度催促してください (提出を確認出来るよう締め切りより早めに提出していただくことをお勧めします)。

レポートの課題

出席状況

学部「ヒューマンインタフェース」は出席重視の授業です.そのため70%以上出席お願いします. 授業回数が13回ですので,欠席が3回を超えた場合は単位が出ません. 以下に授業全体の欠席状況を示す予定です。 欠席回数は成績に大きく影響しますので、間違いありましたら至急お知らせください.

講義開催予定

宿題

下のリンク先のソースコードをコンパイルして、応答速度を図るプロログラムを作ってください。これを使って、みなさんの応答速度を図って、次回(2019年5月16日)の小テスト用紙(A5サイズ)で報告してください。

http://lab.siio.jp/index.php?CSL11HCI#k497ebbd

教科書

http://ec2.images-amazon.com/images/I/51SsP4P1UiL._SL500_AA300_.jpg

http://www.amazon.co.jp/dp/4781912605/

授業資料

  1. http://siio.jp/lecture/humaninterface/HCI_c1.ppt.pdf
  2. http://siio.jp/lecture/humaninterface/HCI_c2.ppt.pdf
  3. http://siio.jp/lecture/humaninterface/HCI_c3.ppt.pdf
  4. http://siio.jp/lecture/humaninterface/HCI_c4.ppt.pdf
  5. http://siio.jp/lecture/humaninterface/HCI_c5.ppt.pdf
  6. http://siio.jp/lecture/humaninterface/HCI_c6.ppt.pdf
  7. http://siio.jp/lecture/humaninterface/HCI_c7.ppt.pdf
  8. http://siio.jp/lecture/humaninterface/HCI_c8.ppt.pdf
  9. http://siio.jp/lecture/humaninterface/HCI_c9.ppt.pdf
  10. http://siio.jp/lecture/humaninterface/HCI_c10.ppt.pdf

(授業開始直前や直後に差し替えされている可能性があります。)

教科書サポートページ


このページについてのお問い合わせはsiio@is.ocha.ac.jpまで。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS