Java研修

iPride Co., Ltd.
iPride Co., Ltd.iPride Co., Ltd.
Java研修
Java研修
YK
Java研修
Javaとは
• Sun Microsystemsによって開発されたプログラミング言
語
• プラットフォームに依存しない
• ウェブアプリケーションの開発とビジネス用途で使用され
る
2
Java研修
用語の説明(Java)
• クラス→変数や関数を使うために用意する設計図
• インスタンス→指定したクラスを変数として別のクラスで
使えるようにする。
3
Java研修
用語の説明(Java)
• 関数→こういう順序でやりますよというグループ。
• メソッド→関数とほぼ同じ。クラスに属するという一点だ
け関数とは違う。javaでは基本的にはこれしか使わない。
4
Java研修
変数の宣言
• データ型 変数名;で宣言する
• 例えば…
• int num = 10;
5
Java研修
Javaのプリミティブ型
byte(バイト):8ビット符号付き整数
short(ショート):16ビット符号付き整数
int(インテジャー):32ビット符号付き整数
long(ロング):64ビット符号付き整数
float(フロート):単精度浮動小数点数
double(ダブル):倍精度浮動小数点数
boolean(ブーリアン):trueまたはfalseの論理値
char(キャラクタ):16ビットUnicode文字
•クラスではないデータそのものの型と言う意味
6
Java研修
boolean(ブール値)型
boolean a = true;
boolean b = false;
boolean c = (a == b);
System.out.println(c); // falseを出力
Javaではこのようにして真偽の判断ができる
7
Java研修
if文
if (条件式1) {
// 条件式1がtrueの場合に実行する処理
} else if (条件式2) {
// 条件式1がfalseで、条件式2がtrueの場合に実行する処理
} else {
// 条件式1と条件式2がfalseの場合に実行する処理
}
真か偽かを判断していく
8
Java研修
switch文
int num = 3;
switch (num) {
case 1:
System.out.println("月曜日");
break;
case 2:
System.out.println("火曜日");
break;
case 3:
System.out.println("水曜日");
break;
case 4:
System.out.println("木曜日");
break;
case 5:
System.out.println("金曜日");
break;
case 6:
System.out.println("土曜日");
break;
case 7:
System.out.println("日曜日");
break;
default:
System.out.println("正しい数値を入力してください");
break;
}
9
• 何曜日かを判断する
• 探索に引っ掛かれば、breakで終了
• この場合はケース3の水曜日が出力される
• breakがないと引っ掛かった地点から全て出力される
Java研修
for文の基本構文
for (初期化式; 条件式; 更新式) {
// 繰り返し処理
}
10
Java研修
for文の例
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
11
初期値と何回繰り返すかを設定して、
上から順番に一回ずつ実行するのが基本形
Java研修
for文の使い方
int[] array = {1, 2, 3, 4, 5};
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
この場合は要素数が5個なので、5回繰り返すfor文にしている
12
Java研修
例外処理
• 想定していない数値を入力された場合に強制終了する
• finallyを使わない場合は両方にSystem.out.print(“最後に行いたい処
理です”);とtryとcatchの両方に入れる必要がある
13
Java研修
Javaソースコード解説①
import java.util.Scanner;
public class Kadai3 {
public static void main(String[] args) {
try (Scanner scanner = new Scanner(System.in)){
System.out.print("人数を入力してください:");
final int n = scanner.nextInt();
final int[] score = new int[n];
int total = 0;
System.out.println("成績を入力してください。");
for(int i = 0; i<n;i++) {
score[i] = scanner.nextInt();
total += score[i];
}
int ave = total / n;
System.out.println("合計" + total + ", 平均" + ave);
}
}
}
14
Java研修
Javaソースコード解説①
import java.util.Scanner;
public class Kadai3 {
public static void main(String[] args) {
※一部抜粋
• 一行目でScannerという型を持ってくる。(キーの入力を受け付ける)
• クラス指定はWindowsドライブでいうファイルのようなもの
• public(公共)=外部から使用可能
• static(静的な)でどこでもこれを使えるようにする
• メソッド(方法)はこういう順序でやりますよというグループ
• Stringでダブルクォーテーション内の文字を表示できるようにする
15
Java研修
Javaソースコード解説①
try (Scanner scanner = new Scanner(System.in)){
System.out.print("人数を入力してください:");
final int n = scanner.nextInt();
final int[] score = new int[n];
int total = 0;
• 先ほどのscannerをここで使っていく(キーボードか
らの入力を受け取る)
• 人数を入力してくれと表示する
• 人数をnに入れていく
• →同時にスコアを入れる用の配列を準備させる
16
Java研修
Javaソースコード解説①
System.out.println("成績を入力してください。");
for(int i = 0; i<n; i++) {
score[i] = scanner.nextInt();
total += score[i];
}
• 成績を入力させる
• for文でn回目まで1つずつ実行させる
• scanner.nextInt()でユーザーに人数を入力させる
• 入力された合計値をtotalに入れる
17
Java研修
Javaソースコード解説①
int ave = total / n;
System.out.println("合計" + total + ", 平均" + ave);
• 合計と平均を計算
• printで結果を表示
18
Java研修
Javaソースコード解説②
importjava.util.Scanner;
//商品アイテムの定義
classItem{
publicStringname;
publicintprice;
publicItem(Stringname,intprice){
this.name=name;
this.price=price;
}
}
publicclassKadai4{
publicstaticvoidmain(String[]args){
//商品データの定義
finalItem[]itemList={
newItem("バケツ",300),
newItem("バーナー",300),
newItem("ネジ",700)
};
ScannerstdIn=newScanner(System.in);
19
※次ページに続く
Java研修
Javaソースコード解説②
//検索したいキーを入力する
System.out.print("名前:");
Stringname=stdIn.nextLine();
intindex=-1;//検索結果を記録する変数
// 検索する
for (int i = 0; i < itemList.length; i++) {
// 検索したいキーとデータの要素を比較する
if (name.equals(itemList[i].name)) {
// ヒットすればその添字の情報をメモする
index = i;
break;
}
}
// 検索に成功したかそうでないか、結果を出力する
if (index >= 0) {
System.out.printf("%s は %d 円です。n”,
itemList[index].name, itemList[index].price);
} else {
System.out.println("該当する商品はありません。");
}
}
}
20
Java研修
Javaソースコード解説②
class Item {
public String name;
public int price;
public Item(String name, int price) {
this.name = name;
this.price = price;
}
}
アイテム欄の定義
21
Java研修
Javaソースコード解説②
final Item[] itemList = {
new Item("バケツ", 300),
new Item("バーナー", 300),
new Item("ネジ", 700)
};
アイテム欄の初期化
22
Java研修
Javaソースコード解説②
int index = -1; // 検索結果を記録する変数
for (int i = 0; i < itemList.length; i++) {
// 検索したいキーとデータの要素を比較する
if (name.equals(itemList[i].name)) {
// ヒットすればその添字の情報をメモする
index = i;
break;
}
}
• 線形探索(上から順番にヒットするまで探す)をここでして
いる
• 検索結果を記録するための変数の初期値は-1
23
Java研修
Javaソースコード解説②
if (index >= 0) {
System.out.printf
("%s は %d 円です。n", itemList[index].name, itemList[index].price);
}
else
{
System.out.println(“該当する商品はありません。”);
}
• 表示の部分
• indexには最後の商品名と値段が入る
24
Java研修
付録:ChatGPT
この場合は使い物にならないが…(原理の説明が欲しい)
25
Java研修
付録:ChatGPT
ソースコードの説明をさせるという使い方なら出来る
26
Java研修
付録:ChatGPT
将来的にはコードエディタに標準搭載される可能性も考え
られる
27
キャプション
1 de 27

Recomendados

ATN No.2 Scala事始め por
ATN No.2 Scala事始めATN No.2 Scala事始め
ATN No.2 Scala事始めAdvancedTechNight
1.3K visualizações29 slides
Xtend の紹介 por
Xtend の紹介Xtend の紹介
Xtend の紹介Oda Shinsuke
2.2K visualizações76 slides
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~ por
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ (Rev.2) ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
2.4K visualizações33 slides
ソフトウェア工学2023 11 テスト por
ソフトウェア工学2023 11 テストソフトウェア工学2023 11 テスト
ソフトウェア工学2023 11 テストToru Tamaki
13 visualizações83 slides
演習:プログラミング言語処理をやってみよう por
演習:プログラミング言語処理をやってみよう演習:プログラミング言語処理をやってみよう
演習:プログラミング言語処理をやってみようTakashi Ishio
540 visualizações40 slides
C# 8.0 Preview in Visual Studio 2019 (16.0) por
C# 8.0 Preview in Visual Studio 2019 (16.0)C# 8.0 Preview in Visual Studio 2019 (16.0)
C# 8.0 Preview in Visual Studio 2019 (16.0)信之 岩永
4.5K visualizações49 slides

Mais conteúdo relacionado

Similar a Java研修

TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~ por
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~Akira Inoue
2K visualizações36 slides
pi-6. 繰り返し por
pi-6. 繰り返しpi-6. 繰り返し
pi-6. 繰り返しkunihikokaneko1
233 visualizações44 slides
Java8から17へ por
Java8から17へJava8から17へ
Java8から17へonozaty
744 visualizações61 slides
Javaプログラミング入門【第5回】 por
Javaプログラミング入門【第5回】Javaプログラミング入門【第5回】
Javaプログラミング入門【第5回】Yukiko Kato
2.2K visualizações84 slides
Spock's world por
Spock's worldSpock's world
Spock's worldTakuma Watabiki
4.4K visualizações41 slides
つぶLT20121215 por
つぶLT20121215つぶLT20121215
つぶLT20121215遼一 杉浦
243 visualizações15 slides

Similar a Java研修(20)

TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~ por Akira Inoue
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
TypeScript ファーストステップ ~ Any browser. Any host. Any OS. Open Source. ~
Akira Inoue2K visualizações
pi-6. 繰り返し por kunihikokaneko1
pi-6. 繰り返しpi-6. 繰り返し
pi-6. 繰り返し
kunihikokaneko1233 visualizações
Java8から17へ por onozaty
Java8から17へJava8から17へ
Java8から17へ
onozaty744 visualizações
Javaプログラミング入門【第5回】 por Yukiko Kato
Javaプログラミング入門【第5回】Javaプログラミング入門【第5回】
Javaプログラミング入門【第5回】
Yukiko Kato2.2K visualizações
Spock's world por Takuma Watabiki
Spock's worldSpock's world
Spock's world
Takuma Watabiki4.4K visualizações
つぶLT20121215 por 遼一 杉浦
つぶLT20121215つぶLT20121215
つぶLT20121215
遼一 杉浦243 visualizações
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~ por Akira Inoue
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue3.2K visualizações
Spring3.1概要x di por Yuichi Hasegawa
Spring3.1概要x diSpring3.1概要x di
Spring3.1概要x di
Yuichi Hasegawa7.7K visualizações
とあるFlashの自動生成 por Akineko Shimizu
とあるFlashの自動生成とあるFlashの自動生成
とあるFlashの自動生成
Akineko Shimizu1.7K visualizações
Nds#24 単体テスト por Kazumune Katagiri
Nds#24 単体テストNds#24 単体テスト
Nds#24 単体テスト
Kazumune Katagiri1.6K visualizações
Scala is-unscared por Kota Mizushima
Scala is-unscaredScala is-unscared
Scala is-unscared
Kota Mizushima1K visualizações
MoteMote Compiler Plugin por yoshiaki iwanaga
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
yoshiaki iwanaga1.2K visualizações
こわくないScala por Kota Mizushima
こわくないScalaこわくないScala
こわくないScala
Kota Mizushima3.5K visualizações
Slick入門 por chibochibo
Slick入門Slick入門
Slick入門
chibochibo7.2K visualizações
C# から java へのプログラム移植で体験したtddの効果は? por Shinichi Hirauchi
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi4.9K visualizações
Introduction of Python por Tomoya Nakayama
Introduction of PythonIntroduction of Python
Introduction of Python
Tomoya Nakayama1.2K visualizações
JavaScript 講習会 #1 por Susisu
JavaScript 講習会 #1JavaScript 講習会 #1
JavaScript 講習会 #1
Susisu 2.8K visualizações
夏だからJava再入門 por Katsumi Honda
夏だからJava再入門夏だからJava再入門
夏だからJava再入門
Katsumi Honda1.2K visualizações
TypeScript 言語処理系ことはじめ por Yu Nobuoka
TypeScript 言語処理系ことはじめTypeScript 言語処理系ことはじめ
TypeScript 言語処理系ことはじめ
Yu Nobuoka3.3K visualizações

Mais de iPride Co., Ltd.

画像生成AIの問題点 por
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点iPride Co., Ltd.
138 visualizações9 slides
AI入門 por
AI入門AI入門
AI入門iPride Co., Ltd.
192 visualizações99 slides
MVCになぞらえて理解するReact por
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReactiPride Co., Ltd.
220 visualizações19 slides
AIについて学んだこと ~ 生成AIとは? ~ por
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~iPride Co., Ltd.
85 visualizações32 slides
OAuth2.0について por
OAuth2.0についてOAuth2.0について
OAuth2.0についてiPride Co., Ltd.
33 visualizações18 slides
ゼロトラストについて学んだこと por
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだことiPride Co., Ltd.
23 visualizações23 slides

Mais de iPride Co., Ltd.(20)

画像生成AIの問題点 por iPride Co., Ltd.
画像生成AIの問題点画像生成AIの問題点
画像生成AIの問題点
iPride Co., Ltd.138 visualizações
AI入門 por iPride Co., Ltd.
AI入門AI入門
AI入門
iPride Co., Ltd.192 visualizações
MVCになぞらえて理解するReact por iPride Co., Ltd.
MVCになぞらえて理解するReactMVCになぞらえて理解するReact
MVCになぞらえて理解するReact
iPride Co., Ltd.220 visualizações
AIについて学んだこと ~ 生成AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ 生成AIとは? ~AIについて学んだこと ~ 生成AIとは? ~
AIについて学んだこと ~ 生成AIとは? ~
iPride Co., Ltd.85 visualizações
OAuth2.0について por iPride Co., Ltd.
OAuth2.0についてOAuth2.0について
OAuth2.0について
iPride Co., Ltd.33 visualizações
ゼロトラストについて学んだこと por iPride Co., Ltd.
ゼロトラストについて学んだことゼロトラストについて学んだこと
ゼロトラストについて学んだこと
iPride Co., Ltd.23 visualizações
Recoilライブラリを 触ってみる por iPride Co., Ltd.
Recoilライブラリを 触ってみるRecoilライブラリを 触ってみる
Recoilライブラリを 触ってみる
iPride Co., Ltd.27 visualizações
ReactでuseEffect()を減らしたい話 por iPride Co., Ltd.
ReactでuseEffect()を減らしたい話ReactでuseEffect()を減らしたい話
ReactでuseEffect()を減らしたい話
iPride Co., Ltd.83 visualizações
AIについて学んだこと ~ AIとは? ~ por iPride Co., Ltd.
AIについて学んだこと ~ AIとは? ~AIについて学んだこと ~ AIとは? ~
AIについて学んだこと ~ AIとは? ~
iPride Co., Ltd.21 visualizações
単一責任の原則について por iPride Co., Ltd.
単一責任の原則について単一責任の原則について
単一責任の原則について
iPride Co., Ltd.24 visualizações
オブジェクト指向 por iPride Co., Ltd.
オブジェクト指向オブジェクト指向
オブジェクト指向
iPride Co., Ltd.21 visualizações
JavaScriptで「キャピタライズ」を 実装してみる por iPride Co., Ltd.
JavaScriptで「キャピタライズ」を 実装してみるJavaScriptで「キャピタライズ」を 実装してみる
JavaScriptで「キャピタライズ」を 実装してみる
iPride Co., Ltd.26 visualizações
Pythonで学ぶ数理計画法の初歩 por iPride Co., Ltd.
Pythonで学ぶ数理計画法の初歩Pythonで学ぶ数理計画法の初歩
Pythonで学ぶ数理計画法の初歩
iPride Co., Ltd.22 visualizações
OIDC(OpenID Connect)について解説③ por iPride Co., Ltd.
OIDC(OpenID Connect)について解説③OIDC(OpenID Connect)について解説③
OIDC(OpenID Connect)について解説③
iPride Co., Ltd.33 visualizações
DrupalをDockerで起動してみる por iPride Co., Ltd.
DrupalをDockerで起動してみるDrupalをDockerで起動してみる
DrupalをDockerで起動してみる
iPride Co., Ltd.50 visualizações
HTTPの仕組みについて por iPride Co., Ltd.
HTTPの仕組みについてHTTPの仕組みについて
HTTPの仕組みについて
iPride Co., Ltd.29 visualizações
通信プロトコルについて por iPride Co., Ltd.
通信プロトコルについて通信プロトコルについて
通信プロトコルについて
iPride Co., Ltd.16 visualizações
OIDC(OpenID Connect)について解説① por iPride Co., Ltd.
OIDC(OpenID Connect)について解説①OIDC(OpenID Connect)について解説①
OIDC(OpenID Connect)について解説①
iPride Co., Ltd.49 visualizações
SpringBootにおけるテンプレートエンジンの活用 por iPride Co., Ltd.
SpringBootにおけるテンプレートエンジンの活用SpringBootにおけるテンプレートエンジンの活用
SpringBootにおけるテンプレートエンジンの活用
iPride Co., Ltd.174 visualizações
SpringBootの研修本で学んだこと por iPride Co., Ltd.
SpringBootの研修本で学んだことSpringBootの研修本で学んだこと
SpringBootの研修本で学んだこと
iPride Co., Ltd.50 visualizações

Último

定例会スライド_キャチs 公開用.pdf por
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdfKeio Robotics Association
146 visualizações64 slides
光コラボは契約してはいけない por
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけないTakuya Matsunaga
28 visualizações17 slides
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 por
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
10 visualizações22 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
109 visualizações26 slides
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PC Cluster Consortium
66 visualizações12 slides
IPsec VPNとSSL-VPNの違い por
IPsec VPNとSSL-VPNの違いIPsec VPNとSSL-VPNの違い
IPsec VPNとSSL-VPNの違い富士通クラウドテクノロジーズ株式会社
606 visualizações8 slides

Último(7)

定例会スライド_キャチs 公開用.pdf por Keio Robotics Association
定例会スライド_キャチs 公開用.pdf定例会スライド_キャチs 公開用.pdf
定例会スライド_キャチs 公開用.pdf
Keio Robotics Association146 visualizações
光コラボは契約してはいけない por Takuya Matsunaga
光コラボは契約してはいけない光コラボは契約してはいけない
光コラボは契約してはいけない
Takuya Matsunaga28 visualizações
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 por Hitachi, Ltd. OSS Solution Center.
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 por Hitachi, Ltd. OSS Solution Center.
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」 por PC Cluster Consortium
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PCCC23:富士通株式会社 テーマ1「次世代高性能・省電力プロセッサ『FUJITSU-MONAKA』」
PC Cluster Consortium66 visualizações
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」 por PC Cluster Consortium
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PCCC23:東京大学情報基盤センター 「Society5.0の実現を目指す『計算・データ・学習』の融合による革新的スーパーコンピューティング」
PC Cluster Consortium28 visualizações

Java研修