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

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

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

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

Q&A

解決済

3回答

1653閲覧

Hello Worldをコンソール出力させる意味

ikeji

総合スコア6

Java

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

0グッド

3クリップ

投稿2021/05/12 10:49

編集2021/05/13 05:56

現在Javaを学習しています。
基本の質問になってしまいますが、コードを実行してコンソール出力させることの意味が理解できません。

Hello Worldやif文、while文など学んだ例文を**コンソールに出力できた→「だから何」**というような感覚です。
試しにHello Worldのコードをjarにエクスポートしてみましたが、ダブルクリックしても起動せず、ますます理解できません。

現在if文やwhile文などを学んでいることは、その後GUIアプリを作るための基本文法を学んでいるということなのでしょうか。
どうしても、動作するアプリを作れるイメージが湧きません。
このことがプログラミング学習を進めるうえで、大きな壁になっていると感じていますので、ぜひご回答いただけると幸いです。

追記

皆様多くのご回答ありがとうございます。
やはり基本としての意味合いが大きいのですね。
ただ、自分の頭の中でしっくり来ていないのが、HTML,CSSなどは学んだことがすぐ成果物として目に見え、学習を深めていくことで成果物をより豊かなものにできるとイメージできます。CUIプログラミングの場合その成果物がないというか。もちろんコンソール上で動作するという成果はあるのかもしれませんが…。ですので、ソフトウェアなどをコーディングできるようになるイメージがつきません。
基礎の部分、スポーツをやるための腕立てだと割り切って勉強するべきなのでしょうか。
言葉でうまく説明できていなくて申し訳ありません。

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

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

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

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

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

ikeji

2021/05/13 03:31 編集

追記 皆様多くのご回答ありがとうございます。 やはり基本としての意味合いが大きいのですね。 ただ、自分の頭の中でしっくり来ていないのが、HTML,CSSなどは学んだことがすぐ成果物として目に見え、学習を深めていくことで成果物をより豊かなものにできるとイメージできます。CUIプログラミングの場合その成果物がないというか。もちろんコンソール上で動作するという成果はあるのかもしれませんが…。ですので、ソフトウェアなどをコーディングできるようになるイメージがつきません。 基礎の部分、スポーツをやるための腕立てだと割り切って勉強するべきなのでしょうか。 言葉でうまく説明できていなくて申し訳ありません。
K_3578

2021/05/13 05:19

追記なら質問文編集してください。 それぞれの回答に言いたいことがあるならば各回答のコメント欄にコメントしてください。 こちらの追記修正依頼欄にコメントをぶら下げても通知は来ないので基本的に気付かないので。 (私はたまたま開いて気付きました。)
ikeji

2021/05/13 05:55

そうなのですね まだteratailを使い慣れてなくてわかりませんでした。 ご教授いただきありがとうございます。
K_3578

2021/05/13 06:34 編集

自分の回答追記しました。 参考になれば幸いです。
dodox86

2021/05/13 07:27

[2021/05/13 14:56]の質問文編集を読んで: > HTML,CSSなどは学んだことがすぐ成果物として目に見え、学習を深めていくことで成果物をより豊かなものにできるとイメージできます。 HTMLやCSSは(多少、人によって異論はあるかもしれませんが)プログラミングではないです。これらのみで動的に、自在に何か動かせますか。 反対に、それで満足されているのであれば質問者さんがやりたいことはプログラミング言語を用いたプログラミングではなく、どちらかと言うと画面などのデザインの部分なのではないですか。
ikeji

2021/05/13 08:50

なるほど プログラミングについて勘違いしていたかもしれません。 デザインと"中身の動作のプログラミング"を混同して考えてしまっていました。 もちろんGUIプログラミングがあるので、デザイン的なことをまったくやらないわけではないでしょうが、プログラミングのメインは、中身の動作を作ることにあるということですね。 例えば、「ボタンを押したらtrueと表示されるアプリを作りたい」として、プログラミングのメインは、ボタンを設置することよりも、ボタンを押したらtrueという文字列が表示される、という動作を作ることにあるということですね。
dodox86

2021/05/13 09:00

> GUIプログラミングがあるので、デザイン的なことをまったくやらないわけではないでしょうが、プログラミングのメインは、中身の動作を作ることにあるということですね。 その通りです。ですのでWEBサイトやゲーム等、内部の動きもさることながら、見た目も大事な製品の開発は、多くの場合プログラマーとデザイナーで分業になっています。
K_3578

2021/05/17 03:46 編集

(2021/05/17 12:17)時点で22時間前に 「まだ回答を求めています」とのことですが、どういった回答を求められているのでしょうか?
dodox86

2021/05/18 02:10

@質問者さん 既に複数の回答をいただいている中、いまだ腑に落ちないのであればその点をもう少し明確にしないと回答への追記、あるいは新たな回答は望めないと思います。
K_3578

2021/06/03 03:33 編集

結局質問放置するのか・・・。 追記 まだ回答を求めている、と言うことでは無かったのですか? 私の回答をBAに選んだ理由をお聞かせください。
guest

回答3

0

「最小構成でプログラムが動作することを確認する」という大事な意味があります。
最小構成でも動かなければロジック組み込んだコードは当然動きません。

この本質を理解しておくと、別の場面でも「まずは最小構成で確認する」「まずは固定データで確認する」という事前準備ができるようになるので、後戻りの少ない実装ができるようになります。

動作するアプリを作れるイメージが湧きません。

コードから考えるからです。
どんなアプリであっても要件定義があり、設計があります。
それをもとに作ります。
コードだけをいくら見たところでアプリにはなりません。

「どうやって作るか」ではなく「何を作るか」「なぜ作るか」に先に目が行くようになると分かることもあります。
ただ結局その言語の基本文法を理解してないと、「なんのためにこの機能をこの場面で使うのか」「この場面ではどの機能を組み合わせて使うのか」には繋がらないため、はじめに基本文法を機能別に最小構成で利用する形で学びます。

スポーツとかも同じですよ。
野球やバスケット、サッカー
どれもいきなりボールを投げたり蹴ったりません。
そのスポーツに必要な動作(フットワークとか?)、基礎体力作りからです。
ルールも勉強しなければなりませんね。

プログラムは結局書いたとおりにしか動かないので、
やりたいことだけ追い求めてもまともに動くものはできません。

ネットで探してきたコードをコピー・流用して組み込むことはありますが、
何をしているか何のために組まれたのか理解しないままコピペだけしてもそれは動くものになりません。
「なんだかわからないけど出来てる」は「出来てない」のと同じです。
それらを「理解して」「意図をきちんと持って」使うためにも基本文法は必須です。

作ったら終わりではなく、作って使って、改修、メンテナンスして
というのが半永久的に続くものですから。

投稿2021/05/12 11:26

m.ts10806

総合スコア80875

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

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

ikeji

2021/05/13 08:54

なるほど 部品でも動作する、だから全体のソフトが動作する、ということを理解することが大切なのですね。
m.ts10806

2021/05/13 09:00

はい。部品と部品の組み合わせです。家や車、プラモを組み立てるのも同じ。 いずれも完成予定図ありきです。
guest

0

ベストアンサー

基礎をやらずにどうやって応用をやるんです?
if、whileなんてのは基礎も基礎、開発やる上で知ってて当然の知識な訳です。
四則演算も知らない子供が中高生でやる数学やろうとしてるようなものですね。

何事もステップアップです。
仮にHello Worldをやらずにif文を書こうとするとしましょう。

60点以上なら「合格」と表示するプログラムを書こうとするとして、
頭の中なり、紙に書くなりして考え方は分かりました。

さぁプログラミングしよう、と思ったけど、Hello Worldをやっていないのでそもそも
Javaでどうやってプログラムを書けば良いのかがわかりません。

GUIアプリを作りたいという明確な目標を持つのは結構ですが、気持ちだけ先行しても
中身は伴いません。今はネットの海に大量の「動くコード」が転がってるのでコピペして軽く改変
すれば動くものはできるかもしれません。

ですがそれは、言わば家にリフォームを独自に施した上で**「この家は自分が建てた」**と言っているのと全く一緒です。

このような人は下手に動くものが出来てしまったせいで、
**「完全に理解した」**と思い込んでいる事が多いです。
使い始めてすぐの人が長年やっているベテランと同じ事が出来るなんて事もないですし、
仮にそれが開発の現場だったとしても同じレベルを求められる事はありません。

"何も知らない事"を知る事が脱初心者の第一歩です。

追記

オーケー、言いたいことは分かった。視覚的に何か起こってるわけじゃないから達成感がなくて
モチベーション上がらないって事なら、とりあえずある程度文法とかは
スポーツやる上での基礎トレーニングと一緒だから割り切ってしまってください。
集中してやればそんなに時間は掛かりません。

達成感を作りたいなら簡単なWebアプリケーションなんかを作ってみると視覚的に
制作物が出来るので達成感も生まれると思います。
よく練習として作られるのは掲示板とかなんで、サーブレット/JSPをやりましょう。

それまでの学習の復習にもなりますからね。
一個出来たら今度はそれに独自の機能を実装してみたり、

また別の制作物を作っていけば視覚的に達成感がなくてって事は無くなると思います。

投稿2021/05/13 01:19

編集2021/05/13 06:19
K_3578

総合スコア1282

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

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

m.ts10806

2021/05/13 01:31

私が言うのもなんですが、個人的な愚痴が露見してるような。。
K_3578

2021/05/13 01:41

>m.ts10806さん 勢いで書いてたので表現が悪いかもしれないですね・・・ちょっと手直しします。
m.ts10806

2021/05/13 02:01

最後の1行はあらゆるカテゴリに通用しますね。自分の現在地を正確に把握することは成長に繋がります。 「質問するときのヒント」にもありますね。「わかっていること、わからないことを明確に」
K_3578

2021/05/13 02:05

>m.ts10806さん 最近の人は分からない事、それを対面する人に聞くことを恥じるべき事、避けるべき事だと 思っているのかな・・・と思います。 その結果teratailなどに不安になって投稿するのかと。 無知なことは恥じるべき事ではないんですが、これも社会が変わったせいでしょうかね。
m.ts10806

2021/05/13 02:13

赤の他人のほうがほぼ確実に当たりが厳しい(事情知らないのが前提だから)とは思います。 それを即デメリットと捉えてしまうから伸びないのかなぁと。 指摘は本来クレームじゃなくアドバイスなのですけどね。
ikeji

2021/05/13 08:55

ご回答、追記等ありがとうございます。 ある程度スポーツの筋トレのように、割り切ってしまって、基礎体力がついてから実践に入るというイメージで良いのですね。
K_3578

2021/05/13 09:01

>質問者さん まぁプログラミングに限らずそうです。基礎が無い状態では何も出来ません。 HTML、CSSをやってて楽しいようならもしかするとバックエンド側よりフロントエンド側の方が質問者さん は向いているのかもしれませんね。 まだ学習したてで変更できるなら他言語も検討されても良いのではないでしょうか。
K_3578

2021/06/03 03:40

追記依頼で気付かなかったら困るのでこっちにも まだ回答を求めている、と言うことでは無かったのですか? 私の回答をBAに選んだ理由をお聞かせください。 指摘されたからBAに選んだ、と言うのであれば不要です。私はBA率とか一切気にしてないので。
guest

0

基本の質問になってしまいますが、コードを実行してコンソール出力させることの意味が理解できません。

英文のThis is a pen.に意味を問うようなものです。

現在if文やwhile文などを学んでいることは、その後GUIアプリを作るための基本文法を学んでいるということなのでしょうか。

そのとおりです。

投稿2021/05/12 10:50

maisumakun

総合スコア146018

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

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

maisumakun

2021/05/12 10:51

> その後GUIアプリを作るための基本文法を学んでいるということなのでしょうか。 Androidアプリを作るのでなければ、GUIアプリの作成にJavaという選択肢そのものが適切ではないかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問