SlideShare uma empresa Scribd logo
1 de 77
Javaプログラミング入門【第3
回】
前回の復習







変数と型
if文
swich文
for文
while文
String型
変数とは



何かを入れておく箱のようなもの
変数という箱に対してできること






変数を作る(変数宣言)
値を入れる(代入)
値を見る(参照)

変数名は数字で始めることは出来ない
変数の初期化
• 初期化
▫ 変数宣言と同時に値を定める
 int x = 3;
 3という値で初期化されたint型変数x

 int x;
 未定義の変数
代入演算子
• 代入演算子
▫ x = 3;
 x←3; という意味

• 値が等しいかどうかを調べる(等価)
▫ x == y
Java言語の型
• 基本型(primitive type/プリミティブタイプ)
▫ 論理値及び数値を表す型

• 参照型(reference type/リファレンスタイプ)
▫ クラス、インターフェース、配列やenum型を表
す型
if文
• 日本語の『もしも…ならば』
if (条件式) {
条件が成り立つ時の処理

}

• 条件式は必ずboolean値(true/false)の値になる
比較演算子
Java

数学

意味

p == 50

p = 50

pが50に等しいならtrue、それ以外はfalse

p != 50

p ≠ 50

pが50に等しくないならtrue、それ以外はfalse

p >= 50

p ≧ 50

pが50以上であればtrue、それ以外はfalse

p <= 50

p ≦ 50

pが50以下であればtrue、それ以外はfalse

p > 50

p > 50

pが50より大きいならtrue、それ以外はfalse

p < 50

p < 50

pが50より小さいならtrue、それ以外false
if ~else文
• 日本語の『もしも…ならば、それ以外は』
If (条件式) {
条件式に当てはまった時の処理
} else {
条件式に当てはまらなかった時の処理
}
if文の連鎖
• if文は連鎖で書ける
if (条件式1) {
条件式1を満たす時の処理

} else if (条件式2) {
条件式2を満たす時の処理

} else {
条件式1、2共に当てはまらない時の処理

}
論理演算子『||(または)』
• 2つの条件を結びつけ、その2つのうちどちらか
一方でも(両方でも可)成り立っていればよい
• 論理和、OR条件という
論理演算子『&&(かつ)』
• 2つの条件式を結びつけ、その2つのどちらも成
り立つ
• 論理積、And条件と言う
switch文
• 多くの選択肢から1つを選んで実行する場合、
switch文を使用するとプログラムが見やすくなる
switch (式) {

case 定数式1:

case1の時の処理
break;

case 定数式2:

case2の時の処理
break;

default:

}

case1、2共に当てはまらない時の処理
break;
switch文
• Switch文を実行する時、()でくくられた式が計
算される。
▫ これを『式の評価』という

• break
▫ 処理の中断を表す

• 文字(char)による式の評価も出来る
定数式
• 『コンパイルした時点で値が決まる』のが定数
式
▫ 定数式:1+2+3

• x+2+3は定数式ではない
▫ xの値が評価する時点で式の値が変化するため
for文
• 条件を満たす間繰り返す
for (初期化; 条件式; 次の一歩) {
繰り返す処理

}
for文で0から3までを表示する
public class Count3 {
public static void main(String[] args) {
for (int i = 0; i < 4; i++) {
System.out.println(i);

}
System.out.println(“end”);

}

}
while文
• 条件文が条件を満たす限り、ある処理を繰り返
して行う
while(条件式) {
繰り返す処理

}

• 条件式はboolean型の式(true/false)
0から3までを表示する
Public class While1 {
public static void main(String[] args) {
int i = 0;
while (i < 4) {
System.out.println(i);
i++;
}
System.out.println(“end”);
}
}
Stringクラスにあるメソッドの一部
メソッド

動作

String replace(char oldChar, char
newChar)

文字列のoldCharをすべてnewCharに置換
した新しい文字列を返却する

String substring(int beginIndex)

文字列のbeginIndex番目の文字以降からな
る新しい文字列を返却する

String substring(int beginIndex, int
endIndex)

文字列のbegineIndex番目~endIndex-1番
目の文字からなる新しい文字列を返却する

String toLowerCase()

文字列中の大文字を全て小文字に変換した
新しい文字列を返却する

String toString()

文字列自体を返却する

String toUpperCase()

文字列中の小文字を全て大文字に変換した
新しい文字列を返却する

String trim()

文字列の両端からホワイトスペースを取り
除いた新しい文字列を返却する
オブジェクトを『参照』する
• String型などのオブジェクトの型は参照型と言
われる
• 参照型の変数にはオブジェクトが直接代入され
ているわけではなく、メモリのどこかに存在す
るオブジェクトを指し示す値(メモリのアドレス、
ポインタ、インデックス、インジケータなどと
も呼ばれれる)が代入されている
オブジェクトを『参照』する
• String word = “Hello!”;
変数word

Hello!
オブジェクトを『参照』する
• word = “こんにちは”;
変数word

文字列Helloは書き変わらない

Hello!
→ガーベッジ(ごみ)になった
変数wordの値は
変わる

こんにちは
オブジェクトを『参照』する
• String newWord = word;
変数word

変数wordとnewWordが
同じ文字列を指す
変数newWord

こんにちは
オブジェクトを『参照』する
• word = null;
変数word

変数wordは何も参照していない

こんにちは
変数newWord
多重定義(オーバーロード)
• 複数のメソッドが同じ名前を使うことをメソッ
ドの多重定義(オーバーロード)と呼ぶ
• メリット:プログラマが覚えなければならない
メソッドの名前の数を減らすことが出来る
• コンパイラは引数の型と個数によって、実際に
使われているメソッドを認識する
• 引数の型と個数のことをメソッドのシグニチャ
と呼ぶ
前回の続き
• String型
• break文、continue文
• do-while文
文字列の一致はequalsを使う
• 変数xとyが等しいかどうかを調べる時
• 変数xとyが基本型の場合
▫ x == y

• 変数xとyが参照型の場合
▫ x.equals(y)
演習12
• 以下のプログラムをwhile文で書き換えなさい
public class DrawGraph {
public static void main(String[] args) {
for (int i =0; i < 10; i++) {
System.out.println(i + “:”);
for (int j = 0; j < i; j++) {
System.out.print (“*”);
}
System.out.println(“”);
}
}
}
do-while文
• 繰り返す処理を1回必ず実行する
→処理を行ってから、条件式を判定する
Do {
繰り返す処理

} while (条件式);
break文
• forやwhileの繰り返しを中断する仕組みにbreak
文がある
while (…) {
…
if (条件式) {
break;
}
…
}

←while文を抜ける
二重ループとbreak文
• forやwhileが二重になっている場合、breakで中断
するのは内側のループのみ
while (…) {
while (…) {
if (条件式) {
break;
}
…
}
…
}

内側のwhile文のみ中断
continue文
• ループをスキップするのがcontinue文
while (…) {
…
if (条件式) {
continue;
}
…
}

whileの残りの処理をスキップし、
次のループに入る
演習13
• 次のスライドのプログラムContinueTest.javaは
何をするプログラムか?また、
ContinueTest.javaをcontinueを使わない形式に
書き換えなさい
ContinueTest.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ContinueTest {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
String line;
while ((line = reader.readLine()) != null) {
if (!line.endsWith("{") && !line.endsWith("}")) {
continue;
}
System.out.println(line);
}
} catch (IOException e) {
System.out.println(e);
}
}
}
if文とwhile文
• if文
if(条件式){
処理

}

• while文
while(条件式) {
処理

}

• if文とwhile文は同じ形をしていて、条件式を満
たさない限り、処理は実行されない
if文とwhile文
• if文は繰り返さないwhile文であり、while文はif文の繰り
返しである
• 「処理」が実行され始める時は、必ず「条件」は満たさ
れた状態になっている
▫ 「もしも条件が満たされたら処理を行う」→「今、この
処理を行うのなら、先ほどの条件は必ず満たされている
ことが前提となっている」
(例)
while ( i < 100) {
if (i < 100) {
処理

}

}
この場合のif文は無駄
今回の内容
• メソッド(クラスメソッド)
• 配列
• オブジェクト指向に向けて
メソッドとは
• n = Integer.parseInt("100");
メソッド
引数
• メソッドから戻ってくる整数100を戻り値と言
う
• Integer.parseIntに仕事をしてもらうことをメ
ソッド呼び出しと言う
半額セールの金額計算
• 半額セールで元値が10,000円の商品を買った
ら、金額はいくら?
• 上記を数式で表してみると
▫ p(金額) ÷2
Java言語で書いてみる
• 半額の計算をするプログラムDiscount1.javaを作
成してください。
• pの値は10000とします。
まとまった仕事をメソッドで表現する
• 「半額計算をする」という仕事を、halveメソッ
ドで表現してみる
メソッドを分解する
•
•
•
•
•
•
•
•

public
static
int
halve
(
int n
)
return
public
• アクセス制御を表す
• ここでは、だれでも呼べるメソッド
• 詳細は後日
static
• クラスメソッド
• staticなメソッドからは、staticなメソッドしか
呼び出せない
• 詳細はクラスについて学んでから
int halve(int n)
• int メソッドの戻り値の型を宣言
• halve 「半分にする」という意味。メソッド名
▫ 変数の名前は名詞、メソッドの名前は動詞にする
ことが多い
▫ 名前は自由だが、名前の途中にアンダースコアつ
けるのはJavaのお作法としてはNG

• (int n) メソッドの引数(メソッドの入力)
▫ ここではint型のnという変数を意味する
return
• メソッドの戻り値を記述する
• returnの後ろには式も記述出来る
• メソッドからの出力とも言う
戻り値がないメソッド例
public class Graph1 {
public static void main(String[] args) {
printGraph(10);

}
public static void printGraph(int x) {
for (int i = 0; i< x; i++) {
System.out.print("*");

}
System.out.println("");

}

}
戻り値のないメソッド
• 戻り値にvoidと記述があると、戻り値がないメ
ソッドを表す
• 「空の」「無効の」という意味
ローカル変数(局所変数)
• printGraphの中に登場する変数iは、このメソッ
ド内でのみ有効な変数
▫ このような変数をローカル変数(局所変数)と言う
引数の数を変える
public class Power1 {
public static void main(String[] args) {
System.out.println(getPower(8, 2));

}
public static int getPower(int x, int n) {
int y = 1;
for (int i =0; i < n; i++) {
y = x * x;

}

}

}
引数の数を変える
• 注意点
▫ メソッドの引数はいくつあってもOK
▫ メソッドの引数は、型を一つ一つ記述しなければ
ならない
Systemクラスはどこにいる?
• System クラス名
• out フィールド(変数)名
• println outが持ってるメソッドの名前

• Systemのようによく使用されるものはクラスラ
イブラリとして提供されている
演習1
• printGraphを使用して、以下のような放物線を描くプログラムを記述してくだ
さい。
***************************************
***************************
***************
********
****
*
*
****
********
***************
***************************
***************************************
配列
• 変数に番号を付けて並べたものを配列という
• 配列はクラスと同じく「参照型」
変数の復習
• 国語・数学・英語の平均点を計算するプログラム
public class Heikin1{
public static void main(String[] args) {
int kokugo, suugaku, eigo;
double heikin;

kokugo = 63;
suugaku = 90;
eigo = 75;
heikin = (kokugo + suugaku + eigo) / 3.0;

}

}

System.out.println("国語は" + kokugo + "点");
System.out.println("数学は" + kokugo + "点");
System.out.println("英語は" + eigo + "点");
System.out.println("平均点は" + heikin + "点");
配列を使ったプログラム
public class Heikin2 {

public static void main(String[] args) {
int[] ten;
double heikin;

ten = new int[3];
ten[0] = 63;
ten[1] = 90;
ten[2] = 75;
heikin = (ten[0] + ten[1] + ten[2]) / 3.0;

}

}

System.out.println("国語は" + ten[0]+ "点");
System.out.println("数学は" + ten[1] + "点");
System.out.println("英語は" + ten[2] + "点");
System.out.println("平均点は" + heikin + "点");
配列用の変数を宣言する
• int[] ten;
▫ 「 intの配列」という型宣言
▫ tenは変数名
配列を確保する
• ten = new int[3];
▫ int型の変数3つ分の領域がメモリ上に確保される
▫ 3は、配列の要素の個数
▫ newは新しくメモリを確保するときに使うJavaの
予約語
▫ 配列の要素の個数のことを配列の長さ(length)と
言う
配列の要素に代入する
• Javaの配列要素は必ず0番目から始まる
ten[0] = 63; 1個目
ten[1] = 90; 2個目
ten[2] = 75; 3個目

▫ 要素の数は3つ!

• []の間にある数字を添字と言う
配列の要素と普通の変数の比較
int[]型の変数

int型の変数

宣言

int[] ten;

int kokugo, suugaku, eigo;

確保

ten = new int[3];

(不要)

代入

ten[0] = 63;
ten[1] = 90;
ten[2] = 75;

kokugo = 63;
suugaku = 90;
eigo = 75;

参照

System.out.println("国語は" +
ten[0]+ "点");
System.out.println("数学は" +
ten[1] + "点");
System.out.println("英語は" +
ten[2] + "点");

System.out.println("国語は" + kokugo +
"点");
System.out.println("数学は" + kokugo +
"点");
System.out.println("英語は" + eigo + "
点");
添字を変数にする
public class Heikin3 {
public static void main(String[] args) {
int[] ten;
int sum;
double heikin;
ten = new int[3];
ten[0] = 63;
ten[1] = 90;
ten[2] = 75;
sum = 0;
for (int i =0; i < 3; i++) {
sum = sum + ten[i];
}
heikin = sum / 3.0;
System.out.println("国語は" + ten[0]+ "点");
System.out.println("数学は" + ten[1] + "点");
System.out.println("英語は" + ten[2] + "点");
System.out.println("平均点は" + heikin + "点");

}
}
配列の長さを表すlength
public class Heikin4 {
public static void main(String[] args) {

int[] ten;
int sum;
double heikin;
ten = new int[5];
ten[0] = 63;
ten[1] = 90;
ten[2] = 75;
ten[3] = 45;
ten[4] = 81;
sum = 0;
for (int i =0; i < ten.length; i++) {
sum = sum + ten[i];
}
heikin = (double) sum / ten.length;
System.out.println("国語は" + ten[0]+ "点");
System.out.println("数学は" + ten[1] + "点");

System.out.println("英語は" + ten[2] + "点");
System.out.println("理科は" + ten[3] + "点");
System.out.println("社会は" + ten[4] + "点");
System.out.println("平均点は" + heikin + "点");
}
}
lengthを使う利点
• ten.lengthと記述すれば、「配列の長さ」という
意味がより強くプログラムで表現できる
▫ 人間に読みやすいプログラム

• 将来プログラムを変更して、7科目になっても、
ten.lengthの部分は変更しなくて良い
キャスト演算子
• (double) sum / ten.length
▫ 型変換を強制的に行うための演算子
▫ =キャスト演算子
▫ ten.lengthはint型なので、キャストしないと小数
点以下が切り捨てになることに注意
配列の初期化
• 配列はまとめて初期化が出来る
▫ 配列の型[] 配列 = {要素, 要素, 要素, 要素,...};
▫ 配列 = new 配列の型[] {要素, 要素, 要素, 要素,...};
初期化の例
public class Heikin5 {
public static void main(String[] args) {
int[] ten = {63, 90, 75, 45, 81};
int sum;
double heikin;
sum = 0;
for (int i =0; i < ten.length; i++) {
sum += ten[i];
}
heikin = (double) sum / ten.length;
System.out.println("国語は" + ten[0]+ "点");
System.out.println("数学は" + ten[1] + "点");
System.out.println("英語は" + ten[2] + "点");
System.out.println("理科は" + ten[3] + "点");
System.out.println("社会は" + ten[4] + "点");
System.out.println("平均点は" + heikin + "点");
}
}
2次元配列
• 配列の配列を作ることが出来る
▫ これを2次元配列と呼ぶ

• 宣言
int[] [] tens;
int[][] tens = {
{63, 90, 75, 45, 81},
{85, 100, 95, 80, 90},
{100, 100, 100, 95, 100}

};

• 2次元配列の要素数は一定でなくてもよい
表計算
public class Heikin5 {

public static void main(String[] args) {
int[][] tens = {
{63, 90, 75, 45, 81},
{85, 100, 95, 80, 90},
{100, 100, 100, 95, 100}
};

}

}

for (int i = 0; i < tens.length; i++) {
int sum = 0;
for (int j = 0; j < tens[i].length; j++) {
System.out.print("t" + tens[i][j]);
sum += tens[i][j];
}
System.out.println("t| " + (double)sum / tens[i].length);
}
int[] tenとint ten[]
• 配列の型表記には2つの方法がある
• どちらもまったく同じ意味を持つ
配列の要素を巡る拡張for文
• Java5より使用出来る拡張for文を使用すると配
列の要素を簡単に回すことが出来る
• 拡張for文の形
for (int n: ten) {
System.out.print(ten);

}
for(要素の型 変数名: 配列) {
変数を使った処理

}
演習2
• 最大値を求めるプログラムを完成させなさい(???の
部分を埋めなさい)
public class ShowMaxData {
public static void main(String[] args) {
int[] data = {31, 41, 59, 26, 53, 58, 97, 93, 23, 84};
int maxData = data[0];
for (int i = 0; i < ???; i++) {
???

}
System.out.println("最大値は" + maxData + "です");

}

}
演習3
• 配列dataの要素を小さい順に並べ替えるプログ
ラム(ソートプログラム) SortDataを完成させな
さい

• 表示結果
並べ替える前
31 41 59 26 53 58 97 93 23 84
並べ替えた後
23 26 31 41 53 58 59 84 93 97
SortData
public class SortData {
public static void main(String[] args) {
int[] data = {31, 41, 59, 26, 53, 58, 97, 93, 23, 84};
System.out.println("並べ替える前");
for (int i =0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
for (int i = 0; i < ???; i++) {
for (int j = i + 1; j < ???; j++) {
if (data[i] > data[j]) {
// 交換
???
}
}
}
System.out.println("並べ替えた後");
for (int i = 0; i < data.length; i++) {
System.out.print(data[i] + " ");
}
System.out.println("");
}
}
演習4
• int型の2次元配列の内容を表示するメソッド
printArrayを完成させなさい
• 実行結果
{
{ 3, 1, 4, 1, },
{5, 9, 2, },
{6, 5, },
{3, }

}
PrintArray.java
public class PrintArray {
public static void main(String[] args) {
int[][] arr = {
{3, 1, 4, 1, },
{5, 9, 2, },
{6, 5, },
{3, }
};
printArray(arr);
}
public static void printArray(???) {
System.out.println("{");
for (int i =0; ???; i++) {
System.out.print(???);
for (int j =0; ??? ; j++) {
System.out.print(???);
}
System.out.println(???);
}
System.out.println("}");
}
}
参考文献
• Java言語

プログラミングレッスン[第3版]上

▫ 結城浩[著]

Mais conteúdo relacionado

Mais procurados

C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsFumitaka Yamada
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門Takeshi Arabiki
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Naoki Aoyama
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門SatoYu1ro
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタートShumpei Shiraishi
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと Haruka Ozaki
 
Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Yukiko Kato
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
JavaのGenericsとは?
JavaのGenericsとは?JavaのGenericsとは?
JavaのGenericsとは?Kenji Nakamura
 
ジェネリクスの基礎と応用 JJUG CCC 2012 Fall
ジェネリクスの基礎と応用 JJUG CCC 2012 Fallジェネリクスの基礎と応用 JJUG CCC 2012 Fall
ジェネリクスの基礎と応用 JJUG CCC 2012 Fallnagise
 
Material
MaterialMaterial
Material_TUNE_
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdfHiroshi Ono
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in iemaeken2010
 

Mais procurados (20)

C#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to ObjectsC#を始めたばかりの人へのLINQ to Objects
C#を始めたばかりの人へのLINQ to Objects
 
R による文書分類入門
R による文書分類入門R による文書分類入門
R による文書分類入門
 
Xtext&Xtend documents
Xtext&Xtend documentsXtext&Xtend documents
Xtext&Xtend documents
 
Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術Scala の関数型プログラミングを支える技術
Scala の関数型プログラミングを支える技術
 
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
JavaScriptクイックスタート
JavaScriptクイックスタートJavaScriptクイックスタート
JavaScriptクイックスタート
 
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと 12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
 
Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】Javaプログラミング入門【第4回】
Javaプログラミング入門【第4回】
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
Haskell超入門 Part.1
Haskell超入門 Part.1Haskell超入門 Part.1
Haskell超入門 Part.1
 
JavaのGenericsとは?
JavaのGenericsとは?JavaのGenericsとは?
JavaのGenericsとは?
 
ジェネリクスの基礎と応用 JJUG CCC 2012 Fall
ジェネリクスの基礎と応用 JJUG CCC 2012 Fallジェネリクスの基礎と応用 JJUG CCC 2012 Fall
ジェネリクスの基礎と応用 JJUG CCC 2012 Fall
 
Material
MaterialMaterial
Material
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
Introduction Xtend
Introduction XtendIntroduction Xtend
Introduction Xtend
 
BOF1-Scala02.pdf
BOF1-Scala02.pdfBOF1-Scala02.pdf
BOF1-Scala02.pdf
 
たのしい関数型
たのしい関数型たのしい関数型
たのしい関数型
 
Haskell勉強会 in ie
Haskell勉強会 in ieHaskell勉強会 in ie
Haskell勉強会 in ie
 
Actor&stm
Actor&stmActor&stm
Actor&stm
 

Destaque

2014.03.19 linux joshi_security_public
2014.03.19 linux joshi_security_public2014.03.19 linux joshi_security_public
2014.03.19 linux joshi_security_publicRyo Fujita
 
OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアルKuniyasu Suzaki
 
Mr201209 windows8 exploit_mitigation
Mr201209 windows8 exploit_mitigationMr201209 windows8 exploit_mitigation
Mr201209 windows8 exploit_mitigationFFRI, Inc.
 
中国トライアスロン報告
中国トライアスロン報告中国トライアスロン報告
中国トライアスロン報告Junichi Watanuki
 
OSS製品における品質管理について
OSS製品における品質管理についてOSS製品における品質管理について
OSS製品における品質管理についてJunichi Watanuki
 

Destaque (6)

2014.03.19 linux joshi_security_public
2014.03.19 linux joshi_security_public2014.03.19 linux joshi_security_public
2014.03.19 linux joshi_security_public
 
WHAT_A_KERNEL_IRQL
WHAT_A_KERNEL_IRQLWHAT_A_KERNEL_IRQL
WHAT_A_KERNEL_IRQL
 
OSセキュリティチュートリアル
OSセキュリティチュートリアルOSセキュリティチュートリアル
OSセキュリティチュートリアル
 
Mr201209 windows8 exploit_mitigation
Mr201209 windows8 exploit_mitigationMr201209 windows8 exploit_mitigation
Mr201209 windows8 exploit_mitigation
 
中国トライアスロン報告
中国トライアスロン報告中国トライアスロン報告
中国トライアスロン報告
 
OSS製品における品質管理について
OSS製品における品質管理についてOSS製品における品質管理について
OSS製品における品質管理について
 

Semelhante a Javaプログラミング入門【第3回】

Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①Yu Yu
 
PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門Tomo Mizoe
 
第3回輪講
第3回輪講第3回輪講
第3回輪講mh_amako
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)Masahiro Hayashi
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミングOuka Yuka
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)Masahiro Hayashi
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1Susisu
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexprGenya Murakami
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexprGenya Murakami
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
Python勉強会2-数値と文字列
Python勉強会2-数値と文字列Python勉強会2-数値と文字列
Python勉強会2-数値と文字列理 小林
 
ji-5. 繰り返し計算
ji-5. 繰り返し計算ji-5. 繰り返し計算
ji-5. 繰り返し計算kunihikokaneko1
 
Python基礎その1
Python基礎その1Python基礎その1
Python基礎その1大貴 末廣
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードShigenori Sagawa
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜Hiromi Ishii
 

Semelhante a Javaプログラミング入門【第3回】 (20)

Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①
 
C言語講習会2
C言語講習会2C言語講習会2
C言語講習会2
 
PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門PHP, JavaScriptプログラマのためのC#入門
PHP, JavaScriptプログラマのためのC#入門
 
第3回輪講
第3回輪講第3回輪講
第3回輪講
 
初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)初心者講習会資料(Osaka.R#5)
初心者講習会資料(Osaka.R#5)
 
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング(Ruby使いのための)Scalaで学ぶ関数型プログラミング
(Ruby使いのための)Scalaで学ぶ関数型プログラミング
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
JavaScript 講習会 #1
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
 
中3女子でもわかる constexpr
中3女子でもわかる constexpr中3女子でもわかる constexpr
中3女子でもわかる constexpr
 
中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr中3女子が狂える本当に気持ちのいい constexpr
中3女子が狂える本当に気持ちのいい constexpr
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
Python勉強会2-数値と文字列
Python勉強会2-数値と文字列Python勉強会2-数値と文字列
Python勉強会2-数値と文字列
 
ji-6. 配列
ji-6. 配列ji-6. 配列
ji-6. 配列
 
Q13
Q13Q13
Q13
 
Aedlabo program 20150125
Aedlabo program 20150125Aedlabo program 20150125
Aedlabo program 20150125
 
秀スクリプトの話
秀スクリプトの話秀スクリプトの話
秀スクリプトの話
 
ji-5. 繰り返し計算
ji-5. 繰り返し計算ji-5. 繰り返し計算
ji-5. 繰り返し計算
 
Python基礎その1
Python基礎その1Python基礎その1
Python基礎その1
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
How wonderful to be (statically) typed 〜型が付くってスバラシイ〜
 

Mais de Yukiko Kato

Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Yukiko Kato
 
Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Yukiko Kato
 
ネットワーク第9回
ネットワーク第9回ネットワーク第9回
ネットワーク第9回Yukiko Kato
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Yukiko Kato
 
ネットワーク第8回目
ネットワーク第8回目ネットワーク第8回目
ネットワーク第8回目Yukiko Kato
 
ネットワーク第7回
ネットワーク第7回ネットワーク第7回
ネットワーク第7回Yukiko Kato
 
[PS11]ネットワーク第6回
[PS11]ネットワーク第6回[PS11]ネットワーク第6回
[PS11]ネットワーク第6回Yukiko Kato
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Yukiko Kato
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回Yukiko Kato
 
ネットワーク第5回
ネットワーク第5回ネットワーク第5回
ネットワーク第5回Yukiko Kato
 
[PS11]ネットワーク第5回
[PS11]ネットワーク第5回[PS11]ネットワーク第5回
[PS11]ネットワーク第5回Yukiko Kato
 
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回Yukiko Kato
 
ネットワーク第4回目
ネットワーク第4回目ネットワーク第4回目
ネットワーク第4回目Yukiko Kato
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目Yukiko Kato
 
HTTPとは(HerokuとADTで実践編)
HTTPとは(HerokuとADTで実践編)HTTPとは(HerokuとADTで実践編)
HTTPとは(HerokuとADTで実践編)Yukiko Kato
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Yukiko Kato
 
ネットワーク第2回目
ネットワーク第2回目ネットワーク第2回目
ネットワーク第2回目Yukiko Kato
 
【AWS】EC2インスタンスでWebサーバ起動(for Mac)
【AWS】EC2インスタンスでWebサーバ起動(for Mac)【AWS】EC2インスタンスでWebサーバ起動(for Mac)
【AWS】EC2インスタンスでWebサーバ起動(for Mac)Yukiko Kato
 

Mais de Yukiko Kato (18)

Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】Javaデザインパターン入門【第2回】
Javaデザインパターン入門【第2回】
 
Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】Javaプログラミング入門【第9回】
Javaプログラミング入門【第9回】
 
ネットワーク第9回
ネットワーク第9回ネットワーク第9回
ネットワーク第9回
 
Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】Javaプログラミング入門【第8回】
Javaプログラミング入門【第8回】
 
ネットワーク第8回目
ネットワーク第8回目ネットワーク第8回目
ネットワーク第8回目
 
ネットワーク第7回
ネットワーク第7回ネットワーク第7回
ネットワーク第7回
 
[PS11]ネットワーク第6回
[PS11]ネットワーク第6回[PS11]ネットワーク第6回
[PS11]ネットワーク第6回
 
Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】Javaプログラミング入門【第6回】
Javaプログラミング入門【第6回】
 
ネットワーク第6回
ネットワーク第6回ネットワーク第6回
ネットワーク第6回
 
ネットワーク第5回
ネットワーク第5回ネットワーク第5回
ネットワーク第5回
 
[PS11]ネットワーク第5回
[PS11]ネットワーク第5回[PS11]ネットワーク第5回
[PS11]ネットワーク第5回
 
[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回[Ps11]ネットワーク第4回
[Ps11]ネットワーク第4回
 
ネットワーク第4回目
ネットワーク第4回目ネットワーク第4回目
ネットワーク第4回目
 
ネットワーク第3回目
ネットワーク第3回目ネットワーク第3回目
ネットワーク第3回目
 
HTTPとは(HerokuとADTで実践編)
HTTPとは(HerokuとADTで実践編)HTTPとは(HerokuとADTで実践編)
HTTPとは(HerokuとADTで実践編)
 
Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】Javaプログラミング入門【第1回】
Javaプログラミング入門【第1回】
 
ネットワーク第2回目
ネットワーク第2回目ネットワーク第2回目
ネットワーク第2回目
 
【AWS】EC2インスタンスでWebサーバ起動(for Mac)
【AWS】EC2インスタンスでWebサーバ起動(for Mac)【AWS】EC2インスタンスでWebサーバ起動(for Mac)
【AWS】EC2インスタンスでWebサーバ起動(for Mac)
 

Javaプログラミング入門【第3回】