初歩から始めるJava勉強会
Javaってなに?
Javaとはプログラムを作る際に使うプログラミング言語
の一種です。
プログラミング言語は日本語とか英語とかフランス語
みたいにたくさんの種類があります。
有名なのではC言語とかVisualBasicとか
Rubyとか無数に存在します!
Javaの特徴
フリーフォーマット...プログラム文のなかに空白や改行・タブ
などを自由に使用することができる。
コメント…/* と*/の間にコメント文を入力することができる。
コメント文とはプログラムの説明や設定した値が示す意味な
どをプログラムに関係なく記述することができる文のこと
class Sample{
public static void main(String args[]){
System.out.println(“test”); /*コメント(ここは関係ない)*/
}
}
Javaの特徴
オブジェクト指向
オブジェクト指向とはある一つのデータの処理や機能などを
オブジェクトと呼ばれる一つのまとまりととらえて開発を進め
ていく考え方のことです。
オブジェクト指向にはプログラムの再利用性が高まることや全
体のシステムの保守性などを向上させることで開発効率を上
げることができるというメリットがあります!
エスケープシーケンス
エスケープシーケンスとは
プログラム実行時に表示する文章とかに改行をいれたいときや
タブを入れたいときに使う特殊文字のこと
エスケープシーケンス 意味
n 改行
 を表示する
t タブをいれる
” “を表示する
’ ‘を表示する
は¥と一緒
2. 開発環境の導入
JDKのインストール
JDKとは…JavaDevelopmentKitのこと
Java言語でプログラムを開発する際に必要なツール
自分のパソコンのOSのbit数に対応したインストーラをダウン
ロードして、インストールすれば導入できる。
Javaのプログラムの書き方
public class Sample{
public static void main(String args[]){
/*ここに命令文を書く*/
}
}
{ }の区切りで一つの命令のまとまりです。
命令文の最後には必ず;(セミコロン)を入れましょう!
2,3,4行目の最初の空白はインデントといいます。
プログラム見やすくする大事なテクニックです!
実際にプログラムを作ってみよう!
public class Sample{
public static void main(String args[]){
System.out.print(“こんにちわ!n私は○○です”);
}
}
ここまできたらあなたも一人のプログラマです!
実際に例文と同じプログラムを作って実行してみましょう!
ファイル名:Sample.java
コンパイルして実行ファイルを作る
コンピュータにプログラムを認識させるには
コンパイルという作業をして人間の言葉を
コンピュータの言葉(機械語)にしてあげなければいけません。
public class Sample{
public static void main(String args[]){
System.out.print(“こんにちわ!n
私は○○です”);
}
}
コンパイル
0101010000101010100000100101001010
0101010010100110010101010101000110
0110101010101010101010101001010101
01011001010101
コンパイルして実行ファイルを作る
コマンドプロンプトを起動します。
         ↓
自分がプログラムを保存したファイルに
cdコマンドを使ってアクセスします。
         ↓
javac ファイル名.javaでコンパイルします。
         ↓
ファイル名.classができているのを確認し
たらjava ファイル名で実行します。
3. 変数とデータ型
変数とは
変数とは数値や文字を一時的に入れておく箱のようなもの
書き方
   変数名と数値や文字などには任意のものが入る。
  変数名という変数の中に数値を代入するという意味になる。
例えば...
a=2; と記述したら a という変数の中に 2 という数値が
代入される。
           箱a 箱aa
a=2;
2
変数名=数値や文字など;
変数名
変数に与えられた名前のことを変数名と呼ぶ。
1~9とa~Zまでの文字を組み合わせて名前を付けれる
変数名にはルールがある。
1.先頭に0~9の数字を使ってはいけない
NG例)1a, 67try, 3to8
2.大文字と小文字は区別される
例) Senpai , senpai  ←この2つは違う変数名となる
3.予約語といわれるすでにjavaの中で使われているものは
使用できない
NG例) char , class など
こんなことができる
変数どうし計算させたり結果をいれることができる。
変数cの中身は8となっている
文字をいれることもできる。
変数aの中身はAとなっている
文字を入れるときは変数と区別するため
” ”(ダブルクォーテーション)で囲う
a=3;
b=5;
c=0;
c=a+b;
a=”A”
データ型
データ型ってなに?
  →データの種類のようなもの
例えば...
aだったら文字型
123だったら整数型
melonだったら文字列型
0.4だったら小数型    などなど
型名
それぞれのデータ型には型名があります。
一文字の文字型にはchar
文字列型にはString
整数型にはint(Integer)
小数型にはfloat
という風に決まっていてデータの宣言をする際に
頭のほうに型名をつけます。
宣言ってどうするの?
データ型 変数名=入れたい値;
こんな感じ...
int hachi = 8;
char a = “A”;
String drink = “water”;
float shou = 0.6;
もちろんあとから使うために
値を入れずに宣言することもできます!
String food;
四則演算
プログラミングでは四則演算をさせるときに
算術演算子というものを使います。
種類 算術演算子 数学で使う記号
足し算(加算) + +
引き算(減算) - -
掛け算(乗算) * ×
割り算(除算) / ÷
割り算の余り(剰余算) % mod
書式指定子
書式指定子と呼ばれるprintf文を使ったときに出力する
文字列に書式を与えることができるものがあります。
public class Sample{
public staic void main(String args[]){
a=123;
System.out.printf(“変数aの中身は%dです”,a);
}
}
この中の青くなっている部分が書式指定子です。
書式指定子の例
変換文字 説明
%s,%c 文字列型
%d 整数型
%f 小数型
%x 16進数
%o 8進数
Tips
%と変換文字の間に
数字をいれると
その数字分のスペースを
確保して対象の文字列を
表示することができる。
例 %3d や %4s など
演習してみましょう!
配布資料の例題3-1と例題3-2を実行してみましょう!
それが終わった人は課題3-1と課題3-2に取り組んでください。
課題 17:35~17:45
休憩 17:45~17:55
4. 条件分岐
条件分岐とは
ここまでのプログラム
→上から下に順番に実行し、実行結果は一つ。
条件分岐
→条件に応じて実行結果が複数ある。
例えば
「これはりんごですか?」という条件があったとする。
→りんごである場合は真(true)
→りんごじゃない何かだった場合は偽(false)
条件分岐の構文は?
2つある。
● if文
- 複雑な条件かつ分岐が少ないとき
● switch文
- 数値が一致しているかという条件で分岐がたくさんあるとき
if文
基本的な書き方は以下の通り。赤文字は任意に変更できます。
if(条件式){
//条件式に対して、値が真の場合の処理を記述
}
if文
変数aが5であるかを判定する。
赤文字のところは何?
- 関係演算子という。==は「aの値は5に等しい」という意味
   比較の条件を指定するときに使う。
if(a == 5){
System.out.println(“変数aは5です。”);
}
ちょっと余談
変数aがりんごであるかを判定すると以下のようになります。
文字列を扱うときは、equalsメソッドを使って比較します。
経験者の方はequalsメソッドで調べてみるのもいいでしょう。
初心者の方は文字列のときはこう書くと覚えておきましょう。
if(a.equals(“りんご”)){
System.out.println(“aはりんごです。”);
}
関係演算子
関係演算子は数値を比較するときに使うと覚えましょう!
表4-1を見ると、先ほどの==以外にも色々あります。
りんごではなく、a=5ではないのかどうかを判定するものは…
!=を使うと、「aは5と等しくない」という意味になる。
if(a != 5){
System.out.println(“変数aの値は5ではないです。”);
}
複数の条件のときは?
例えば、aが5以下で0以上(0≦a≦5)であるときだけ処理を実
行したいとき
1. a<=5(aが5以下)
2. a>=0(0以上)
と処理が2個ある。
こういうときはどうするのか?
表4-2を見てください!
論理演算子
複数の条件を満たしている時に処理を実行させたい場合は論
理演算子というものを使います。
先ほどの場合を使って書いてみると・・・
赤文字が論理演算子で、&&は「2つの条件に真である」という意味
if(a>=0 && a<=5){
System.out.println(“aは0から5の範囲の数値です。”);
}
さまざまな場合の処理を書くには
例えば、
1. 3であるとき
2. 5であるとき
3. 3でも、5でもないとき   などなど
条件に対応した処理を一つずつ記述することもできます。
実際に書いてみる
このように別の条件のときをelse if、
偽の場合の処理をelseに書くことで実現できます。
if(a == 3){
System.out.println("変数aの値は3です。");
}
else if(a == 5){
System.out.println("変数aの値は5です。");
}
else{
System.out.println("変数aの値は3でも5でもないです。");
}
switch文
例えば、1~10までの数値一つ一つに別の処理を与えたいとき、
if文だとものすごく長くなる。
if(a == 1){
System.out.println(“aは1です。”);
}
else if(a == 2){
System.out.println(“aは2です。”);
}
else if(a == 3){
System.out.println(“aは3です。”);
}
:
switch文
そういうときは、switch文を使うと便利です。
switch(a){
case 1:
System.out.println(“aは1です。”);
break; // switch文から抜け出す。
case 2:
System.out.println(“aは2です。”);
break; // switch文から抜け出す。
case 3:
System.out.println(“aは3です。”);
break; // switch文から抜け出す。
:
}
switch文
基本的な書き方は以下の通り。赤文字は任意に変更できます。
switch(比較する変数){
case 値1:
//値1であるときの処理
break;
case 値2:
//値2であるときの処理
break;
default:
//どの値でもないときの処理
break; // 最後のbreak文は省略可
}
演習してみましょう!
配布資料の例題4-1と例題4-2を実行してみましょう!
それが終わった人は課題4-1と課題4-2に取り組んでください。
解答時間
18:10~18:20
休憩時間
5. ループ処理
ループ処理とは
プログラムによっては繰り返し同じ処理を行う場合があります。
例えば・・・
「こんにちは!」と画面に10個表示する場合、今まで学んできた
ことを使うとどのようにすればいいでしょうか?
ループ処理とは
こんな風になりますよね・・・?
10回なら余裕って人もいるかもしれないですが、
100回とかなるとちょっと面倒くさくないですか?
public class ProgramA{
public static void main(String[] args){
System.out.println(“こんにちは!”);
System.out.println(“こんにちは!”);
System.out.println(“こんにちは!”);
System.out.println(“こんにちは!”);
System.out.println(“こんにちは!”);
:
}
}
ループ処理の構文
そういう時に使えるループ処理の構文は以下の通りです!
● for文
- 繰り返し回数が決まっている場合
● while文
- ある条件に当てはまっているときだけ、繰り返したい場合
● do~while文
- 一度は必ず処理を実行して、あとは条件次第で繰り返したい場合
では、ひとつひとつ見て行きましょう!
for文
指定した回数だけ処理を繰り返す。
基本的な書き方は以下の通り。赤文字は任意に変更できます。
初期化は数え始めの数値を決めることです。
たとえば、みなさん数を数えるとき、1から数えますよね?
だったら、1を代入すればいいのです!
for(カウントの初期化;条件式;カウント方法){
// 繰り返し実行したい処理
}
for文
さっきのベタ書きをfor文を使って楽にする。
赤文字(要素)に注目!
i=1は1から数える、i<=10はiが10以下なら処理を実行する、
i++は処理の実行後にiの値に1を足すという意味。
各要素の詳しい意味は表5-1を見てください!
for(i=1;i<=10;i++){
System.out.println(“こんにちは!”);
}
while文
ある条件に当てはまっているときだけ、繰り返す。
基本的な形は以下の通り。赤文字は任意に変更できます。
for文より単純ですね!
while(条件式){
// 繰り返し実行したい処理
}
while文
例えば、iの値が0のときだけ
「iの値は0です。」と表示するには・・・
これでOK!
でも、このプログラムには1つ問題があります・・・。
i=0だった場合、無限ループになるのです!
while(i==0){
System.out.println(“iの値は0です。”);
}
while文
while文をfor文のように使うこともできます。
その場合は以下のようになります。
初期化はwhile文の前にするというところがポイントです!
int i = 1; // while文の前にiを初期化
while(i<=10){ // iが10以下の時、以下を実行
System.out.println(“こんにちは!”);
i++; // iに1を足す
}
do~while文
ループ処理を最低1回必ず行う時に使います。
基本的な形は以下の通り。赤文字は任意に変更できます。
while文は一回も実行しないことがあることに対して、
do~while文は条件に関わらず、1度は必ず実行します。
do{
// 繰り返し実行したい処理
}while(条件式);
多重ループ
ループ処理の中にループ処理を書いたらどうなるでしょうか?
例えば、12345を10回表示するプログラムを考えてみましょう!
こう考える人が多いと思います。
for(i=1;i<=10;i++){
System.out.println(““+ i +”回目 12345”);
}
多重ループ
しかし、こう書くことも出来ます!
今回の例ではプログラムが長くなってるし、使う所あるの?
と思うかもしれませんが、そのうち使うので覚えておきましょう!
for(i=1;i<=10;i++){
System.out.print(““+ i +”回目 ”);
for(j=1;j<=5;j++){
System.out.print(j);
}
System.out.println();
}
break文とcontinue文
最後にbreak文とcontinue文の紹介します。
● break文
- ループから抜け出す。
● continue文
- ループ処理をスキップする。
詳しくは例題5-2と5-3の実行してみてください!
演習してみましょう!
配布資料の例題5-1から例題5-5を実行してみましょう!
それが終わった人は課題5に取り組んでください。

初歩から始めるJava勉強会 プレゼンテーション資料