質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

7回答

2519閲覧

Javaの勉強について

退会済みユーザー

退会済みユーザー

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

4クリップ

投稿2016/07/30 02:04

未経験の中途採用として、IT企業に入社する予定です。
(おそらくwebアプリケーション開発にかかわると思います)
最初の3か月間はJavaの研修をするのですが、研修する前に自分で勉強したいと思ってます。
Javaの基本的な構文は分かっているので、次に何を学べばいいのか教えていただきたいです(フレームワークやデザイン回り、単体テストなど・・・)。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

jdk8 api
いろんなパッケージがあるので、いくらでも勉強できますよ。

よく使うパッケージ

  • システム関係(標準でimportされる)

java.lang

  • 高度な計算ほか便利機能

java.util

  • 入出力(コンソール、ファイル、ネットワークなど)

java.io

  • GUI

java.awt(古い)
javax.swing(比較的新しい)
java.applet(HTMLと連携したりする)

  • ネットワーク通信

java.net

これくらいは知っておくべき、というクラス(個人的な感想)
java.lang.Object すべてのクラスのスーパークラス
java.lang.System 標準入出力などプログラムの基幹部分
java.lang.Class オブジェクトからクラス名を取り出したり、その他いろいろできる
java.lang.String String型変数を扱う
java.lang.Integer等 ほかにもDoubleなどあり、プリミティブ型をラップする
java.lang.Exception 例外処理関係を扱うすべてのクラスのスーパークラス

java.util.Math べき乗、平方根、乱数などの計算
java.util.Random 便利な乱数
java.util.Scanner 便利なデータの読み取り
java.util.ArrayList<E> 可変長配列/リスト型を扱う
java.util.HashMap<K,V> マップ型を扱う

java.io.BufferedReader 文字コードなどもうまいこと変換してくれるから便利

java.net.Socket 基本的なソケット通信(クライアント側)
java.net.ServerSocket 基本的なソケット通信(サーバ側)

もちろんこれらはごく一部なので、もっと便利なクラスがいっぱいあります。
上記のものは知らなかったらまずいレベルだと思うので、知らないものがあればぜひ積極的に使ってほしいです。

投稿2016/07/30 02:48

intelf___

総合スコア868

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

intelf___

2016/07/30 02:55

なんとなく数えてみましたが、クラス&抽象クラス&インターフェースだけで4240個ありました 人気・重要なものがわかりにくいのでこのサイト内で閲覧数ランキングでも作ってほしいレベルですね...
退会済みユーザー

退会済みユーザー

2016/07/30 04:00

ありがとうございます!
guest

0

毎年春には、Javaの新入社員・未経験者向け講習の講師をやっています。
研修する前の自分の勉強というよりも、最初にJavaを勉強する時のポイントです。

■ 最初にメモリ上のロジックをきちんとかけること
・StringやList,Map,SetをAPIを見ないで即座に使えるようになること
・メモリ上のデータ構造をList,Map,Setで組み立てることがパッと分かるようになること
・しかし難しいデータ構造は慣れた者でもすぐにはできません
■ データベース関連
・JDBCをきちんと憶えること
・これはさほど難しくはない
・SQLを覚えること
・Javaではないが、事務処理では必須
■ フレームワーク
・Struts時代が終わってどうなるか不明
・でもまだStrutsでやっているところが多い
・しかし入社前の勉強としては無視、入社してからなんとかやる
■ スレッドや通信など
・とりあえず無視

以上です。頑張ってください。成功を期待します。

投稿2016/07/30 03:06

artery

総合スコア43

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/30 03:59

ありがとうございます!
guest

0

こんにちは。
就職のほどおめでとうございます。

###Javaの学習について
これからITで働いていく上で勉強ということですが、
研修が3ヶ月あるということなので、
Javaについては根をつめなくて良いのかなとは個人的に思ってます。

intelfikeさんのおっしゃる通り、
基本ライブラリについては、
どのパッケージがどういうことをしたいときに必要になるかレベルまでは事前予習すると印象は良いかもしれませんが、この辺は習うより慣れろという世界なので、やってれば体に染みついてくるものです。

フレームワークについても、
今ある有名どころ全部とかではなく、
今あるものどれか1つ(Struts、Springなど)をさっとを通して何となく理解できるレベルまで予習しておいたら十分に思えます。

###Web関連技術について
Webアプリケーションの開発に携わるかもということなので。

WebアプリケーションではJava、C#、PHPなどの言語を問わず必要とされる知識が多分にあります。

  1. 画面レイアウトの基本構造を定義するHTML
  2. Webブラウザ(IEなど)側で細やかな制御に主に利用されるJavaScript
  3. 画面レイアウト(カラーや幅など)関連を定義するCSS(スタイルシート)

上記は必ずと言っていい程Web開発に付きまとうので事前に予備知識をつけると良いかもしれません。

後、こちらはWebアプリだけではないですが、
データベースやSQLも今時のシステムなら必ず登場するでしょう。

これら全てを最初からマスターするなどできません(当方もまだまだ知識不足です)が事前にこれらの仕組みがどのように関連しあってるのかを知っておくことに損はありません。

後、新人さんがWebアプリの開発でちょくちょくはまるところですが、
Javaなどのサーバサイド開発とJavaScriptなどのクライアントサイドの開発ではデバッグ方法が異なります

Javaは**IDE(Eclipseなど)を用いてのデバッグ、
JavaScriptは
Webブラウザの開発ツール(IEとかChromeでF12キーを押すと出てくるやつ)**を用いてのデバッグが王道かと思います(別方法もあるかも)。
デバッグ方法をいち早く体得することができるか否かが開発効率の向上の鍵でしょう。

###最後に
ITは覚えることが多くて大変かと思いますが、
分からない点などは調べたり、
調べて解決しないことは先輩などに聞いて一つ一つ確実に吸収していくことが成長の近道です。
ローマは一日にして成らずです、頑張って下さいね。

投稿2016/07/30 04:18

編集2016/07/30 04:23
Panzer_vor

総合スコア1636

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/30 04:20

本当にご丁寧なご回答、ありがとうございます!
guest

0

勉強のために勉強をしても続かないので、何かひとつ作ってみましょう。
多分Webだと思うので、サーブレットを使って掲示板を作るのがおすすめです。

データベースに保存するようにして、登録、更新、削除、一覧表示、詳細表示くらいまでかな。
自分で環境作ってできるようになるだけでも随分と違うと思います。
必然的にSQLの勉強も少し必要になります。

たくさんの知識も必要ですが、やりたいと思ったことの実現方法の調べ方、
エラーが出た時の解決の仕方、デバッグの方法等がとても重要になります。

次に考え方や仕組みを大まかに知ることをやるといいと思いますよ。
オブジェクト指向、インターフェース、ガベージコレクション、スレッド、デザインパターン、
インスタンスメンバーとクラスメンバーの違い、、、、書ききれないほどたくさんあります。

これらがまだレベルが高いということであれば、オンライン学習サイトがたくさんあるので、
それらのビデオや課題を順番にやるのもいいかも知れません。

あとは、暇さえあれば、APIドキュメントを読むようにしましょう。

投稿2016/07/30 04:32

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/30 04:33

ありがとうございます!
guest

0

お勤めになるIT企業の業種にもよりますが、自分(一応IT企業)でもあったら良いと思われるのが、ネットワークの関連知識です。ネットワークも広いですからクラウドコンピューティングを絡めた辺りが薦でしょうか。

投稿2016/07/30 02:37

A.Ichi

総合スコア4070

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

A.Ichi

2016/07/30 02:38

ご就職おめでとうございます。頑張ってください。
退会済みユーザー

退会済みユーザー

2016/07/30 04:00

ありがとうございます!
guest

0

皆さんのおっしゃっていることにあえて付け加えるとしたら、

アルゴリズムをしっかり学ばれると良いかと。

この世界「すぐに役に立つものは、すぐに役に立たなくなる」という格言もありますので。

入社後に教えてもらえそうなことはあえて学ばず、

教えてもらえないところを学ぶべきかと思います。

投稿2017/02/20 07:31

say_you2001

総合スコア40

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

中途採用なら新卒とは違い社内で使っているフレームワークや業務内容は教えてもらえると思いますよ。

投稿2016/07/30 03:29

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/30 04:00

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問