1 名前:デフォルトの名無しさん mailto:sage [2018/06/07(木) 20:17:08.87 ID:N8MsK2gr0.net] Java初心者のためのスレッドです。 ※前スレ Java入門・初心者質問スレ Part.7 mevius.5ch.net/test/read.cgi/tech/1515549964/ VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
654 名前:デフォルトの名無しさん [2018/10/21(日) 19:45:35.27 ID:0dWokXAIa.net] >>619 swith使えばいいのでは? swithはbreakさせなければ下に抜けるからな。 switch (x) { case 1: case 3: case 10: System.out.println(x); } なんていう風に書いとくとxが 1, 3, 10 の時だけ出力するよ。
655 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 23:36:03.78 ID:2oCbSQP00.net] >>620 大手ユー子に転職したけど面接のときに技術わかるやつ一人もいなかったぞ 現場離れた部長と人事だけ Javaほとんど出来ないけどあっさり採用されてしまったわ 独立中小の方が職人多かったよ
656 名前:デフォルトの名無しさん mailto:sage [2018/10/21(日) 23:48:18.28 ID:SPKWiuHwd.net] >>625 冗長になりそうでswitchは敬遠してましたが意外と視読性良さそうですね 有り難うございます
657 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 04:20:27.70 ID:UcRlErit0.net] bronze取ったら現場探したほうがええんか? 未熟さで迷惑かけて対人ストレスとか抱えるくらいならsilverくらい取ってからにしようかと思うんだけど いやまぁ資格と現場で使えるかが別物ってのはとりあえず置いといてよ
658 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2018/10/22(月) 08:37:05.02 ID:gS6quPUmM.net] bronzeは「わたしはjavaができません」と申告してるようなもんだから 書かないほうがよいのでは?w
659 名前:名無しさん@そうだ選挙に行こう! Go to vote! [2018/10/22(月) 10:01:40.15 ID:3rTgJh0aa.net] >>626 現場離れた部長が技術分かる奴なんじゃないの? 別に特定の言語を知らなくても何か一つ言語使えてれば、他の言語の文法覚えるだけで即戦力(扱い)だし。 本当に未経験でも結果的に使える奴になれば良いけどね。
660 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:21:35.68 .net] abcdeの末尾がeならokと出力したいのですが ↓では期待通りにならないのですが どうしたら上手くいくか教えて下さい。 String word= "abcde"; if(word.matches("e$"))System.out.println("ok");
661 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:24:08.82 ID:mTnahwQV0.net] /.*?e$/ とかかな
662 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:43:07.54 ID:DMneX9TO0.net] これだと動くから、なんかはしょりすぎてるんでは? String word = "abcde"; if (Pattern.compile("e$").matcher(word).find()) System.out.println("ok");
663 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 12:55:50.18 .net] ありがとうございます 修正して if(word.matches(".+e$"))System.out.println("ok"); で期待通りになったんですが、 これでもいいのかな。
664 名前:デフォルトの名無しさん [2018/10/22(月) 18:59:00.82 ID:u6NjsIb00.net] Ruby でやったけど、文字列が、"e" だけの場合に「.+ .*」で違いがある "e".match /.+e$/ #=> nil "e".match /.*e$/ #=> "e"
665 名前:デフォルトの名無しさん [2018/10/22(月) 19:08:12.53 ID:8WYgXfgna.net] >>635 *は直前の文字が0文字以上で+は直前の文字が1文字以上なのでそうなって当然だと思う。
666 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 19:53:44.41 ID:HK8Vf3a+0.net] あ* あ+ 覚えられたら楽しそう。
667 名前:デフォルトの名無しさん [2018/10/22(月) 20:46:03.82 ID:Ohiki0Rb0.net] 式の評価順について教えてください 下記のプログラムで カッコが先に処理されて DECBAと出力されると予想したのですが 実際はABCDEと出力されました これの仕様が書かれたドキュメントを教えてください public static void main(String[] args) { int[] a = new int[1]; a[getValue("A")] = getValue("B") + (getValue("C") + (getValue("D") + getValue("E"))); } static int getValue(String s) { System.out.println(s); return 0; }
668 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 21:48:42.82 ID:zi5Z/69B0.net] 普通に言語仕様読むのが一番早い。 英語読めるなら本家 https://docs.oracle.com/javase/specs/ 古いのなら日本語版もある www.y-adagio.com/public/standards/tr_javalang/
669 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 22:06:15.12 ID:u6NjsIb00.net] >a[getValue("A")] = getValue("B") + (getValue("C") + (getValue("D") + getValue("E"))); (getValue("C") + (getValue("D") + getValue("E"))); これは、"C" + "D" + "E" → "CDE" getValue("B") + "CDE" → "BCDE" + 演算子は単に、文字列の連結だろ
670 名前:デフォルトの名無しさん [2018/10/22(月) 22:09:05.28 ID:Ohiki0Rb0.net] >>639 それのどこに書いてあるのか教えて欲しいのです
671 名前:デフォルトの名無しさん [2018/10/22(月) 22:09:45.42 ID:Ohiki0Rb0.net] >>640 文字列は表示してるだけで戻り値はintですよ
672 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 22:24:12.06 ID:zi5Z/69B0.net] >>641 英語の方ならExpressions、Evaluation Order、 日本語の方なら式、評価順序のあたりを読めばいいよ。
673 名前:デフォルトの名無しさん [2018/10/22(月) 22:29:43.80 ID:Ohiki0Rb0.net] >>643 ありがとうございます!ありました!
674 名前:デフォルトの名無しさん mailto:sage [2018/10/22(月) 22:57:47.71 ID:u6NjsIb00.net] ああ、文の評価順序を確かめたかったのか たぶん左から評価して、その値を、( )の優先順位で足していくのだろう a[0] = 0 + (0 + (0 + 0)) a[0] = 0 + (0 + 0) a[0] = 0 + 0 a[0] = 0 これは、知っていないとマズイ。 漏れも、知らなかったけど
675 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 01:01:39.75 ID:IQhrGGp+d.net] インクリメントの前置後置とかな
676 名前:デフォルトの名無しさん [2018/10/23(火) 01:37:49.72 ID:SDpmiZwh0.net] >>645 元の質問は括弧の中から計算していきそうなのにそうではなかったので仕様が知りたかったということだよ。
677 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 02:55:50.13 ID:SDpmiZwh0.net] >>631 それ実際に実行されるのはこれだ。 java.util.regex.Pattern.compile("e$").matcher(word).matches() 最後の matches() は java.util.regex.Matcher クラスのメソッドだ。 ドキュメントには「領域全体をこのパターンとマッチします。」と書いてある。 全体とだ。つまりパターンには前後に隠された ^$ が最初から入っているような状態になる。 なので例えば word が "e" ならマッチするが e の前後に一文字でも何かあればマッチしない。 だから ".*e$" だとマッチする。(というか最後の $ は不要) grep コマンドへ与えるパターンみたいにやりたい場合は Matcher クラスのインスタンスで find() したりするしかない。
678 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 07:18:01.29 ID:e9JCNKc90.net] これでもOKかな。 if (word.endsWith("e"))
679 名前:デフォルトの名無しさん [2018/10/23(火) 11:26:07.55 ID:QwHjyvjPa.net] >>649 正規表現不要ならそっちの方が分かりやすいな。
680 名前:デフォルトの名無しさん mailto:sage [2018/10/23(火) 12:28:50.46 .net] ありがとうございます 勉強になります。
681 名前:デフォルトの名無しさん [2018/10/24(水) 02:19:49.67 ID:2LYWqLo00.net] >>638 Ruby で以下を実行したら、ABCDE の順番になった ary = [ ] def getValue ( str ) puts str; 0 end ary[ getValue("A") ] = getValue("B") + ( getValue("C") + ( getValue("D") + getValue("E") ) );
682 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 08:47:38.46 ID:XKgg3tJUa.net] ()は決して先に計算するという意味ではなく、結合の優先順位を変えるんだよ a = (b + c) + f(x) は、=, +についてもそれぞれを引数2つの関数とみると =(a, +(+(b, c), f(x)) というツリー構造になる これをどういう順序で評価するかはいくつかやり方があるが、 Javaや糞Ruby糞を含む多くの言語では正格評価と呼ばれる方式が採用されており、これは外側の関数から内側の順に式を評価する 引数リスト中での評価順序は言語によって様々だが、Javaの場合は原則的に左から右の順に評価する
683 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 10:14:03.79 ID:hDrHSdWT0.net] public class test { static int n = 2; public static void main(String[] args) { System.out.println(getValue("A") * (getValue("B") + getValue("C"))); } private static int getValue(String s) { System.out.println(s); n++; System.out.println(n); return n; } } A 3 B 4 C 5 27 かっこの中が先に実行されていたら、5 * (3 + 4) = 35
684 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 11:58:03.23 ID:yjyY64DY0.net] 助けて下さい、パイザ恐怖症です。
685 名前:デフォルトの名無しさん mailto:age [2018/10/24(水) 12:14:05.89 ID:wgd96425M.net] おっぱいざ
686 名前:デフォルトの名無しさん [2018/10/24(水) 12:15:04.76 ID:k2aW8IHEa.net] >>654 メソッドを呼んで値を取り出す順序とその後の計算順序が違うってことかな?
687 名前:デフォルトの名無しさん [2018/10/24(水) 12:19:07.90 ID:k2aW8IHEa.net] >>655 他を使えば?
688 名前:デフォルトの名無しさん mailto:sage [2018/10/24(水) 17:24:32.96 ID:SCI/Jnq1a.net] 自分を信じている。
689 名前:デフォルトの名無しさん [2018/10/24(水) 23:47:39.01 ID:2LYWqLo00.net] paiza, codepad は、ログイン無しで書ける 評価順序・結合規則は、異なる概念 「式1 演算子 式2」がある時に、式内に何かの状態を変える副作用があるとか、 変数を共有していたりすると超危険! バグる・勘違いする
690 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 00:00:58.67 ID:Y/5d8Fwoa.net] 頑張らなきゃ。
691 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 20:52:09.26 ID:/sJHXbfH0.net] javaが有料になるのは本当ですか? 一体何が始まるんです?
692 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 22:48:53.55 ID:NF5xn3mp0.net] 終わりが始まるのじゃ
693 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 23:05:07.68 ID:Vh4vLvlsM.net] 四季に例えるなら今月からJavaワールドは秋に入った オラクルにとっては実りの秋、つまり、いよいよ満を持して収穫の時期だ 成長は止まり、次第に終わりに近づいていく
694 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 23:05:48.73 ID:8t/VvI+za.net] 諸行無常
695 名前:デフォルトの名無しさん mailto:sage [2018/10/25(木) 23:16:38.63 ID:8t/VvI+za.net] まじ話、どうしたらいいのですか? 8月からJavaに絞ってプログラミング始めたけど Javaという選択肢は間違ってたのかな。
696 名前: mailto:sage [2018/10/26(金) 03:38:08.86 ID:OsBjME340.net] >>666 間違っていませんよ
697 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 06:42:50.41 ID:RF3v5pwza.net] 信じます。
698 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 18:24:58.78 ID:8x+zlsFp0.net] 自分を鍛える。
699 名前:デフォルトの名無しさん mailto:sage [2018/10/26(金) 21:56:08.51 ID:c5tX/A9Y0.net] Javaは犠牲になったのだ… ORACLEの買収から続く因縁… その犠牲にな
700 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 00:26:26.42 ID:f5VWw0O9d.net] ずいぶん勉強したな まるでOracle博士だ
701 名前:デフォルトの名無しさん mailto:sage [2018/10/27(土) 20:45:41.22 ID:GFYQON7a0.net] 難しい。 でも、頑張る
702 名前:デフォルトの名無しさん mailto:sage [2018/10/29(月) 22:23:02.20 ID:gfMerkhba.net] 標準入力 0 1 で sc.nextとかsc.nextIntとかで 0を読み込んで また、読み込んだら 1になるけど 読み込んでも次の文字に移動しないで 0のまま読み込みできるような 方法ってありませんか?
703 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 09:54:01.25 ID:xNl+FZA5a.net] プログラミングは面倒なものだ。 でも頑張る。
704 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 11:22:14.61 ID:TktsfVtm0.net] プログラミング学習において一番やっちゃいけないこと それはただやみくもに学習を続ける事
705 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 11:24:12.48 ID:qIK5QusDd.net] ここにいる人が最初に何作ったか気になる
706 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 11:53:41.32 ID:yLOLSFfea.net] 高校生の頃に簡単なシューティングゲーム作った
707 名前:デフォルトの名無しさん [2018/10/30(火) 12:30:56.41 ID:8/9eZ6sC0.net] 歴史年表をデータ化して ランダム4択クイズみたいの作ってたなあ 当時はDBなんて知らないから ソースにベタ書きだが
708 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 14:16:50.97 ID:u5gp0FkU0.net] 自動釣銭機のファームウェアだったわ
709 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 19:16:14.83 ID:u4NMPEb2d.net] >>677 スッキリJavaの入門終わったくらいなんだけど、そこからだとどういう知識付けていったら作れるかな フレームワークとかまだよくわかってなくて
710 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 19:53:26.35 ID:yLOLSFfea.net] >>680 Javaではゲーム作ったことないからよく分からんけど、 Java ゲーム とかでググるとそれっぽい本がいくつか出てくるからそこらへんを適当に一冊選んで丸写ししてみればいいんじゃないかな
711 名前:デフォルトの名無しさん [2018/10/30(火) 20:45:03.24 ID:xkGCjv5u0.net] >>673 標準ライブラリには用意されてないんで自作する感じで https://paiza.io/projects/qS8nTKNW3exoY87rvTwdsg?language=java
712 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 21:34:59.67 ID:29XJYIaEa.net] >>682 ご丁寧にありがとうございます m(_ _)m 私はまだまだ勉強しなきゃいけない事が多いようですw
713 名前:デフォルトの名無しさん mailto:sage [2018/10/30(火) 22:19:01.39 ID:tLch1bmf0.net] YouTube にある、T Umezawa の動画が有名 【Java】ゲームプログラミング超入門 https://youtu.be/FsRHdL_r0pE?list=PLJ86MSrhnFKVQPf-E8y0FZKv7uzR4L4Dt Windows8.1とJava8の組み合わせによる最新版:youtu.be/Wp34YbKfWag C#版: https://youtu.be/zSiER0sxexw 次:youtu.be/_MY7yPD58JE
714 名前:デフォルトの名無しさん [2018/10/31(水) 12:51:34.27 ID:umCB7isma.net] 最初に?というとこんなやつかな。 10 PRINT "*"; 20 GOTO 10
715 名前:デフォルトの名無しさん [2018/10/31(水) 15:52:18.08 ID:P9zyHHGGM.net] * * * * * * * * * * BREAK AT 10 ロ
716 名前:デフォルトの名無しさん [2018/10/31(水) 17:19:04.35 ID:umCB7isma.net] マイコンの素晴らしさに感動。 これがあればなんでもできる。 と、本気で思った。
717 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:35:46.14 ID:WYczTFcia.net] Javaがあれば何でも叶う!
718 名前:デフォルトの名無しさん mailto:sage [2018/10/31(水) 17:38:20.63 ID:WYczTFcia.net] Javaで夢が広がる!
719 名前:デフォルトの名無しさん mailto:sage [2018/11/03(土) 16:41:01.50 ID:5ctS1VyRa.net] 才能ないけど頑張ってます。
720 名前:デフォルトの名無しさん [2018/11/04(日) 11:32:46.08 ID:hQdPSgHl0.net] ブリッジパターンの応用手順のブログみたい。パッケージを開発する時を前提にしているね。 https://blogs.yahoo.co.jp/kamyu_2010/35480077.html
721 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 11:56:02.10 ID:BezIGIRZa.net] 定期的にクソ見辛いブログをステマしていくやつなんなの
722 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 13:56:16.32 ID:66vK87J40.net] 全くの未経験で転職先でjavaを使用するという事で学習していこうと思ってるんだけど 先にHTML、CSSからやっていかないとダメな感じ?
723 名前:デフォルトの名無しさん [2018/11/04(日) 15:02:34.71 ID:eEexL0w40.net] \ ∩─ー、 \/ ● 、_ `ヽ / \( ● ● |つ | X_入__ノ ミ 俺は釣られないクマ ・・・ 、 (_/ ノ \___ノ゙ / 丶' ⌒ヽ::: / ヽ / /::: / /へ ヘ/ /::: / \ ヾミ /|::: (__/| \___ノ/:::
724 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 17:42:51.19 ID:hcv1KEF/a.net] 頑張ります!
725 名前:デフォルトの名無しさん mailto:sage [2018/11/04(日) 23:00:14.19 ID:l3etVQHq0.net] javascriptがjavaの仲間だと思っていた時期が俺にもありました…
726 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 09:00:32.02 ID:SxXiYgd60.net] 今でもそう思ってます
727 名前:デフォルトの名無しさん [2018/11/05(月) 09:20:20.54 ID:fSW0Oxfca.net] 悔い改めよ
728 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 10:40:33.26 ID:9O10s3S2d.net] むしろ今となってはjavascriptのほうが使いやすい
729 名前:デフォルトの名無しさん [2018/11/05(月) 11:13:59.19 ID:fSW0Oxfca.net] 慣れの問題と何を作るかの問題だな。
730 名前:デフォルトの名無しさん mailto:sage [2018/11/05(月) 11:22:08.13 ID:/yhagSUO0.net] ブラウザと周辺ライブラリの進歩がデカイ
731 名前:デフォルトの名無しさん mailto:sage [2018/11/06(火) 00:13:10.82 ID:lOm/SiQT0.net] わからん。。。 嫌になる でも、頑張る
732 名前:デフォルトの名無しさん [2018/11/11(日) 21:19:15.74 ID:ajreNdVSa.net] ttps://pastebin.com/5QkYYhdg Stringのインデックスエラーが出るのですが、何かいけないのでしょうか?
733 名前:デフォルトの名無しさん [2018/11/11(日) 21:22:14.23 ID:B3f/927da.net] Java有料化で仕事無くなるかもなのに頑張るのか。。。
734 名前:デフォルトの名無しさん mailto:sage [2018/11/11(日) 21:28:16.21 ID:/etMYVvT0.net] 無くなるの?
735 名前:デフォルトの名無しさん [2018/11/11(日) 21:56:52.92 ID:B3f/927da.net] Java有償化まとめ https://mevius.5ch.net/test/read.cgi/tech/1532325790/
736 名前:デフォルトの名無しさん [2018/11/11(日) 23:54:14.92 ID:/c5AFHPv0.net] >>703 charIndexがリセットされないのがいけない "123456"を表示するときにcharIndexは0から5に増えて "7"を表示するときにcharIndexは5だからNG
737 名前:デフォルトの名無しさん [2018/11/12(月) 19:49:08.82 ID:x1RQowFZa.net] >>707 ありがとうございます。 breakの前にcharIndex=0を設定することでエラーは解消されました!
738 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 07:04:39.94 ID:F2s/LBqta.net] 同じ文字を含まないっていう正規表現があるなら教えて欲しいです。 例 マッチする abc acb bac bca cab cba マッチしない aab cbc
739 名前:デフォルトの名無しさん [2018/11/15(木) 07:19:32.06 ID:xSjlziKZ0.net] >>709 ないです、素朴に数えましょう
740 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 07:27:10.15 ID:AxNEuJ7Oa.net] そうですか残念です。
741 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 08:34:12.11 ID:g74yzjtM0.net] Ruby なら、uniq で、配列内の重複した要素を削除できるから、それで文字数を数えて比較すれば? split で1文字ずつ、配列の要素にする str = "abca" str.length #=> 4 str.split( "" ).uniq.length #=> 3
742 名前:デフォルトの名無しさん [2018/11/15(木) 09:43:30.75 ID:RDhHOc3na.net] >>709 同じ文字を含むなら (.).*\1 でできると思うので、プログラムの側でこれにマッチしないものを処理すれば良いのではないかな。
743 名前:デフォルトの名無しさん [2018/11/15(木) 13:03:21.57 ID:lNkjj0jra.net] >>709 重複要素の無いコレクション https://docs.oracle.com/javase/jp/8/docs/api/java/util/Set.html >>712 Rubyならじゃねえ。 Javaに同じ機能無いかくらい調べやがれ。 こちとら10年くらいJava触ってねーぞ。
744 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 15:12:37.43 ID:pPH/bz/I0.net] >>713 ありがとうございます。 参考にさせてもらって、その正規表現の効果をぐぐって見て 自分でもいけそうな気がしたのですが。 NGになってしまいます。 何が間違えてますか・・・ String a ="aac"; if(a.matches("(.).*\1")){ System.out.println("OK"); }else{ System.out.println("NG"); } >>712 >>714 ありがとう、ございます。 それらとは別のやり方ですがヒントになりました。 特定の文字をAllreplaceで""にして原本とのlength()の差で 選別する感じでひとまずいけました。
745 名前:114 [2018/11/15(木) 15:16:26.15 ID:lNkjj0jra.net] >>715 解決したようで何より。
746 名前:デフォルトの名無しさん [2018/11/15(木) 15:17:43.39 ID:RDhHOc3na.net] >>715 \ 記号はエスケープ文字なので \\ にする。
747 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 15:32:48.07 .net] ありがとうございます。 \\でもNG出て if(a.matches(".*(.).*\\1.*")){ にさせてもらったら 期待通りの結果がでるようになりました。 ありがとうございました。
748 名前:デフォルトの名無しさん [2018/11/15(木) 16:12:34.80 ID:RDhHOc3na.net] あー。そうか。matches() は前後に暗黙の ^$ が入るんだったな。
749 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 19:45:12.42 ID:y/xxNwdx0.net] 配列変数の宣言と配列を作成する文において、配列の型を2回記述しないと いけない理由は何ですか? 例) int[] array = new int[5]; インスタンス変数の宣言文と似ていますが、もしかして配列においても 多態性が使えるんですか?
750 名前:デフォルトの名無しさん [2018/11/15(木) 20:07:38.69 ID:RDhHOc3na.net] 元々Javaは型推論しない言語だからなあ。
751 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 20:56:36.68 ID:zE6igjOyd.net] bronzeの問題見てるけどインクリメントの後置やらfor文のブロック省略やら、引っ掻けたいだけの問題多すぎない?
752 名前:デフォルトの名無しさん mailto:sage [2018/11/15(木) 21:05:38.09 ID:cJq6eeYEa.net] >>720 理由と言われても、そう言う言語仕様だから。もう20年以上前に設計された言語だから、今の基準で見たら冗長な表現が多々ある。 あと配列においても多態性が〜、の部分は何が言いたいのか分からない。
753 名前:720 mailto:sage [2018/11/16(金) 00:48:09.83 ID:weOG1xUa0.net] >>723 ありがとうございます。 その部分は勝手な憶測なので気にしないで下さい。 例えば、int型はdouble型に型変換されることもあり得るので、 例) double[] array2 = new int[5]; のような記述が出来るのかな?と思っただけです。
754 名前:デフォルトの名無しさん mailto:sage [2018/11/16(金) 06:24:36.92 ID:cFUtGW68a.net] >>724 それは多態性というか暗黙的なキャストだな。 Javaではそれは出来ない。暗黙的キャストは便利なこともある反面、意図しないキャストでバグを生み出す可能性があるからJavaの設計思想とは相容れない。