Java初心者のためのスレッドです。
※前スレ
Java入門・初心者質問スレ Part.2
http://echo.2ch.net/test/read.cgi/tech/1478863511/
Java入門・初心者質問スレ Part.3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/04/04(火) 20:41:11.59ID:y0EcmGB0
175デフォルトの名無しさん
2017/05/04(木) 15:58:11.88ID:hrGLq/bC あれ?Java8からじゃなかったっけ?
176デフォルトの名無しさん
2017/05/04(木) 16:07:35.97ID:5jh0epYp streamなんてSQLとか扱える思考回路があれば使えるぞ
177デフォルトの名無しさん
2017/05/04(木) 19:19:52.86ID:YNozeJnq 皆最初どうやってjavaを勉強したの?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?
自分今基本情報処理試験をあとはプログラミングのところだけっていうところまでやったのだけど、カプセル化とかモジュール分けとかオブジェクト指向とかそういう考え方があるんだってういのはわかったんだけど
いざ自分でnetbeansのjavaファイルで書こうとしたらまずはoutprintしてみようと思ったら早速エラーが出てエラー原因が何だか全く分からない
英語の基本文法みたいにそういうの知らないと厳しい気がするのだが
皆の初学の経験を教えてほしい、できれば独学でやった人から聞きたい
あと、何か作ろうって思ったときはフローチャート作った方がいい?
178デフォルトの名無しさん
2017/05/04(木) 19:43:35.61ID:mK1iuMfc >>177
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない
俺は全て独学だがまずはC言語、C++、C#の順に勉強する
するとJavaを半日程度で理解できる下地が出来上がる
何事も基本が大事だ
基本ができてればJavaなどたやすく扱えるし基本ができてなければどんな勉強をしても身につかない
物事には順番がありそれはお手軽に身につくものではない
179デフォルトの名無しさん
2017/05/04(木) 20:04:55.79ID:u6JIByox >>177
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む
それだけ
ひたすらエラーメッセージを読む
エラーメッセージをググる
「java ○○」でググる
「java ○○とは」でググる
「java ○○ できない」でググる
「java ○○ するには」でググる
エラーメッセージで知らない英単語があれば意味をググってからもう一度読む
答えが書いてあるっぽい掲示板が英語で書かれてても臆せず読む
それだけ
180デフォルトの名無しさん
2017/05/04(木) 20:07:29.10ID:mK1iuMfc181デフォルトの名無しさん
2017/05/04(木) 20:11:19.54ID:TB6ujr0/ >>177
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか
まずは入門書1冊買ってきてそれに合わせて勉強するしかない
エラーの原因とかも正しい書き方自体がまだ分かって無い状態だし
後はエラーが出たらググるか
ソースコードどっかに置くかかここに書いて聞くか
182デフォルトの名無しさん
2017/05/04(木) 20:30:41.25ID:rPmF/fmP >>180
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき
体系的な知識を身につけるのは大前提として、エラー対処の知識が要らないわけないでしょう
少なくともJavaを勉強するために先にC#を学ぶなんてトンチンカンなことしてる暇があったらその時間でJavaの
知識を仕入れるべき
183デフォルトの名無しさん
2017/05/04(木) 20:49:08.82ID:Z6thB1wv スッキリわかるJava(という書籍)では、コンストラクタやインスタンスメソッドに
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?
publicが付いてないのですが、基本的に付けない方針で問題無いでしょうか?
184デフォルトの名無しさん
2017/05/04(木) 20:59:23.90ID:0H6f0r38 >>183
ここに詳しく書いてある
http://msugai.fc2web.com/java/permitmod.html
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)
ここに詳しく書いてある
http://msugai.fc2web.com/java/permitmod.html
まともにコード書きたいならパッケージの外から呼び出せるかとか一々考えながら書くといいかな(おすすめしないが実を言うとリフレクションで呼び出せちゃうけど)
185デフォルトの名無しさん
2017/05/04(木) 21:14:39.50ID:mK1iuMfc >>182
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い
トンチンカンだとおもっているならその程度だよ君は
C、C++を知らないプログラマなど潜りの素人だし
優れた言語設計のC#をJavaより先に学ぶメリットは大きい
そしてこれらをこなせばJavaも自然とできるようになっている
したがってJavaなんぞは後回しで良い
186デフォルトの名無しさん
2017/05/04(木) 21:23:59.84ID:qYtoqfij187デフォルトの名無しさん
2017/05/04(木) 21:32:52.04ID:mK1iuMfc >>186
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ
Javaだけやって同じレベルになるより遥かに早いよ
初心者から初めて金を貰っても許されるレベルになるまで1年といったところだな
Javaだけだと10年経ってもその領域に届かないクズが少なくないということはこの業界の先人たちが証明している
急がば回れというやつだ
188デフォルトの名無しさん
2017/05/04(木) 21:35:23.59ID:rPmF/fmP スッキリ君といいちょいちょい変なのが沸くスレだな
189デフォルトの名無しさん
2017/05/04(木) 21:37:31.74ID:g1QlM0ze C#を覚えるとデリゲートくれLINQくれプロパティくれ〜ってなるのでよくない
190デフォルトの名無しさん
2017/05/04(木) 21:40:59.09ID:qYtoqfij >>187
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな
C、C++、C#を勉強してJavaを勉強して到達するレベルを
基準にしたらそれはそうなると思うんだよ
Javaを勉強したいというときに
Javaだけを勉強するのとどちらが効率いいですか?ってことなので
Javaだけを基準にした場合、到達速度っていうのは変わってくるんじゃない?
いろんな言語を1年で齧って回るよりはJavaを勉強したがいんじゃないかな
191デフォルトの名無しさん
2017/05/04(木) 21:47:21.88ID:qYtoqfij >>177
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
https://www.amazon.co.jp/dp/4798120197/
新・明解Java入門 (明解シリーズ)
https://www.amazon.co.jp/dp/4797387602/
10日でおぼえる〜は1日目はこれみたいに区切りがいいので
やりやすいかと
慣れることが大事なのでサンプルコードを書きまくるのがいいと思う
おすすめは↓の2冊
10日でおぼえるJava入門教室
https://www.amazon.co.jp/dp/4798120197/
新・明解Java入門 (明解シリーズ)
https://www.amazon.co.jp/dp/4797387602/
10日でおぼえる〜は1日目はこれみたいに区切りがいいので
やりやすいかと
192デフォルトの名無しさん
2017/05/04(木) 21:47:36.98ID:GHkN69u9 >>177
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。
元々C言語は知っていて仕事でもずっと使ってた。で、C++が流行り出したので少しは学習したが仕事で本格的に使うまでには至らなかった。
その後かなり時間が経ってからJavaが流行り出して、そこで入門書読んでだいたいわかった感じ。これが20年ぐらい前の話だ。
しかし今まで仕事はずっとC言語ばかりでJavaを仕事で使うことはなかった。Linuxのサーバ側のCで作られたプログラムにずっと関わってたからだ。
193デフォルトの名無しさん
2017/05/04(木) 21:51:14.78ID:4KUdSbXO >>173
流れを感じるのじゃ
流れを感じるのじゃ
194デフォルトの名無しさん
2017/05/04(木) 22:01:25.36ID:mK1iuMfc >>190
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる
Javaにはろくな参考書がないからね
良書の揃ってるCファミリとC#の方が早く深く学べる
そうして土台が出来上がればじゃあJavaの場合はどうなのという事を覚えるのは実に容易い
結果的にJavaだけを学ぶ場合よりも早く深くJavaを知ることができる
195デフォルトの名無しさん
2017/05/04(木) 22:06:59.52ID:qYtoqfij >>194
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?
JavaとC#は似てるから
JavaがわかるようになればC#もわかるかと
深くJavaを知るっていうのはつまりC、C++、C#を勉強して到達するレベルの話だよね
そうでなくてJavaを勉強して到達するレベルを基準にした場合
Javaを勉強するのが近道だと思わない?
196デフォルトの名無しさん
2017/05/04(木) 22:13:01.02ID:qYtoqfij Javaがわかるようになればプログラムの考え方も身についてるから
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う
CやC#もすっと入ってくるんじゃないかな
C++は人類にはまだ早いと思う
197デフォルトの名無しさん
2017/05/04(木) 22:26:18.44ID:hGwzsYkf むしろJava分かったから、C/C++のスタック/ヒープの意味(newするクラスとしないクラスの違い)や、C++特有のフレンドクラスが分かった。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。
順番はどうでも良いけど、Javaとは別にCは学んでおいた方がいい。
198デフォルトの名無しさん
2017/05/04(木) 22:30:38.02ID:4KUdSbXO プログラマーたるもの手続き型、オブジェクト指向型、関数型に属する言語を最低でも一つずつは習得しておかんとね
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ
そして関数型に惚れ込んでJavaでもラムダ計算やカリー化をバシバシ使い周りに疎まれる存在となるのだ
199デフォルトの名無しさん
2017/05/04(木) 22:38:29.99ID:TB6ujr0/ ruby→javaの順だけど
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい
オブジェクト指向の理解はし易くなった感
javaだと思いっきりソースコード変わるから実感じやすい
200デフォルトの名無しさん
2017/05/04(木) 22:41:33.02ID:g1QlM0ze Javaでラムダ計算はつらいとか考えてたら気がついたらマシンにClojureが導入されてる
201デフォルトの名無しさん
2017/05/04(木) 23:25:17.13ID:6JYEyXx+ int型配列の最頻値を求めるメソッドは用意されてないのでしょうか?
202デフォルトの名無しさん
2017/05/04(木) 23:38:27.31ID:qYtoqfij >>201
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ
標準ライブラリにはないけれども、大丈夫っしょ、余裕っしょ、できるっしょ
204デフォルトの名無しさん
2017/05/05(金) 00:12:55.97ID:YKLEnk0e >>90
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい
ここに書いてある
スッキリわかる Java入門 第2版、2014
まずこの本を3回読んで、オブジェクト指向をみっちりと学ぶ
この本が、すべての言語の基本。
その後、好きな言語を勉強すればいい
205183
2017/05/05(金) 01:17:39.61ID:GcsXwLgt >>204
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。
その本悪くないと思うし、あんまりケチつけたくないけど、
Scannerクラスの使い方が詳しく載ってなかった。
(インスタンス化についての記述が無い)
Randomクラスも同様。
過信は禁物か。
206デフォルトの名無しさん
2017/05/05(金) 01:23:45.78ID:ecYRcjUo207デフォルトの名無しさん
2017/05/05(金) 01:24:59.61ID:jRdxjTk1 ここからJavaのほとんどを学んだ
http://www.ne.jp/asahi/hishidama/home/tech/java/index.html
http://www.ne.jp/asahi/hishidama/home/tech/java/index.html
208デフォルトの名無しさん
2017/05/05(金) 01:30:04.44ID:yjG7qa8A209デフォルトの名無しさん
2017/05/05(金) 02:03:32.40ID:Pxg1OvaW >>207
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが
こういうサイトがある時何から学べばいいの?
俺みたいなちんぷんかんぷんだと上から全て順に読んで、わからない言葉があると調べて、それでも概念的なものがよくわからなくてとりあえずわかったふりしたまま先に進んで結果あまり頭に入ってなかったっていうのがよくある失敗パターンなのだが
210スッキリ厨
2017/05/05(金) 02:04:46.46ID:YKLEnk0e 「たのしいRuby」など普通の本では、オブジェクト指向の説明は、数十ページ
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している
でも「スッキリわかる Java入門」では、250ページもある。
つまり、Javaの本と言うよりも、オブジェクト指向の本なんだよ。
そして、すべての言語の基礎になる
だから、この本は、歴史的な本と言われるわけ。
これ以前には、オブジェクト指向を勉強する、簡単な本は無かった
未だに外国では、この本が無いから、
オブジェクト指向を勉強するのに、四苦八苦している
211デフォルトの名無しさん
2017/05/05(金) 02:06:41.17ID:Pxg1OvaW あと、javaを実行する時とJSPを実行する時、それぞれpublic class{とか<%とか必要だと思うんだけどこれがないとコンピュータが処理であると認識しないっていうこと?
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや
それとprivate class とpublic class の違いもイマイチわからぬ
Privateはそのクラス内でしか呼び出せないっていうけど、そもそも呼び出すってなんぞや
212デフォルトの名無しさん
2017/05/05(金) 02:21:57.70ID:Pxg1OvaW >>207
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?
もう一個質問お願いします
extends 抽象クラス
その後に具体的な処理を書くって書いてあるけど抽象クラスを定義する意味ってあるの?
具体的な内容を記述するならそもそも抽象クラスを定義する必要あるのかなって
抽象クラスとかは使い方もわからないしそもそもなんでそういう考え方をするのかも理解ができない
何が言いたいかというと例えば車っていう抽象クラスがあったとしてそれは排気量を記述しなければいけない、メソッドとして走る機能を持つって事として
後で具象化クラスでextends車で抽象クラスを呼び出した時に結局排気量=なんたら、とかを記述しないといけないじゃない
だから、そういう制約的な意味しかないんじゃないかなと
プログラミングにおいて便利にするためにそういう事をしてるはずなのに、その利便性がイマイチ掴めないのだ
今は繰り返し処理とかつかって素数を求めるプログラムを作るっていう事を書いてるレベルだから、もっとゲーム的な方に行くとその意味がはっきりするのかね?
213デフォルトの名無しさん
2017/05/05(金) 02:36:54.89ID:Y8XbhYBn もうはっきり言ってしまうとプログラミング初心者がオブジェクト指向型言語なんてものから始めるべきじゃないんですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ
たかだかHelloWorldやFizzBuzzするためになんでクラスやアクセス修飾子を気にせねばならんのだと
それでもどうしてもJavaから覚えたいなら身の丈に合わない疑問は飲み込んでひたすら前に進むしかないのですよ
214デフォルトの名無しさん
2017/05/05(金) 02:40:44.53ID:iQB12R96 つっても、もう世に出てる言語の殆どはLL含めオブジェクト指向言語だろ。
。。。関数型言語の世界へようこそ?
。。。関数型言語の世界へようこそ?
215デフォルトの名無しさん
2017/05/05(金) 02:44:11.57ID:jRdxjTk1 >>212
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ
例えばその走るって動作には、燃料と空気を供給してエンジンを作動させて動力を生み出すという過程があって、これは二輪でも四輪でも共通である(現実にはエンジンごとに違うがここでは無視)
二輪と四輪のクラスを作るとしてそのベースになる車というインターフェースを定義するとして、両方に同じことを書くことになって、それは無駄だからその部分を抽象クラスとしてまとめてしまおうという考え
間違ってたらスマソ
216デフォルトの名無しさん
2017/05/05(金) 02:50:09.25ID:TDjvniVu217デフォルトの名無しさん
2017/05/05(金) 02:54:03.98ID:Pxg1OvaW >>212
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい
そういう前提があるっていう事でしょ?でも実際処理で車のエンジンの仕組みは重要じゃなくてどのようにそれらの車が動くかが重要になるのじゃない?
マニュアル車ならクラッチ操作、オートマならレンジチェンジ(でいいんだっけ)などの具体的な操作を個々に記述して行くと思うんだけど共通の仕組みそのものを定義する事は便利さには繋がっていないんじゃないかなって
確かに車はエンジンがないと動かないけど、プログラム上では(ってかユーザーにとっては)エンジンがあるかないかなんて関係が無いんじゃないの?
定義しないといけないっていう具体的な例があったら教えて欲しい
218デフォルトの名無しさん
2017/05/05(金) 02:59:46.55ID:Pxg1OvaW 窓はガラスでできている。そのガラスを使って窓を開け作った上でこっちに押したら閉まる、こっちに押したら開くなどのことが出来るようになる
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん
例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので
だからまずはガラスでできているという共通前提定義が必要となる。それはわかる
でも実際プログラム上でそれがどう有効なのかがわからない
人間クラスに名前はまず名前、年齢が必要、その上で個々の動作をして行くわけだけど定義してそのクラスを呼び出しても結局年齢とかは手書きで書いて行くわけじゃん
例えばどういう時にオブジェクト指向を使ってるのかとかあったら教えて欲しい、ゲームとかでもいいので
219デフォルトの名無しさん
2017/05/05(金) 03:13:17.49ID:jRdxjTk1 確かに個々の動作を書くのには抽象クラスは全く役に立たないよ、ただプログラムを動かすにはその外から見て重要ではない部分が必要なわけで、その部分が共通だとコピペするのは簡単だが後々の修正が大変、だからまとめておくと
220デフォルトの名無しさん
2017/05/05(金) 03:20:10.72ID:Pxg1OvaW >>219
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが
具体的にプログラムの世界だと何をまとめるの?実行するための記述以外にプログラムそのものを動かすために必要なものの具体例がわからないのだが
221デフォルトの名無しさん
2017/05/05(金) 03:37:46.29ID:jRdxjTk1 JavaにはListって可変長の配列を作るためのインターフェースがあるけど
http://docs.oracle.com/javase/jp/7/api/java/util/List.html
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ
http://docs.oracle.com/javase/jp/7/api/java/util/List.html
これだけのメソッドを実装しろと要求してくる
そしてこれを使って中身の違う実装を作るときに全部を何度も実装するのは骨が折れる作業だよね
そこでAll系のメソッド等他のメソッド呼び出しで書けるものを抽象クラスに書いておけば実際に実装するときに書かなくてよくなる(効率化したいとかだと書いてもよい)
折角クラスライブラリのソースあるんだしAbstractList辺りのソース見てみるといいよ
222デフォルトの名無しさん
2017/05/05(金) 03:43:35.59ID:jRdxjTk1 分かりにくい説明しかできなくてすまんの、多分現実の物体で考えずにプログラムとして直接考えるのが一番の近道じゃないかな
223デフォルトの名無しさん
2017/05/05(金) 03:50:24.78ID:TDjvniVu >>220
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
http://i.imgur.com/4m0ZWv7.png
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要
たとえば共通の手順とか
テンプレートメソッドと呼ばれるパターンの例(HeadFirstデザインパターンより)
http://i.imgur.com/4m0ZWv7.png
コーヒーでも紅茶でも抽象化した手順は同じたし
お湯沸かしたりカップに注ぐ部分は全く同じ
今はJavaでも抽象クラスとは違う方法でも実装できるけど
こういう基礎の理解は必要
224デフォルトの名無しさん
2017/05/05(金) 04:16:15.80ID:JPrvtXpw ゲームのマップを作ろうと考えています。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。
マップ画像を表示させ、マップ上の任意の部屋をクリックすると、その場所の名前(ロビー、キッチン、ベッドルーム、など)を表示するようにしたいです。
この処理を実装するには、どのような方法がスマートでしょうか?
各部屋の形は四角形ではなく、円や三角形など複雑な形をしているので、単純に四隅の座標を部屋名とともに配列に格納しておき、クリックした座標を内部に含むものをfor文で回して探索する・・・という方法は難しいです。
どうかお力添えください。
225スッキリ厨
2017/05/05(金) 05:14:23.88ID:YKLEnk0e ゲームは、オブジェクト指向の最高峰
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした
キャラクタークラスから、勇者・魔法使いなどを、
モンスタークラスから、スライム・ゾンビなどを派生させる
is-a, has-a とか勉強すれば?
消防車は車の一種。is-a。継承
車はハンドルを持っている。has-a。部品
「スッキリわかる Java入門」では、オブジェクト指向の説明が、250ページもある。
ここ20年間、世界中の中年のCプログラマーが、皆、C++へ移行できずに撃沈している
オブジェクト指向がどれぐらい難しいか、分かるでしょ?
だから、スッキリが日本中に、革命を起こした
226デフォルトの名無しさん
2017/05/05(金) 05:22:28.10ID:YKLEnk0e227デフォルトの名無しさん
2017/05/05(金) 12:17:52.64ID:Oxs8iPV6 超単純にやるなら
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ
・種別(矩形、三角形、円)
・パラメータ(最大4つ)
頂点の絶対座標もしくは円の中心座標&半径
とやって判定時などに種別に応じて処理を分ける
それと一つの部屋?を分割して単純な図形の組み合わせにする
回転が必要なら矩形を2つの三角形に変える
スクロールとか必要ならもっと面倒だけど
プロパティかパラメータを増やせばなんとかなるべ
228デフォルトの名無しさん
2017/05/05(金) 12:24:15.13ID:jsHCnOkz Javaプログラマはオブジェクト指向をよくわかってない人が多い
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ
C#プログラマはみんなよくわかってる
C#マイクロソフト公式の参考書など良書が揃っているからね
Javaはろくな本がない
初心者をごまかしてわかった気にさせるような本ばかりだ
229デフォルトの名無しさん
2017/05/05(金) 12:42:33.54ID:8b9qfJY2 それってあなたの感想ですよね?
なんかそういうデータあるんですか?
なんかそういうデータあるんですか?
230デフォルトの名無しさん
2017/05/05(金) 12:50:52.07ID:XP+Q0OKG >>229
会社にあります
会社にあります
231デフォルトの名無しさん
2017/05/05(金) 12:55:46.33ID:Dvx8ftQc いちいち部屋分割して図形の頂点座標測ったりとか種別とかやってられないでしょ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ
元のマップとは別に、それぞれ部屋ごとに色で塗りつぶしたマップを用意して裏で読み込ませといて、クリックした地点のカラーコード読んで色に対応した部屋名を取り出す
ってのを考えたんだけどどうよ
232デフォルトの名無しさん
2017/05/05(金) 13:14:01.06ID:8b9qfJY2 >>230
それ「宿題家に忘れました」と同レベルじゃないですかー
それ「宿題家に忘れました」と同レベルじゃないですかー
233デフォルトの名無しさん
2017/05/05(金) 13:22:43.96ID:XP+Q0OKG234デフォルトの名無しさん
2017/05/05(金) 13:28:33.31ID:8b9qfJY2235デフォルトの名無しさん
2017/05/05(金) 13:29:35.85ID:Up1lvbHo まぁポンコツな会社にはポンコツが集まるって言われてるし
236デフォルトの名無しさん
2017/05/05(金) 13:41:46.76ID:XP+Q0OKG237デフォルトの名無しさん
2017/05/05(金) 13:49:41.18ID:n4hNDFR+ 会社にありますはガイジすぎる
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!
そんなん通るならC#プログラマーは全員屑!証拠は俺の会社にある!
238デフォルトの名無しさん
2017/05/05(金) 14:21:00.68ID:XP+Q0OKG というか俺の会社じゃなくてもどの会社にでもある
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい
過去の案件を分析すれば答えは出るよ
Javaがいかに失敗を生み出してきたか数字ではっきりと出てくる
GW明けにでも調べてみるといい
239デフォルトの名無しさん
2017/05/05(金) 14:28:17.47ID:xfO5LNpr 今から勉強しようとしてる人向けの話じゃなかったのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?
今から勉強しようとしてるのなんて学生に決まってるんだから会社の資料は見れないでしょ……
まさか社会人にもなってやっとJava勉強しようとしてる意識低い系の話なのか?
240デフォルトの名無しさん
2017/05/05(金) 14:30:45.16ID:EB13pOeh 去年調べた結果だと、Javaの方がC#より三倍生産性が良かったよ。
今年は知らんが、多分同じじゃない?
今年は知らんが、多分同じじゃない?
241デフォルトの名無しさん
2017/05/05(金) 14:35:53.90ID:XP+Q0OKG >>239
Javaはそういう意識低い人ばかり
Javaはそういう意識低い人ばかり
242デフォルトの名無しさん
2017/05/05(金) 16:17:42.92ID:Pxg1OvaW public class void String NewClass() {
System.out,.print ("hello");
}
実行しようとしてもエラーが出る
identifierがありません。
全く持って意味が分からない…
System.out,.print ("hello");
}
実行しようとしてもエラーが出る
identifierがありません。
全く持って意味が分からない…
243デフォルトの名無しさん
2017/05/05(金) 16:28:41.11ID:8b9qfJY2 おまじないがおかしいよ
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん
ますおまじないをそらで書けるようになってから応用しなさい
あとoutの後ろの,はいらん
244デフォルトの名無しさん
2017/05/05(金) 16:40:39.14ID:Pxg1OvaW >>242に関しては自己解決しました。
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}
}
main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?
もう一つ質問だけどとりあえずネット上にあるサンプルを使ってコードを書きまくってみようと思ってるのだけどなにかコードを記述したいって思ったときに
public static void とかprivateとかいろいろあると思うんだけど何を基準に選んだんラいいの?
あと、いまやっとこさこれが書けたんだけどこの言葉から記号一つ一つの意味まで全部把握しておいた方がいい?
public class NewClass{
public static void main(String args[])
{
System.out.print("表示できるか??");
}
}
main このmainっていうのはクラス名?あとどこかでclassは一つのファイルに一つまでしか書けないって書いてあったけどこれにはclassが入ってないけど例えばオブジェクト指向で新しいクラスを作りたいってなった時に
classはファイル名と一緒でなければいけないって書いてあったのだけど、どうやって考えたらいいの?
245デフォルトの名無しさん
2017/05/05(金) 16:48:22.02ID:Pxg1OvaW 多重に質問申し訳ない
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){ を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?
言葉を覚えての色々な事を質問して回る子供だと思って聞いてほしい
javaの構文を覚えるときは皆一つの熟語として覚えてる?
例えばこういうときは
public static void main(String args[]){ を使うんだ、みたいなものを一つひとつの意味を考えないで丸ごと覚えているイメージ?
あとついでにもう一つ頼む、args[]の[]は配列を表すものだったと思うんだけどよく見るこのコードはなんで配列を指定しているの?
246デフォルトの名無しさん
2017/05/05(金) 17:03:12.00ID:Pxg1OvaW お願いします
今まで出力はコンソール上またはjspをつかってweb上だけに計算結果を出力させてたんだけどより実践的にwebにつながなくてもコンピュータ上だけで処理させるには何が必要になってくるの?
あとテキストボックスとかラジオボタンとか使いたいのだけどその際にはimportとか必要になってくる?
今まで出力はコンソール上またはjspをつかってweb上だけに計算結果を出力させてたんだけどより実践的にwebにつながなくてもコンピュータ上だけで処理させるには何が必要になってくるの?
あとテキストボックスとかラジオボタンとか使いたいのだけどその際にはimportとか必要になってくる?
247デフォルトの名無しさん
2017/05/05(金) 17:06:37.66ID:UN44kkRF 全てに意味があるんだから全て覚えなさい
「ファイル名 class」
「mainメソッド」
「アクセス修飾子」
「staticメソッド」
「引数」
「戻り値」
「戻り値の型」
「コマンドライン引数」
このあたりで調べなさい
全部まともに答えるには金取らんと割に合わんレベルだよそれ
「ファイル名 class」
「mainメソッド」
「アクセス修飾子」
「staticメソッド」
「引数」
「戻り値」
「戻り値の型」
「コマンドライン引数」
このあたりで調べなさい
全部まともに答えるには金取らんと割に合わんレベルだよそれ
248デフォルトの名無しさん
2017/05/05(金) 17:06:41.65ID:SKOR9dHG public
static
void
main()
String args[]
{
それぞれの意味を覚えてる
args[]は実行時の引数の格納するから
javac test.javaでコンパイルした場合
実行時にjava test aaaとするとarg[]にaaaも含まれる
コントロールはjava コントロール名とかで調べる
static
void
main()
String args[]
{
それぞれの意味を覚えてる
args[]は実行時の引数の格納するから
javac test.javaでコンパイルした場合
実行時にjava test aaaとするとarg[]にaaaも含まれる
コントロールはjava コントロール名とかで調べる
249デフォルトの名無しさん
2017/05/05(金) 17:14:34.88ID:Up1lvbHo とりあえずスッキリJava読んだほうがよくね
250デフォルトの名無しさん
2017/05/05(金) 17:26:34.34ID:G0OfeBgr 個人的には最初から1から10まで理解しようとしたら
頭がパンクするだろうから、ある程度は絞ったほうが良い
@public class Tes {
A public static void main(String[] args) {
B System.out.println("hello java");
}
}
まずは
@:ファイル名とクラス名が同じじゃないと、Javaのプログラムって動かないんだなーぐらいは覚える
A:とりあえず動かすにはこの魔法の呪文が必要なんだぐらいしておく
B:文字列出力するのはこう書くのかー
ぐらいが理解できれば次に進んで良いと思うわ
最終的にはpublic、static、void、stringとかの意味も理解する必要はあるけど
それを利用する(あるいは目的を持って変更する)場面を知ってからじゃないと、結局分からず仕舞いで終わるだろうし
上で書いたソースしか知らない段階でvoid調べて、「何も値を返さない時はvoid型を指定する」とか見ても
理解できるどころか「値を返す、返さないってなんやねん!」ってなって意味が無い
頭がパンクするだろうから、ある程度は絞ったほうが良い
@public class Tes {
A public static void main(String[] args) {
B System.out.println("hello java");
}
}
まずは
@:ファイル名とクラス名が同じじゃないと、Javaのプログラムって動かないんだなーぐらいは覚える
A:とりあえず動かすにはこの魔法の呪文が必要なんだぐらいしておく
B:文字列出力するのはこう書くのかー
ぐらいが理解できれば次に進んで良いと思うわ
最終的にはpublic、static、void、stringとかの意味も理解する必要はあるけど
それを利用する(あるいは目的を持って変更する)場面を知ってからじゃないと、結局分からず仕舞いで終わるだろうし
上で書いたソースしか知らない段階でvoid調べて、「何も値を返さない時はvoid型を指定する」とか見ても
理解できるどころか「値を返す、返さないってなんやねん!」ってなって意味が無い
251デフォルトの名無しさん
2017/05/05(金) 17:43:33.01ID:RNJ7gaAH どこから突っ込んでいいのか。。。
ここで質問するより入門書読むなり、入門サイト読むなりした方が良いよ。
分からないことが整理出来てから質問しなさい。
そこまで何も知らない状態で質問されても、入門書くらい読んでからにしろよと呆れられるだけ。
ここで質問するより入門書読むなり、入門サイト読むなりした方が良いよ。
分からないことが整理出来てから質問しなさい。
そこまで何も知らない状態で質問されても、入門書くらい読んでからにしろよと呆れられるだけ。
252デフォルトの名無しさん
2017/05/05(金) 20:46:02.93ID:Pxg1OvaW わかりました。
じゃあすっきりJAVA入門ていうの買ってみることにします。
ちなみにこれをやれば基本的な文法は理解できるようになりますか?
自分は今コーディングするたびに〜〜classにはメソッドがありませんとか型の開始が不正ですとかidentifierがありませんとか
そういうエラーメッセージに苦しめられてる状態ですけどそういった部分も解決できるでしょうか?
それといろいろなコーディングの例ものっていたりするでしょうか?
とりあえず今やりたい事としてはアプリ上にテキストボックスなどを置いてユーザーからの入力に対して対応できるプログラムが出来ればいいなと思ってます
つまり、今は素数一覧判定するプログラムを作ってあるんですけど内部で数値を書いてファイルを実行して初めて表示されるのだけど、コードの内部を知らない人に使ってもらえるようなアプリを作れるようになるかというところです
自分全くの初心者なのでわかりやすさと、どのレベルまで行けるかっていうのを教えてもらえると嬉しいです、それと、第二版と二種類あるみたいだけど安い方を中古で買えば問題ないですか?
じゃあすっきりJAVA入門ていうの買ってみることにします。
ちなみにこれをやれば基本的な文法は理解できるようになりますか?
自分は今コーディングするたびに〜〜classにはメソッドがありませんとか型の開始が不正ですとかidentifierがありませんとか
そういうエラーメッセージに苦しめられてる状態ですけどそういった部分も解決できるでしょうか?
それといろいろなコーディングの例ものっていたりするでしょうか?
とりあえず今やりたい事としてはアプリ上にテキストボックスなどを置いてユーザーからの入力に対して対応できるプログラムが出来ればいいなと思ってます
つまり、今は素数一覧判定するプログラムを作ってあるんですけど内部で数値を書いてファイルを実行して初めて表示されるのだけど、コードの内部を知らない人に使ってもらえるようなアプリを作れるようになるかというところです
自分全くの初心者なのでわかりやすさと、どのレベルまで行けるかっていうのを教えてもらえると嬉しいです、それと、第二版と二種類あるみたいだけど安い方を中古で買えば問題ないですか?
253デフォルトの名無しさん
2017/05/05(金) 20:47:26.36ID:3kP3AuyS GWでJava勉強してるやつ、進捗どう?
手遅れ感感じた?
手遅れ感感じた?
254デフォルトの名無しさん
2017/05/05(金) 20:50:14.80ID:jRdxjTk1 >>252
メモ帳か何かでコード書いてるのだとしたらIntelliJ使ってみるといいかもな
メモ帳か何かでコード書いてるのだとしたらIntelliJ使ってみるといいかもな
255デフォルトの名無しさん
2017/05/05(金) 20:59:16.11ID:Pxg1OvaW >254
netbeansでやってますよ
netbeansでやってますよ
256デフォルトの名無しさん
2017/05/05(金) 21:07:56.45ID:MjMW9HuU この年でJavaとか、他にもっとやることあるだろ
257デフォルトの名無しさん
2017/05/05(金) 21:22:34.99ID:RNJ7gaAH258デフォルトの名無しさん
2017/05/05(金) 21:31:22.44ID:RNJ7gaAH 入門書は大抵古い面倒な書き方->新しい楽な書き方の順で紹介する。
なので長い目で見たら新しい入門書のが良い。
到達出来るレベルは楽な文法覚えてるだけで何か作れる訳じゃ無い。
どっち読んでも大差はない。
英語覚えたから英語ペラペラか?
言語ってのは使ってナンボ。
入門したら、簡単なので良いからさっさと何か作る。
なので長い目で見たら新しい入門書のが良い。
到達出来るレベルは楽な文法覚えてるだけで何か作れる訳じゃ無い。
どっち読んでも大差はない。
英語覚えたから英語ペラペラか?
言語ってのは使ってナンボ。
入門したら、簡単なので良いからさっさと何か作る。
259デフォルトの名無しさん
2017/05/05(金) 21:51:52.06ID:Pxg1OvaW260デフォルトの名無しさん
2017/05/05(金) 21:55:05.15ID:RNJ7gaAH うむ。
最低限はね。
複雑なのはWebで本家のドキュメント眺めながらとか。
あなたのアイデア次第の部分のが多い。
作り方を思いつけるか。
調べられるか。
知ってるか。
最低限はね。
複雑なのはWebで本家のドキュメント眺めながらとか。
あなたのアイデア次第の部分のが多い。
作り方を思いつけるか。
調べられるか。
知ってるか。
261デフォルトの名無しさん
2017/05/05(金) 22:15:47.72ID:Pxg1OvaW >>260
発想の部分は好きだから多分いけると思う
むしろ色々な事をどんどん広げて行きたいと思う
事務職でマクロやってた時も結構複雑な処理をネットで調べたりして実装してた
知ってるか
っていうところがちょっと不安だけど大丈夫かな
でもとりあえず「オブジェクト指向 例 」「メソッドとは」「クラス 定義 必要性」とかわからないままを永遠にループ検索することはとりあえずなくなりそうでよかった
早くAmazonからこないかな
発想の部分は好きだから多分いけると思う
むしろ色々な事をどんどん広げて行きたいと思う
事務職でマクロやってた時も結構複雑な処理をネットで調べたりして実装してた
知ってるか
っていうところがちょっと不安だけど大丈夫かな
でもとりあえず「オブジェクト指向 例 」「メソッドとは」「クラス 定義 必要性」とかわからないままを永遠にループ検索することはとりあえずなくなりそうでよかった
早くAmazonからこないかな
262デフォルトの名無しさん
2017/05/05(金) 22:48:55.45ID:G0OfeBgr しかしJavaで書籍というか入門書無しで勉強する人おるんだな
大体はスッキリの入門、やさしいJava、明解のどれかから手を付けて始める印象が多い
というかせっかく入門書一杯あるんだから利用しない手はないべ
大体はスッキリの入門、やさしいJava、明解のどれかから手を付けて始める印象が多い
というかせっかく入門書一杯あるんだから利用しない手はないべ
263デフォルトの名無しさん
2017/05/05(金) 22:49:01.87ID:RNJ7gaAH 知ってるかは思いつけるかと調べられるかの繰り返しによる積み重ねだから、心配は要らない。
264デフォルトの名無しさん
2017/05/05(金) 22:49:39.29ID:+CHRnsuY エネルギーを2chに使うのをやめないと本読んでも意味ないんじゃないかな
265デフォルトの名無しさん
2017/05/05(金) 23:14:46.17ID:GcsXwLgt 配列について質問です。
…{1,2,3};
という表記法と、
…new int[]{1,2,3};
という表記は何か違いがあるのでしょうか?
…{1,2,3};
という表記法と、
…new int[]{1,2,3};
という表記は何か違いがあるのでしょうか?
266デフォルトの名無しさん
2017/05/05(金) 23:16:03.94ID:yjG7qa8A267デフォルトの名無しさん
2017/05/05(金) 23:39:09.89ID:GcsXwLgt >>266
アラ探しは止めてもらえます?
アラ探しは止めてもらえます?
268デフォルトの名無しさん
2017/05/05(金) 23:42:36.40ID:RNJ7gaAH newの方が本来の書き方で、newしない方はCからの移行組のために単純に書けるように後から作られたもの。
269265
2017/05/06(土) 00:35:25.29ID:gDC1nU6T270デフォルトの名無しさん
2017/05/06(土) 00:39:00.98ID:9tv813Aq 無い。
楽な方選ぶ。
(なので大抵newしない方で書かれる)
楽な方選ぶ。
(なので大抵newしない方で書かれる)
272デフォルトの名無しさん
2017/05/06(土) 02:51:48.75ID:GtACJVEu インスタンスの同一判定で違いが有るという話を見たこと有るが、
配列のインスタンスを判定する事自体がダメな事だと思ってる。
それより、int result[]=new int[10];
なんて書き方は覚えたての頃に少しした程度で、
今は、int result[]={ 0,1,2,3,4,5,6,7,8,9 };こう書くよなぁ…
C言語は知らなくても慣れてくるとみんなこうならない?
配列のインスタンスを判定する事自体がダメな事だと思ってる。
それより、int result[]=new int[10];
なんて書き方は覚えたての頃に少しした程度で、
今は、int result[]={ 0,1,2,3,4,5,6,7,8,9 };こう書くよなぁ…
C言語は知らなくても慣れてくるとみんなこうならない?
273デフォルトの名無しさん
2017/05/06(土) 03:07:22.28ID:9tv813Aq なる。
実はC++だとnewする、しないはスタックかヒープかの違いがあって、new int[n]とか宣言時に[]内に変数使える、使えないとか、配列作れる限界もnewした方が大きいとか違いがある。
でも、Javaは基本型以外は全部ヒープに置くので配列はヒープにしか置かない。
C形式がまだ無かった初期の入門書には何故配列をnewするのかの解説まであった。
Javaにおいてnewするしないに違いが無いなら、してられっかよ。って誰も書かなくなった。
実はC++だとnewする、しないはスタックかヒープかの違いがあって、new int[n]とか宣言時に[]内に変数使える、使えないとか、配列作れる限界もnewした方が大きいとか違いがある。
でも、Javaは基本型以外は全部ヒープに置くので配列はヒープにしか置かない。
C形式がまだ無かった初期の入門書には何故配列をnewするのかの解説まであった。
Javaにおいてnewするしないに違いが無いなら、してられっかよ。って誰も書かなくなった。
274265
2017/05/06(土) 04:21:51.57ID:gDC1nU6T と納得したのですが、突っかかる箇所があるのでまた書かせて頂きます。すいません。
今読んでいる書籍の問題で、(必要な個所だけ抜粋します)
public class Player {
int[] hand; // 手札配列
}
の実行用クラス(Exec)を作成しろという問題で、
Player player1 = new Player();
とした後、player1の手札配列に{2,13,26,13,48}をセットしろとのことなんですが、
player1.hand = {2,13,26,13,48};
とするとコンパイルエラーになるんですよね。解答には、
player1.hand = new int[]{2,13,26,13,48};
と書いてあり、そう入力するとエラーは無くなります。
なのでこの二つの表記法に文法的な違いがあるのでは?
と思ったわけです。
改めて皆さんの見識を伺いたいです。
本には違いはほとんど書かれていませんでした。
今読んでいる書籍の問題で、(必要な個所だけ抜粋します)
public class Player {
int[] hand; // 手札配列
}
の実行用クラス(Exec)を作成しろという問題で、
Player player1 = new Player();
とした後、player1の手札配列に{2,13,26,13,48}をセットしろとのことなんですが、
player1.hand = {2,13,26,13,48};
とするとコンパイルエラーになるんですよね。解答には、
player1.hand = new int[]{2,13,26,13,48};
と書いてあり、そう入力するとエラーは無くなります。
なのでこの二つの表記法に文法的な違いがあるのでは?
と思ったわけです。
改めて皆さんの見識を伺いたいです。
本には違いはほとんど書かれていませんでした。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★7 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 死にたい
- ニュース「日中関係の冷え込み」
- 国民「物価高なんとかして」自民党「デフレ脱却!」
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 月がきれいですね。
- __AIPACから遠隔操作まで理解、他におらず? [827565401]
