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

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

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

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Q&A

解決済

5回答

3038閲覧

JavaにはJavascriptのような関数はないのですか?

question_april

総合スコア90

Java

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

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

0グッド

0クリップ

投稿2015/09/25 20:23

こんにちは

二つ疑問があります。
今、Javaを勉強しているのですが、関数やメソッドの一覧を暗記したいと思い、検索してみても出てきません。一方でJavascriptの場合は関数・メソッドともに一覧表がすぐに見つかるのですが、Javaはありません。

①つめの疑問 「JavaにはJavascriptのように一つ一つの関数やメソッドというものがないのでしょうか?」

似たようなもので、http://docs.oracle.com/javase/jp/6/api/
というサイトを発見したのですが、↓↓↓

イメージ説明

一つ一つではなくてなにやらごちゃごちゃしています。
javaには一つ一つの関数やメソッドというものがないのでしょうか?

逆に、クラスの一覧表というものは検索すると出てくるのですが、ここで第二の疑問が生まれました。
②つめの疑問「クラスの一覧といってもしたいことは人それぞれバラバラなのだから、一覧表になんてできないはずではないの?」という疑問です。

大変長ったらしい質問になってしまいました。すみません

それでももし、宜しければ回答お願い致します

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

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

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

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

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

guest

回答5

0

・1つ目
貴方が見つけたページのリンク先にメソッドは記載されていますよ。
また、Javaの主体は関数やメソッドではありません。関数やメソッド、変数を持ったクラスが主体です。

・2つ目
基本的に用意されているのは「このクラスは◯◯したい時に使う」と言ったものです。
これらのクラスをいろいろな使い方をして「自分のやりたい事ができるクラス」を作る必要があります。

・Javaを覚える
どのような言語もそうですが全てを覚えるのは辞めた方がいいです。
「何ができるか」を理解し、「どのように実装するか」はその都度考えるべきだと思います。もちろん参考書の目次に載っているような簡単な実装内容はある程度覚え必要がありますが。

投稿2015/09/26 00:04

yona

総合スコア18155

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

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

question_april

2015/09/27 16:44

回答ありがとうございます まるまる一つのクラスがjavascriptでいうところの関数やメソッドという扱いなのですね! そして、 >>>・Javaを覚える どのような言語もそうですが全てを覚えるのは辞めた方がいいです。 「何ができるか」を理解し、「どのように実装するか」はその都度考えるべきだと思います。もちろん参考書の目次に載っているような簡単な実装内容はある程度覚え必要がありますが。 とのことですが、みなさん暗記したりしないのですね・・・!! 意外でした!そうだったのですか そのように効率よくやっているのですね! 私も常になにか辞書のようなものを持ち歩いてその都度できるように頑張ります 回答有難うございました!
guest

0

①について。

Javaのメソッドは、必ずクラスに所属していて、クラスは必ずパッケージに所属しています(デフォルトパッケージは例外)。

現在のJavaの現在の最新バージョンは8ですので、下記のページを見てみましょう。

Java Platform SE 8 API仕様

フレームが分かれていて、左上がパッケージ名一覧、左下がクラス一覧、右がパッケージと概要の一覧になっています。

Java実行環境(JRE)がインストールされていれば、これらのクラスをすべて使うことができます。

(参考までに、あまりにクラスが多いので、使うパッケージを限定する機能、compactプロファイルというものがあります。)

②について。

クラスだけで一覧にすると、クラスが多すぎてとても分かりにくいので、パッケージで分類しています。
パッケージの分類はJava独自のもので、ある程度、機能別に分別されています。

JavaScriptでも基本となるObjectStringというクラスはjava.langパッケージに属しています。java.langはJava言語の基本となるクラスを収めたパッケージです。
java.utilというパッケージも基本となるパッケージのひとつです。ただこのパッケージはコレクション、旧日付ユーティリティー、その他ユーティリティーなど雑多すぎるので分類といえるかどうかは怪しいです。
I/O関連は、java.ioパッケージにまとめられています。
ネットワーク関連は、java.netパッケージにまとめられています。

やりたいことが違っても基本パッケージのクラスのいくつかはほとんどの人が使うものです。

基本クラスとは別に、機能ごとに分けられたものもあります。
GUIを扱うjava.awtjavax.swingパッケージなどは、GUIを使わない人には不要です。
JDBC、DBとSQLを扱うjava.sqlパッケージは、DBを使わない人には不要です。

投稿2015/09/26 05:39

argius

総合スコア9388

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

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

question_april

2015/09/27 16:32

回答有難うございます 新しいバージョンが出ていたのですね・・・! そして、なにより私はパッケージという言葉すら初耳でしたので、それらの単語を理解することから始めます(汗;;) とても丁寧に書いてくださり有難うございました
guest

0

①つめの疑問 「JavaにはJavascriptのように一つ一つの関数やメソッドというものがないのでしょうか?」

Javaではあらゆるメソッドが何かしらのクラス(またはインタフェース)に属しています.クラス,またはクラスから生成したインスタンスを通じてメソッドを起動して処理や操作を行い,返り値を得たりします.
試しに一つ,文字列を表すStringクラスを見てみましょう.質問の画像の中にある"java.lang"というリンクから飛び,その中に"String"という物があるのでそこから行くことができます.ここにStringクラスでできることが並んでいます.
ある文字列のn文字目を返したり,文字列の長さを取得したりなどと言った操作が,Stringオブジェクトに対するこれらのメソッドでできることを表しています.

②つめの疑問「クラスの一覧といってもしたいことは人それぞれバラバラなのだから、一覧表になんてできないはずではないの?」

ここで表示されているのはJavaが標準で提供しているAPIで,いわばツールボックスです.
ユーザーはこれらの「道具」を使って好きなように自作のクラスを作成することができるのです.

投稿2015/09/26 04:24

swordone

総合スコア20651

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

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

question_april

2015/09/27 16:35

javaではクラスというひとまとまりの大きな単位でjavascriptの関数のような役割を担っているということでしょうか・・・? 類似点を探すよりも、そういうものだと思って考えたほうが良さそうですね(それができないのですが・・・);;; クラス単位で覚える必要がありそうですね! 新しい発見を有難うございました!
guest

0

既に TetsujiMiwaさんや yonaさんがご回答されているように「クラス」というものについての理解を深めることが疑問解決の近道です。

というのは、JavaScriptJava も、共にオブジェクト指向言語に分類される(名前も似ているので誤解に拍車を掛けている?)のですが、プロトタイプベース および クラスベース といって、オブジェクトに対する考え方もプログラムの実装方法も全く異なります。

その辺が分かってくると、Javadocクラスの仕様 を記述し 共有する仕組み が非常に合理的であることに納得されると思います。

ですので、たとえば下記のような説明をよく読み、まずは JavaScript と Java は 「全く別の言語である」 という前提に立ってから、Javaの学習を進められてはいかがでしょうか?

投稿2015/09/26 00:46

pi-chan

総合スコア5936

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

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

question_april

2015/09/27 16:39

回答有難うございます! クラスという単語があまりわかっていないのだなと実感しました。 わかった気でなんとなく流していましたがここに落とし穴があったのですね そして、javaとjavascriptを比較したURLがとても役立ちました! また、私が知らないことを察してか、オブジェクト指向言語とプロトタイプベースのURLまで貼ってくださって・・・! 有難うございます!
guest

0

ベストアンサー

「オブジェクト指向」という物の理解が必要かと思います。

「Javaは、あるクラスのmainメソッドからスタートし、
実装したクラスをインスタンス生成してオブジェクト化しながら
処理を進めていきます。」

あるクラスのmainメソッドからスタート
これは、コマンドラインで「C:\hoge>java App」とした場合、
App.javaで実装した、mainメソッドが処理開始となるということです。

実装したクラス
これは、後述します。

インスタンス生成してオブジェクト化
これは、例えばmainメソッドで「Huga huga = new Huga();」とすることで、
Hugaクラスの実体(クローンみたいなもの)をメモリに配備します。

Huga hugaA = new Huga(); Huga hugaB = new Huga();

とやれば、Hugaという1つのクラスから、
hugaA、hugaB2つのオブジェクトが作られることになります。

処理を進めていきます
huga変数またはhugaA、hugaBでメソッド操作していく形になります。

さて、ここからオブジェクト指向の説明になります。

オブジェクト指向とは、プログラム設計の仕方を、
ある一塊の処理する物(オブジェクト)に分解して定義(=クラス)しよう
という指向になります。

ここから質問①の回答:
こうする事により、どこかの誰かが作ったクラスを使用する際、
内部処理がどうなっているか気にすることなく、公開(=public)された
メソッドやフィールドの挙動を把握するだけで使用する事が可能になります。
それがJavadocといって、あなたが探し当てたサイトのような形式になります。

質問②の回答:
コーディングする際に、コメントなどjavadocの仕様に即して対応してあれば、
c:\hoge>javadoc -d dest *.java
(拡張子javaのファイルに定義されたクラス全部をdestフォルダにjavadoc出力)
で生成可能です。
Eclipseでもっと簡単に出力するやり方もあります。

投稿2015/09/25 23:29

TetsujiMiwa

総合スコア1124

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

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

question_april

2015/09/27 16:47

回答有難うございます! 人が作ったクラス(部品)をとってつけて動かすことができるのですね!! すごいですね そしてそれが私が見ていたサイトということだったとは・・・!サイトの謎が解けました そしてそれがJavadocというものなのですか。初めて知りました また、javadocについてのURLも貼ってくださり有難うございます! 調べてみます! 回答有難うございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問