SlideShare a Scribd company logo
初歩から始める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に取り組んでください。

More Related Content

PDF
JVMのGCアルゴリズムとチューニング
PPTX
テストコードの DRY と DAMP
PPTX
レガシーコード改善のススメ
PDF
ドメイン駆動設計 失敗したことと成功したこと
PDF
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
PDF
ドメイン駆動設計のためのオブジェクト指向入門
PDF
Dynatrace が特別な7つの理由
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
JVMのGCアルゴリズムとチューニング
テストコードの DRY と DAMP
レガシーコード改善のススメ
ドメイン駆動設計 失敗したことと成功したこと
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
ドメイン駆動設計のためのオブジェクト指向入門
Dynatrace が特別な7つの理由
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)

What's hot (20)

PDF
オブジェクト指向エクササイズのススメ
PDF
Real Life Clean Architecture
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
PPTX
機械学習の定番プラットフォームSparkの紹介
PDF
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
PPTX
P4によるデータプレーンプログラミングとユースケースのご紹介
PDF
拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)
PDF
現場で役立つシステム設計の原則
PDF
マイクロにしすぎた結果がこれだよ!
PDF
イミュータブルデータモデル(世代編)
PDF
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
PDF
最近の単体テスト
PPTX
Introduction to EJB
PPTX
Concurrency with java
PDF
Twitterのsnowflakeについて
PDF
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
PDF
Kubernetes 導入から始める DevOps について
PDF
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣
オブジェクト指向エクササイズのススメ
Real Life Clean Architecture
ドメイン駆動で開発する ラフスケッチから実装まで
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
機械学習の定番プラットフォームSparkの紹介
Laravel × レイヤードアーキテクチャを実践して得られた知見と反省 / Practice of Laravel with layered archi...
P4によるデータプレーンプログラミングとユースケースのご紹介
拒絕再寫無效規格,來學學實例化需求! (Agile Summit TW 2023)
現場で役立つシステム設計の原則
マイクロにしすぎた結果がこれだよ!
イミュータブルデータモデル(世代編)
Azure Blob Storageへの様々なアクセス方法を比べてみた JAZUG12周年イベント
最近の単体テスト
Introduction to EJB
Concurrency with java
Twitterのsnowflakeについて
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Kubernetes 導入から始める DevOps について
アーキテクチャの進化から学ぶ、プラットフォームエンジニアリングへのアプローチ
ソフトウェア設計における 意思決定とそのレビューの秘訣
Ad

Viewers also liked (19)

PPT
Javaを勉強する上で知っておく
ODP
Java の抽象クラス・インタフェース・無名クラスを理解しよう
PDF
Javaの資格試験(OCJ-P)を取って何を学んだか
PDF
Processingでジャバジャバ稼ぐ
PPT
I Biz Brief 5 May
PPTX
7 Transmedia Families merged with @Gestoried v1
PDF
Ey barometrul antreprenoriatului romanesc 2016_sinteza
PDF
What is the business value of my project?
PDF
KPIT Announces Q2 FY14 Results - Registers 44.7% Y-o-Y growth in Net Profits
PPTX
Agile learning journey in public sector / UK Parliament
PPTX
Presentación de ecosistemas
PDF
TOP 5 TIPS TO LEADING A LIMITLESS LIFE
PDF
Spark, Deep Learning and Life Sciences, Systems Biology in the Big Data Age
PPTX
8 клас урок 11
PPTX
8 клас урок 10
PDF
Pharmacophore extraction from Matched Molecular Pair Analysis
PDF
ŠKODA case study
PPTX
Aplicación de herramienta tecnológica presentacion
PPT
Javaを勉強する上で知っておく
Java の抽象クラス・インタフェース・無名クラスを理解しよう
Javaの資格試験(OCJ-P)を取って何を学んだか
Processingでジャバジャバ稼ぐ
I Biz Brief 5 May
7 Transmedia Families merged with @Gestoried v1
Ey barometrul antreprenoriatului romanesc 2016_sinteza
What is the business value of my project?
KPIT Announces Q2 FY14 Results - Registers 44.7% Y-o-Y growth in Net Profits
Agile learning journey in public sector / UK Parliament
Presentación de ecosistemas
TOP 5 TIPS TO LEADING A LIMITLESS LIFE
Spark, Deep Learning and Life Sciences, Systems Biology in the Big Data Age
8 клас урок 11
8 клас урок 10
Pharmacophore extraction from Matched Molecular Pair Analysis
ŠKODA case study
Aplicación de herramienta tecnológica presentacion
Ad

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

PPTX
2歩目 プレゼン資料 初歩から始めるjava勉強会
PDF
夏だからJava再入門
PDF
講座Java入門
PPT
第1回java実習(helloworld)2011
PPTX
Javaコーディング勉強会
PPTX
Javaプログラミング入門【第1回】
PDF
from old Java to modern Java
PDF
PDF
#5:プログラミングの基本
PDF
第1回内容の振り返り
PDF
COBOL技術者のためのJava勉強会
PDF
早稲田大学授業 - Java Programing上級
PPTX
Java研修
PDF
Javaに関する様々なトピック
PPTX
2014.7 LT java
PPTX
Enshu8
PPT
Eclipse を使った java 開発 111126 杉浦
PDF
Android道第1回公開用
PDF
Javascript1-1
PPTX
Javaプログラミング入門【第3回】
2歩目 プレゼン資料 初歩から始めるjava勉強会
夏だからJava再入門
講座Java入門
第1回java実習(helloworld)2011
Javaコーディング勉強会
Javaプログラミング入門【第1回】
from old Java to modern Java
#5:プログラミングの基本
第1回内容の振り返り
COBOL技術者のためのJava勉強会
早稲田大学授業 - Java Programing上級
Java研修
Javaに関する様々なトピック
2014.7 LT java
Enshu8
Eclipse を使った java 開発 111126 杉浦
Android道第1回公開用
Javascript1-1
Javaプログラミング入門【第3回】

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