プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 [単行本]
    • プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 [単行本]

    • ¥3,27899ポイント(3%還元)
    • 在庫あり2022年7月2日土曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009003523822

プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 [単行本]

価格:¥3,278(税込)
ポイント:99ポイント(3%還元)(¥99相当)
フォーマット:
専用電子書籍リーダアプリ「Doly」が必要です。無料ダウンロード
お届け日:在庫あり今すぐのご注文で、2022年7月2日土曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2022/03/19
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 の 商品概要

  • 要旨(「BOOK」データベースより)

    この本では、プログラムを組むことを目的に、手続きの組み方や構成を解説して、そのために必要なJavaの文法を紹介するという形をとっています。また、プロになる上で知っておく必要のある開発ツールの使い方や、現在世の中で主体となっているWebの仕組みを解説した上でフレームワークを使ったWebアプリケーションの開発法を解説します。
  • 目次

    目次
    本書の読み方・動作環境

    ●第1部 Javaを始める準備

    第1章 Java ってなんだろう
    1.1 Javaとは
    1.1.1 プログラミング言語とは
    1.1.2 Javaはどんなプログラミング言語なの?
    1.1.3 Javaで何ができるの?
    1.1.4 Javaの仕様とJDKディストリビューション
    1.2 Javaの情報源
    COLUMN Java 公式キャラクター Duke

    第2章 開発環境の準備と最初の一歩
    2.1 Oracle JDKのインストール
    2.1.1 Oracle JDKのダウンロード
    2.1.2 Oracle JDKのインストール
    COLUMN Oracle 社はJavaを有償化した?
    2.2 IntelliJ IDEAのインストールと設定
    2.2.1 初心者の段階からIDEを!
    2.2.2 IntelliJ IDEAとは
    2.2.3 IntelliJ IDEAのダウンロードとインストール
    2.2.4 Toolbox Appの設定とIDEの起動
    COLUMN IntelliJ IDEAのエディション
    2.2.5 IntelliJ IDEAの初期設定
    2.3 最初のプログラムを書いてみよう
    2.3.1 プロジェクトの作成
    2.3.2 IntelliJ IDEAの初期画面
    2.3.3 クラスの作成
    2.3.4 mainメソッドの実装
    COLUMN 近年のJava IDE 事情

    ●第2部 Javaの基本

    第3章 値と計算
    3.1 JShellの起動
    3.1.1 ターミナルの起動
    3.1.2 JShellの起動
    3.1.3 JShellの終了
    3.2 値と演算
    3.2.1 整数
    3.2.2 構文エラー
    3.2.3 実数
    3.2.4 文字列
    3.2.5 例外
    3.2.6 プログラムがうまく動かない3 段階
    3.3 メソッドの呼び出し
    3.3.1 メソッドの呼び出し
    3.3.2 文字列の掛け算や引き算?
    3.3.3 メソッドのシグネチャ
    3.3.4 メソッドの使い方がわからないとき
    3.3.5 文字列のフォーマット
    3.3.6 formattedメソッドでの例外

    第4章 変数と型
    4.1 変数
    4.1.1 複合代入演算子
    4.1.2 値に名前を付けるメリット
    4.2 型
    4.2.1 変数の型
    4.2.2 基本型と参照型
    4.2.3 変数の型を指定する
    4.2.4 文字を扱う型
    4.2.5 数値の型変換
    4.2.6 型の役割

    第5章 標準API
    5.1 日付時刻
    5.1.1 APIとライブラリ
    5.1.2 現在日時を取得する
    5.1.3 パッケージとimport
    5.1.4 日付時刻の操作
    5.1.5 指定した日付時刻を扱う
    5.1.6 日付時刻の整形
    5.1.7 staticメソッドとインスタンスメソッド
    5.2 BigDecimal
    5.2.1 実数計算の誤差
    5.2.2 BigDecimalでの計算
    5.2.3 newによるBigDecimalオブジェクトの生成
    5.2.4 BigDecimalオブジェクト生成時の注意
    5.2.5 オブジェクトの生成の仕方の違い

    第6章 SwingによるGUI
    6.1 Swingでのウィンドウ表示
    6.1.1 Swing
    6.1.2 ウィンドウを表示してみる
    6.1.3 入力領域の配置
    6.1.4 2つ目の入力領域
    6.1.5 ボタンを配置
    6.1.6 クラスとオブジェクト、インスタンス
    6.1.7 参照を扱う
    6.2 画面に絵を描いてみる
    6.2.1 ウィンドウの準備
    6.2.2 画像の準備
    6.2.3 図形の描画
    6.3 Javaの基本文法
    6.3.1 Javaの文法
    6.3.2 入力エラーの対処
    6.3.3 IntelliJ IDEAを使わずに実行する

    ●第3部 Javaの文法

    第7章 条件分岐
    7.1 論理型
    7.1.1 値の比較
    7.1.2 オブジェクトの大小比較
    7.1.3 オブジェクトが等しいかどうかの比較
    7.1.4 論理演算子
    7.1.5 条件演算子
    7.2 if 文による条件分岐
    7.2.1 if 文
    7.2.2 else 句
    7.2.3 else if
    7.3 switchによる条件分岐
    7.3.1 switch 文
    7.3.2 default 句
    7.3.3 switch 式
    7.3.4 古い形式のswitch

    第8章 データ構造
    8.1 Listで値をまとめる
    8.1.1 List
    8.1.2 変更のできるList
    8.1.3 ジェネリクスによる型検査
    8.1.4 ジェネリクスの型推論
    8.1.5 ラッパークラス
    8.2 配列
    8.2.1 配列の初期化
    8.2.2 要素を設定した配列の初期化
    8.2.3 配列の要素の利用
    8.2.4 多次元配列
    8.3 レコードで違う種類の値を組み合わせる
    8.3.1 違う種類の値をListでまとめて扱う
    8.3.2 違う種類の値をまとめて扱うレコードを定義する
    8.3.3 レコードのオブジェクトを生成する
    8.4 Mapで辞書を作る
    8.4.1 Map
    8.4.2 変更可能なMap
    8.4.3 イミュータブル(不変)なオブジェクト

    第9章 繰り返し
    9.1 ループ構文
    9.1.1 for 文の基本
    9.1.2 for文の応用
    9.1.3 while 文
    9.1.4 do while 文
    9.1.5 ループのcontinueとbreak
    9.2 ループに慣れる
    9.2.1 デバッガーでループを覗く
    9.2.2 二重ループ
    COLUMN i、jの次は?
    9.2.3 もう少しループの練習
    9.2.4 迷路ゲームを作る

    第10章 データ構造の処理
    10.1 データ構造を拡張for 文で扱う
    10.1.1 基本for 文でのListの要素の処理
    10.1.2 拡張for 文によるListの要素の処理
    10.1.3 拡張for 文による配列の要素の処理
    10.1.4 値の集合の処理のパターン
    10.2 Stream
    10.2.1 IntelliJ IDEAによるStreamへの変換
    10.2.2 Streamの構成
    10.2.3 ラムダ式
    10.2.4 Streamソース
    10.2.5 終端処理
    10.2.6 中間処理
    10.2.7 Optional
    10.3 基本型のStream 処理
    10.3.1 IntStreamで整数の処理
    10.3.2 StreamとIntStreamの行き来

    第11章 メソッド
    11.1 メソッドの宣言
    11.1.1 JShellでのメソッド宣言
    11.1.2 staticメソッドの宣言
    11.1.3 インスタンスメソッドの宣言
    11.1.4 IntelliJ IDEAにメソッドを宣言してもらう
    11.2 ラムダ式とメソッド参照
    11.2.1 ラムダ式
    11.2.2 メソッド参照
    11.2.3 IntelliJ IDEAでラムダ式とメソッド参照の変換
    11.3 メソッドの使いこなし
    11.3.1 メソッドのオーバーロード
    11.3.2 メソッド呼び出しの組み合わせ
    COLUMN うまく名前を付けるのも実力のうち
    11.3.3 再帰とスタック

    ●第4部 高度なプログラミング

    第12章 入出力と例外
    12.1 ファイルアクセスと例外
    12.1.1 ファイル書き込み
    12.1.2 ファイル読み込み
    12.1.3 例外
    12.1.4 throwsで例外を押しつける
    12.1.5 try 句で例外に対処する
    12.1.6 検査例外と非検査例外
    12.1.7 例外を投げる
    12.2 ネットワークでコンピュータの外の世界と関わる
    12.2.1 サーバーとクライアント
    12.2.2 ソケット通信とTCP/IP
    12.2.3 OutputStreamでのデータ送信
    12.2.4 InputStreamでのデータ受信
    12.2.5 try-with-resources
    12.3 Webの裏側を見てみる
    12.3.1 HTTP
    12.3.2 HTTPクライアント
    12.3.3 HTTPSで安全なWebアクセス
    12.3.4 Webクライアントライブラリ
    12.3.5 Webサーバーを作る

    第13章 処理の難しさの段階
    13.1 ループの難しさの段階
    13.1.1 他のデータを参照するループ
    13.1.2 隠れた状態を扱うループ
    13.2 状態遷移と正規表現
    13.2.1 状態遷移の管理とenum
    13.2.2 正規表現
    13.3 スタックとキュー
    13.3.1 スタックとキュー
    13.3.2 ツリーの探索
    13.3.3 メソッドの再帰呼び出しをスタックを使った処理に置き換える
    13.3.4 幅優先探索とキュー
    13.3.5 計算の複雑さの階層

    第14章 クラスとインタフェース
    14.1 クラス
    14.1.1 クラスのメンバー
    14.1.2 アクセス制御(可視性)
    14.1.3 コンストラクタ
    14.1.4 this
    14.1.5 フィールド
    14.1.6 ネステッドクラスとインナークラス
    14.2 インタフェース
    14.2.1 インタフェースが欲しい状況
    14.2.2 インタフェースを使ってメソッドを統一的に扱う
    14.2.3 必要なメソッドを実装していないときのエラー
    14.2.4 実装を持ったメソッドをインタフェースに定義する
    14.2.5 インタフェースにおけるアクセス制御
    14.2.6 公称型と構造的部分型
    14.3 ラムダ式と関数型インタフェース
    14.3.1 関数型インタフェース
    14.3.2 標準APIで用意されている関数型インタフェース
    14.4 クラスとファイル
    14.4.1 ソースファイル
    14.4.2 classファイル
    14.4.3 コメント
    14.4.4 コマンドラインパラメータ

    第15章 継承
    15.1 継承
    15.1.1 クラスの継承
    15.1.2 継承でのコンストラクタ
    15.1.3 Objectクラス
    15.1.4 メソッドのオーバーライド
    15.1.5 匿名クラス
    15.2 継承の活用
    15.2.1 差分プログラミング
    15.2.2 継承でデータを分類する
    15.2.3 継承とオブジェクト指向

    ●第5部 ツールと開発技法

    第16章 ビルドツールとMaven
    16.1 ビルドツールの必要性
    16.2 Mavenの基本
    COLUMN Maven 以外のJavaビルドツール
    16.3 Mavenのモジュールとディレクトリ構成
    16.3.1 groupIdとartifactId
    16.3.2 Mavenプロジェクトのディレクトリ構成
    16.4 ライブラリとMaven Repository
    16.4.1 ライブラリへの依存
    16.4.2 Maven Central Repository
    16.4.3 Mavenプロジェクトへライブラリを追加する
    16.4.4 依存のscope
    16.4.5 pom.xmlへの依存の記述
    16.4.6 pom.xml 記述内容のプロジェクトへの反映
    16.4.7 Maven Central Repository のインデックス作成
    16.4.8 ライブラリの確認
    16.4.9 businessCalendar4Jの動作確認
    16.4.10 目的に合ったライブラリを見つける
    16.5 MavenのGoal

    第17章 Javadocとドキュメンテーション
    17.1 Javadocとは
    17.2 ブラウザでJavadocを見る
    17.2.1 標準APIのJavadoc
    17.2.2 Javadocの読み方
    17.2.3 英語版のJavadoc
    17.3 IDEからJavadocを見る
    17.4 Javadocを書く
    17.5 JavadocのHTMLを生成する

    第18章 JUnitとテストの自動化
    18.1 テストの自動化とは
    18.1.1 JUnitのセットアップと実行
    18.1.2 テストケースの実装、実装コードの修正
    18.1.3 その他のアサーションメソッド
    18.2 テスト自動化のヒント
    18.2.1 効果的にテストケースを書く
    18.2.2 テスト駆動開発
    18.2.3 GUIアプリケーションやWebアプリケーションのテスト
    COLUMN 時間がないからテストは書かない?
    18.3 オリンピック開催年を判別するコードをテスト

    第19章 IntelliJ IDEAを使いこなす
    19.1 補完機能を使いこなす
    19.1.1 補完の候補表示と補完確定
    19.1.2 import 文の補完
    19.2 Live Templateと後置補完

    第20章 バージョン管理とGit
    20.1 アンドゥやファイルコピーによる履歴管理
    20.1.1 Local History
    20.2 バージョン管理システム
    20.2.1 Gitのインストール
    20.3 Git 連携を有効にする
    20.4 コミット
    20.4.1 コミット対象ファイルの選択
    20.4.2 コミットの実行
    20.4.3 ファイル追加時の確認ダイアログ
    20.4.4 変更したファイルの差分とコミット
    20.4.5 Gitログの確認
    20.4.6 .gitignoreファイルの作成
    20.5 ブランチ
    20.5.1 ブランチの作成と切り換え
    20.5.2 ブランチのマージ
    20.6 Git 誤操作後の復旧方法
    20.6.1 Amend
    20.6.2 Revert
    20.6.3 コミットのReset

    ●第6部 Webアプリケーション開発

    第21章 Spring BootでWebアプリケーションを作ってみる
    21.1 Webアプリケーションとフレームワーク
    21.1.1 Webアプリケーションとは
    21.1.2 Webアプリケーションの仕組み
    21.1.3 アプリケーションフレームワークとは
    21.1.4 フレームワークを利用するメリット
    21.1.5 Webアプリケーション開発に使える代表的なフレームワーク
    21.2 Spring Bootでタスク管理アプリケーションを作ってみる
    21.2.1 タスク管理アプリケーションの概要
    21.2.2 Webアプリケーション用のプロジェクトを作る
    21.3 RestControllerでWebアプリケーションの仕組みを学ぶ
    21.3.1 @RestControllerアノテーションでコントローラを作成する
    21.3.2 クライアントからのリクエストに応えるためのエンドポイントを作る
    21.3.3 helloエンドポイントにアクセスしてみる
    21.3.4 タスク管理アプリケーションをコマンドラインから起動する
    21.4 モデルを使ってアプリケーションの内部情報を保持する
    21.4.1 タスクの情報を保持するためのモデルの作成
    21.4.2 タスクを追加するエンドポイントの作成
    21.4.3 タスクを一覧表示するエンドポイントの作成
    21.5 ユーザーインタフェースの作成にテンプレートエンジンを活用する
    21.5.1 @Controllerアノテーションでコントローラを作成する
    21.5.2 テンプレートエンジン
    21.5.3 Thymeleafが使えるようにpom.xmlを修正する
    21.5.4 Thymeleaf 用のHTMLテンプレートを作る
    21.5.5 HomeControllerのhelloメソッドを修正する
    21.5.6 タスクの追加および一覧表示用のテンプレートを用意する
    21.5.7 HomeControllerにタスクの一覧表示機能のエンドポイントを実装する
    21.5.8 HomeControllerにタスクの追加機能のエンドポイントを実装する
    21.5.9 CSSを使ってテンプレートを装飾する

    第22章 Webアプリケーションにデータベースを組み込む
    22.1 データベースとは
    22.1.1 DBMSの種類
    22.1.2 リレーショナルデータベースとは
    22.1.3 リレーショナルデータベースにアクセスするための言語「SQL」
    22.1.4 Javaによるデータベース接続とJDBC
    22.2 SQLでH2データベースを操作する
    22.2.1 H 2とは
    22.2.2 pom.xmlへの依存関係の追加
    22.2.3 application.propertiesへの設定の追加
    22.2.4 H 2コンソールを使ったデータベース接続
    22.2.5 テーブルを作成するCREATE 文
    22.2.6 テーブルにレコードを追加するIN
  • 内容紹介

    本書では、プログラミングを仕事にしたい、エンジニアとして働きたい方、およびほかの言語で開発しているがJavaも使えるようになりたいという方を対象に、Javaでプログラミングができるようになるための解説をわかりやすく丁寧に行います。
    Javaは、企業システムの構築を得意とするプログラミング言語で、銀行でお金を振り込む、宅配便で荷物を送るといった業務システムで多く使われているほか、検索サイトやSNS、買い物サイトなどサービスの構築でも広く使われています。多くの業務システムで利用されており、Javaプログラマーの人材募集も多いことから、Javaエンジニアになりたい人も比較的多いという状況があります。本書では、そうした中でプロとしてJava開発に携われるようになるために必要なプログラミングの知識をゼロから解説しています。Javaをすでに使っているがもっとプログラムをきちんと書けるようになりたいという人にもおすすめです。

    多くの「プログラミングの入門書」では、プログラミング言語の構文は丁寧に解説されていますが、プログラムの書き方の説明はあまりありません。本書ではJavaを対象として、プログラミングに入門できるように解説しています。プログラムを作るという体験を通して、プログラムが動くことの楽しさやまた難しさを感じてもらえることを目標としています。自転車に乗れるようになるために何が必要かというと、自転車のパーツの名前や働き、原理を知ることではありません。自転車に実際に乗って、何度かこけそうになったりこけたりして、徐々にうまく乗ることができるようになるものです。プログラミングも技能なので、文法を覚えてライブラリの使い方を知るだけではプログラムが組めるようにはなりません。実際にプログラムを組んで、動かなかったり動いたりしながら徐々にうまくプログラムが組めるようになります。本書ではこうしたプログラムの組み方をわかりやすく解説します。

    本書では、第1部「Javaを始める準備」では、Javaの基本および開発環境のインストール方法について解説します。第2部「Javaの基本」では、JShellを使って基本的な計算や変数、標準API、GUI開発について解説します。第3部「Javaの文法」では、条件分岐と繰り返し、データ構造、メソッドについて解説します。第4部「高度なプログラミング」では、ファイルやネットワークでの入出力と例外、処理の難しさ、クラスとインタフェースを使ったプログラムの構成について解説します。第5部「ツールと開発技法」では、Maven、Javadoc、JUnit、IDE、バージョン管理、Gitについて解説します。第6部「Webアプリケーション開発」では、Spring Bootやデータベースを用いたWebアプリケーション開発について解説します。

    本書で、プロとして仕事ができるためのJavaの基礎をしっかりと習得していきましょう。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    きしだ なおき(キシダ ナオキ)
    九州芸術工科大学芸術工学部音響設計学科を満期退学後、フリーランスでの活動を経て、2015年からLINE Fukuoka株式会社勤務

    山本 裕介(ヤマモト ユウスケ)
    Twitter4J、BusinessCalendar4JなどのオープンソースJavaライブラリの開発者。2019年にJavaチャンピオンに任命されている。外資系のソフトウェアベンダの経験を経て、Twitterでは日本で1人目のエンジニア職に就く。現在はJetBrainsの総代理店である株式会社サムライズムの代表取締役社長

    杉山 貴章(スギヤマ タカアキ)
    有限会社オングスにて、Javaを中心としたソフトウェア開発や、プログラミング関連書籍の執筆、IT系の解説記事やニュース記事の執筆などを手がける。また、専門学校の講師としてプログラミングやソフトウェア開発の基礎などを教えている。著書・共著書多数
  • 著者について

    きしだ なおき (キシダ ナオキ)
    きしだなおき
    九州芸術工科大学 芸術工学部 音響設計学科を満期退学後、フリーランスでの活動を経て、2015 年から LINE Fukuoka株式会社勤務。著書に『創るJava[改訂第3版]』(マイナビ)、『みんなのJava OpenJDKから始まる大変革期! 』(共著、技術評論社)など。

    山本 裕介 (ヤマモト ユウスケ)
    山本 裕介
    Twitter4J、BusinessCalendar4JなどのオープンソースJavaライブラリの開発者。2019年にJavaチャンピオンに任命されている。BEA SystemsやFast Search & Transfer、Red Hatなど、外資系のソフトウェアベンダの経験を経て、Twitterでは日本で1人目のエンジニア職に就く。現在はJetBrainsの総代理店である株式会社サムライズムの代表取締役社長。

    杉山 貴章 (スギヤマ タカアキ)
    杉山 貴章
    有限会社オングスにて、Javaを中心としたソフトウェア開発や、プログラミング関連書籍の執筆、IT 系の解説記事やニュース記事の執筆などを手がける。また、専門学校の講師としてプログラミングやソフトウェア開発の基礎などを教えている。著書・共著書に、『Javaアルゴリズム+データ構造完全制覇』(共著、技術評論社)、『正規表現書き方ドリル』(技術評論社)など多数。

プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 の商品スペック

商品仕様
出版社名:技術評論社
著者名:きしだ なおき(著)/山本 裕介(著)/杉山 貴章(著)
発行年月日:2022/04/01
ISBN-10:4297126850
ISBN-13:9784297126858
判型:B5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:494ページ
縦:23cm
横:19cm
他の技術評論社の書籍を探す

    技術評論社 プロになるJava―仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!