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

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

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

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

Q&A

解決済

3回答

28467閲覧

java入門:「system.out.println()」は何を示しているのかわかっていません

makoto-n

総合スコア436

Java

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

1グッド

1クリップ

投稿2016/01/02 06:25

java

1println 2```が文字の出力(改行あり)というのはいいのですが、 3```java 4system.out. 5```が何を指示して、どのような動作を想定結果にしようとしているのかがわかっていません 6 7調べてみたところ、フィールドとかグローバル関数などがでてきました 8スコープのための記述でしょうか? 9 10 11```java 12system.out. 13```の記述の意味を教えてください
Suika01👍を押しています

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

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

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

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

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

guest

回答3

0

ベストアンサー

systemではなくて、Systemですね。先頭は大文字です。

...

コマンドラインプログラムでは、他の言語でもSTDIN,STDOUT,STDERRというのが出てきます。
それぞれ、標準入力、標準出力、標準エラー出力です。合わせて、標準ストリームと呼びます。

標準ストリーム - Wikipedia
https://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0

それぞれ、
System.inSTDIN
System.outSTDOUT
System.errSTDERRに対応しています。

...

実際にどのように宣言されているかは、下記リンク先のjava.lang.Systemクラスのソースコードを見てみてください。
nullになっているのは、クラス初期化時に初期化メソッド内で設定されるからです。

java.lang.System(.java) - GrepCode Class Source
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/java/lang/System.java#83

投稿2016/01/02 06:42

編集2016/01/02 06:44
argius

総合スコア9388

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

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

makoto-n

2016/01/02 08:37

標準ストリーム、詳細な説明ありがとうございます。
guest

0

Java API 仕様 http://docs.oracle.com/javase/jp/8/docs/api/
をみると、左側にすべてのクラスという欄があります。
そして、クラス名をクリックすると右欄にそのクラスのメソッドが表示されます。

java は、たくさんのクラスから構成されています。各クラスがいろいろなメソッドを持っています。
プログラムを書く場合は、これらのなかから適切なものを選んで利用をするのです。

System のクラスの説明を見るとフィールドの欄に PrintStream out という記載があります。
これは、System というクラスはメソッドだけでなく、 out というフィールドも持っていることが説明されているわけです。
そして その out は PrintStream というクラスのインスタンスであるということが説明されています。
さらにクラス PrintStrem の説明を見てみると、println というメソッドの説明がみつかります。

つまり

  • System.out は System というクラスの out というフィールドを指しているのです。
  • System.out.println(...) は、System.out が持っている println のメソッドを呼び出しているのです。

追記;
実は、System という書き方は 正確には java.lang.System を省略した記述です。
java には package という概念があり、クラスは、階層化されて管理されています。
(ファイルをフォルダの分けて管理するのと同じ様な考えです)
java.lang は java の階層中の lang の階層であることを示します。
java.lang の階層は特別に省略して書いてよいことになっているのです。

File クラスはよく利用するとおもいます。
これを使うプログラムでは、先頭部分で
import java.io.File;
と記載をします。
これを記載することで java.io.File を File と省略して記述できるようになります。
java のプログラムの先頭部に import 文がたくさん並んでいることが多いのはこの為なのです)

投稿2016/01/02 09:58

katoy

総合スコア22324

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

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

makoto-n

2016/01/02 12:04

ありがとうございます、、
退会済みユーザー

退会済みユーザー

2018/07/21 07:12 編集

PHP,Ruby,JSで開発してきましたが、Android Studioでアプリを作ることになって、Javaを勉強してます。ここまで簡潔に分かりやすくすごいと思います。勉強になりました。ありがとうございます。
guest

0

java.langパッケージに属しているSystemクラスに存在する、staticフィールドのPrintStreamオブジェクトです。
標準出力を表すオブジェクトで、このオブジェクトに対して、改行や文字列の出力を指示しています。
コマンドプロンプトで実行しているならコマンドプロンプトになりますし、eclipseで実行しているならコンソールになります。

投稿2016/01/02 06:29

swordone

総合スコア20649

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問