Microsoft PowerPoint Java基本技術print1.ppt[読み取り専用] [互換モード]

Similar documents
Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

Java講座

K227 Java 2

プログラミングA

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Microsoft PowerPoint - prog03.ppt

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Java言語 第1回

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

JavaプログラミングⅠ

オブジェクト指向プログラミング・同演習 5月21日演習課題

プログラミング入門1

JavaプログラミングⅠ

JavaプログラミングⅠ

JavaプログラミングⅠ

Prog2_12th

プログラミング入門1

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

GEC-Java

Prog1_6th

ガイダンス

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

デジタル表現論・第4回


JavaプログラミングⅠ

Microsoft Word - 商業-3

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

Java知識テスト問題

プログラミング入門1

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

PowerPoint プレゼンテーション

r1.dvi

メソッドのまとめ

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

プログラミング入門1

Microsoft Word - java a.doc

PowerPoint Presentation

Prog1_15th

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

2

Javaプログラムの実行手順

Microsoft Word - 3new.doc

新・明解Java入門

Microsoft PowerPoint ppt

Microsoft PowerPoint - ruby_instruction.ppt

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

Java updated

メディプロ1 Javaプログラミング補足資料.ppt

Javaの作成の前に

プログラミング基礎I(再)

Microsoft PowerPoint - prog04.ppt

2

Prog1_3rd

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

問題1 以下に示すプログラムは、次の処理をするプログラムである

Week 1 理解度確認クイズ解答 解説 問題 1 (4 2 点 =8 点 ) 以下の各問いに答えよ 問題 bit 版の Windows8.1 に Java をインストールする時 必要なパッケージはどれか 但し Java のコンパイルができる環境をインストールするものとする 1. jdk

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

第二回独習 Java ゼミ 第二章クラスとメソッド 2.1 メソッドの構造 2.2 静的メソッドと静的変数の概要 2.3 インスタンスメソッドとインスタンス変数の概要 2.4 Integerクラス 2006/04/19 神津健太

2

スライド 1

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

Microsoft PowerPoint - chap10_OOP.ppt

PowerPoint プレゼンテーション

デジタル表現論・第6回

PowerPoint プレゼンテーション

Microsoft PowerPoint - prog04.ppt

JavaプログラミングⅠ

GEC-Java

C#の基本

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Prog1_2nd

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

情報技術 Java の特徴 Java は現在 事務処理計算用プログラミング言語として開発された COBOL に取って代わり C 言語や C++ と並んで 現在最も使われているプログラミング言語の一つである Java は Write Once, Run Anywhere( プログラムを一度作成したらど

kantan_C_1_iro3.indd

Prog1_10th

PowerPoint プレゼンテーション

計算機プログラミング

情報処理Ⅰ

Java演習(4) -- 変数と型 --

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

PowerPoint Presentation

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint pptx

Prog2_10th

Microsoft PowerPoint - CproNt02.ppt [互換モード]

JAVA入門

プログラミング入門1

プログラムの基本構成

ガイダンス

Microsoft Word 基_シラバス.doc

Prog2_9th

Transcription:

第 1 回 Java 基本技術講義 Javaによるオブジェクト指向 0 プログラミング構造 多くの言語は されたプログラムである (1 ルール化容易年生から学んできた C 言語も含めて ) ハード動作に近い ミスを見つけやすい 但し プログラム自体も大規模になり と が重要 Windows 95 1500 万行 Windows XP 3500 万行 Windows Vista 5000 万行 型プログラミングが注目されるようになった 1

オブジェクト指向プログラム オブジェクト指向型プログラミングとは? 動作 を もの に関連付けて 個々のプログラムを作成する ( 例 ) 構造化プログラミング ( 例 ) オブジェクト指向プログラミング Sin を計算 Sin 式 結果を表示 結果を保存 Degで計算 θ で計算 保存ファイル Text 形式 Bmp 形式 表示画面数値表示グラフ表示 自律分散 協調動作プログラミングとも考えられる 2 オブジェクト指向プログラム オブジェクト指向のプログラミング もの ( オブジェクト ) を組み合わせるルール 自動車 = エンジン + ハンドル + タイヤ アクセル + ブレーキ 使っていいところと使ってはいけないところを定義 もの ( オブジェクト ) を再利用するルール 再利用方法と使い方を定義新型車 = 従来車の + 低燃費 ( 混乱が起きないように ) 基本部分エンジン もの ( オブジェクト ) の機能拡張をするルール エンジンモータハイブリッド車 = 空転再生可能 + 可能 機能拡張するための抽象化と拡張ルールを定義 3

オブジェクト指向言語の特徴 オブジェクト指向の3 大要素 1. カプセル化 ( ) ( カプセル化 継承 ポリモーフィズム ) もの の特性と動作をまとめて大きな 部品を作り, かつアクセス範囲を限定して部品の独立性を高めるための仕組み もの の特性として変化してはならないものを して守り 変化する必要のないものを してプログラミングを容易にする 4 オブジェクト指向言語の特徴 オブジェクト指向の3 大要素 ( カプセル化 継承 ポリモーフィズム ) 2. 継承 ( ) ある のメソッドや変数などの定義情報を別のクラスに取り込む仕組み よく似たクラスを作るときに共通部分を定義した ( これを と呼ぶ ) を用意し, それを 継承する と宣言するだけで, 定義情報をそのまま利用できるようにすること 5

オブジェクト指向言語の特徴 オブジェクト指向の3 大要素 ( カプセル化 継承 ポリモーフィズム ) 3. ポリモーフィズム ( ) 日本語では と訳す 継承を抽象化することで 概念で もの をまとめ 機能を変更することを前提としたプログラミング手法を指す このポリモーフィズムの仕組みは, ソフトウエアに大きな柔軟性をもたらす 自動車 ではなく 4 輪で走行するもの と抽象化することで 継承先に 動力 を選択する自由度を与えることとなる 6 オブジェクト指向 オブジェクト指向型言語の歴史と分類 最初は設計思想として提案された (1970 年代 ) 1980 年代にMicrosoftがC++ を発表したが 難しすぎた 1990 年代に Sun Microsystems が Java を発表したが 普及はいまいち 2000 年代にWeb 発達 +Java JDK 無料配布で急激に普及した 1970 年代 1980 年代 1990 年代 2000 年代 Smalltalk Perl Ruby, Python C Objective C JavaScript Silverlight C++ Java C# Z80 MS DOS Windows3.1 WindowsXP 7

Java 言語とオブジェクト指向 Java の開発経緯とその構造 家電製品の制御用ソフトウェアとして開発を開始 (1) 家電製品は種類が豊富 もの 基準のオブジェクト指向 調理器具冷却器具冷蔵庫 電圧変換温度制御 冷却サイクル消費電力 瞬間冷却 冷凍庫 霜取り 加熱器具 タイマ機能加熱制御 トースター 焼き加減 電子レンジ 電磁制御 もの が持つ機能をまとめることで 開発の効率化や 次世代開発におけるプログラム構築の が可能 8 Java 言語とオブジェクト指向 Java の開発経緯とその構造 家電製品の制御用ソフトウェアとして開発を開始 (2) 使われるCPUが様々 搭載でCPU 依存を吸収 Java プログラム作成コンパイルバイトコード Application JavaVM JavaVM Applet Web ブラウザ + JavaVM JavaVM 同じ思想 =Microsoft Visual C# +.NET Framework 9

Java 開発環境の準備 自宅でできる Java の勉強 < 開発ツール > Java 2 Platform Standard Edition Development Kit 5.0 JDK 5.0 with Java EE & J2SE runtime http://java.sun.com/j2se/1.5.0/ja/download.html *2009/10 から JDK6.0 に本格移行 < 統合ソフトウェア > Eclipse IDE for Java EE Developers (Eclipse 3.3) http://www.eclipse.org/downloads/ 10 プログラミングスキル習得の秘訣 インストール方法などはネット情報を参照に またネット上には困ったときやわからないときに参考になるページがたくさんあります サンプルも豊富です ネットで検索しながら学ぶ方法を身につけましょう プログラムは眺めていても身につきません まずはやる気を出すために 環境を整えましょう なにか読本やネット講座を一つ選んで 最後までやりきることが重要です プログラミングは教えてもらって学ぶものではありません 自分で学び 習得していくものです ( 他の学業と違う ) この授業では短期間に習得するための手助けをしますが 細かいところは省略します 必ず自習をしてください 11

参考文献 http://www.javaroad.jp/index_basic.htm jp/index htm http://www.atmarkit.co.jp/im/carc/serial/object02/object02.html http://itpro.nikkeibp.co.jp/article/lecture/20061204/255699/?st=lecture&p=2 http://www.javaroad.jp/opensource/js_eclipse1.htm 12 第 2 回 java 基本技術講義 Java 基本文法 13

Java 文法の概要 歴史的に見ても C 言語に近い 進化 便利になっている C 言語とほとんど変わらない基本文法 変数種類 C C++ Java 演算子演算子記入例演算文の簡略記入例説明同様な書き方型デフォルト値サイズ 演算子 += x+=y 記入例では x=x+y x? : x? y : z if-else 文を簡略化した記述方法 記入例ではxがtrue のときyを実行し xがfalseのときはzを実行 Java 演算子 byte 0 -= 8bit x -= y x = x - y 算術演算子 short 0 配列関連の記述に使用 記入例では *= 16bit x *= y x 配列のインデッ = x * y [] x[0] int 0 クス番号が /= 32bit 0の配列要素を表す x /= y x = x / y %= x %= y x = x % y long 0 オブジェクトの限定名を記述する際に使用 記入例 64bit. x.y はx&= オブジェクト内のx &= yインスタンス変数の参照など y x = x & y ビット演算子 float 00 0.0 と見ることができる = とが 32bit x = y x = x y double 0.0値を指定された型に変換する際に使用 記入例は値 ^= 64bit x ^= y x = x ^ y x ( 型 ) (int)x をint 型に変換することを表す char u0000<<= 16bit x <<= y x = x << y シフト演算子 boolean false オブジェクト 配列を生成する際に使用する演算子 >>= 1bit x >>= y x = x >> y 記入例はxクラスのオブジェクトの生成を表す >>>= x >>>= y x = x >>> y 14 Java 文法の概要 C 言語とほとんど変わらない基本文法 for 文 do while 文 for ( 初期化 ; 条件 ; 更新 ) { while ( 式 ) { 文 ( 複数可 ) 文 ( 複数可 ) if 文 do { if ( 式 ) { 文 ( 複数可 ) 文 ( 複数可 ) while ( 式 ); else { switch 文文 ( 複数可 ) switch ( 式 ) { case 値 : 文 ( 複数可 ); break; case 値 : 文 ( 複数可 ); break; case 値 : 文 ( 複数可 ); break; default: 文 ( 複数可 ); break; 15

Java 文法の概要 C 言語とちょっと違う標準入出力 標準出力 C 言語 printf( a+b=%dです, c); + でつなげる Java 言語 System.out.print( a+b= +c+ です );. は 標準入力 C 言語 int a; 確かにC 言語の &( アドレス演算子, ポインタ ) scanf( %d, &a); は理解しにくいものですが みなさんがわからんわからん言うから,Java ではこんなに複雑になってしまった Java 言語 int a; String str; BufferedReader d = new BufferedReader(newInputStreamReader(System.in)); str = d.readline(); a = Integer.parseInt(str); そう!Java では がありません! 16 Java の実践 プログラミングは座学ばかりでも仕方がない 動かそう! (1)Eclipseの起動プログラムからEclipseを起動 Workbench をクリック (2) 新規プロジェクトの作成ファイル - 新規 -プロジェクトを選択 Javaプロジェクトを選択 次へ (3) プロジェクトの設定プロジェクト名 :Hello JRE プロジェクト固有 5.0を選択終了 (F) をクリック 17

Java の実践 (4)main クラスの作成 Helloを右クリックして, 新規 クラス名前に Hello と入れ, 修飾子 :public public mainにチェック終了 (F) をクリック (5) 打ち込み 右のように打ち込み (6) 実行実行 実行 Javaアプリケーションを選択コンソールに文字が出たら成功 18 Java の実践 練習問題 1 Scan プロジェクトの下に, 以下の ScanTest クラスを作成しなさい import java.io.*; class ScanTest{ public static void main(string[] args) { int a,b,wa; String str; BufferedReader d = new BufferedReader(new InputStreamReader(System.in)); str = d.readline(); a=2; b = Integer.parseInt(str); wa = a+b; System.out.print( print("a+b="+wa); +wa); Java では大文字小文字の区別あり! 19

Java の実践 最初はいろいろ赤字のメッセージがでるが, 気にしないで全てを打ち込む 修正 1. d.readline() の をクリックして try/catchで囲むを選択 修正 2. b=integer. の をクリックして変数の初期化を選択 実行実行 実行 Java アプリケーションを選択コンソールに数字を入れ, 正解が出ますか? 20 Java の実践 練習問題 1 の解説 import java.io.*; C 言語の #include と同じ public class ScanTest { public static void main(string[] args) { main 文宣言 ( 最初に読まれる ) int a, b, wa; String str = null; Stringクラス インスタンス化 BufferdReaderクラスのコピーを d として作ります BufferedReader d = new BufferedReader(new InputStreamReader(System.in)); try { 例外処理です str = d.readline(); Javaではプログラムの正常動 catch (IOException e) { // TODO 自動生成された catch ブロック e.printstacktrace(); a = 2; b = Integer.parseInt(str); Integerクラス wa = a+b; System.out.println("a+b="+wa); 作を妨げる可能性のある部分については必ず例外処理が必要となる インスタンス化, クラスについては次週に説明します 21

Java の実践 練習問題 2 以下の指定に基づき, プログラムを作成しなさい プロジェクト名 :Search クラス名 :MaxMin 動作 :5つの正の整数をキーボードから入力させ, その中の最小値, 最大値をコンソール上に表示しなさい. 1 年プログラミング基礎の問題です 22 Java 文法の補足 文字列 C 言語の場合, 文字列の宣言は char で行われたが,charh は数字も扱える Java 言語では文字列専用のCharacter String StringBufferが用意されている. ( 例 )Stringi の場合文字関連の関数を集めたもの ( クラス ) 宣言 生成 クラスとは変数宣言と関連する関数の集合体であり, 後ほど勉強する String aaa = "This is an index."; int point = aaa.indexof("index"); System.out.println(point); 23

Java 文法の補足 数値データ 数値データは変数と関数 ( メソッド ) の両方を持っている. ( 例 )int の宣言 変数型 宣言 生成 関数例 int i1 = 125; Integer i2 = 126; Integer i3 = new Integer(127); Integer i4 = Integer.valueOf("128"); 便利にした分, 混乱しやすい 24 Java 文法の補足 配列 CPU 内の配列の持ち方は C 言語と同じである. 配列の記述方法は String とよく似ている 宣言 生成 int[] intarray; String[] stringarray; double[] doublearray = new double[10]; 最初に初期化する場合は { でデータを記述する double[] doublearray = {1.05d, 1.06d, 1.07d; String[] stringarray = {"Sunday", "Monday", "Tuesday"; 25

Java 文法の補足 配列の参照, 代入 C 言語と同じように代入, 参照が可能 int intarray[] = new int[10]; intarray[5] = 50; System.out.println(intArray[5]); Java 配列は 0 番目から 2 次元配列 表記方法が違うが機能は C 言語と同じ int[][] int2array = new int[10][5]; String[][] string2array = { {"Sunday", "Monday", {"Monday", "Tuesday" ; 26 Java 文法のまとめ Java 基本文法を学んで 利点は C 言語とほとんど変わらない基本文法 C 言語で使用者が苦手とした部分を改善 ( ポインタの排除 ) C 言語で使用者が間違いやすい部分を改善 ( 文字列 ) Java 基本文法を学んで 欠点は ポインタなどを回避しているので複雑な表現 クラスってちょっと不気味 ( 直感的ではないという点 ) Java が簡単 便利だと考えられ, いろんな本や web で取り上げられているが, 決して簡単ではない. むしろ,C 言語より奥が深い 27