1 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 14:12:12.75 ID:I0KrLWwV.net] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 ・String に == は使うな。equals() を使え。※ 質問時の心得 ・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。 ・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。 前スレ ★★Java質問・相談スレッド173★★ [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1429709719/
601 名前:デフォルトの名無しさん [2015/09/14(月) 02:37:39.18 ID:eF8Eqhon.net] Javaプログラミング能力認定試験 www.sikaku.gr.jp/js/jv/exam/content/ って、1-2-3級あるんですが、Oracle公式のJavsの資格(SEのBronze,Silver,Gold)でいえばどれくらいのランクに当たりますか?
602 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 06:59:41.72 ID:2z9D2B08.net] Javaのデスクトップアプリ開発に未来はあるの? Swing Application FrameworkもJava8に来なくて死亡したっぽいし、 JavaFXは今どうなってんのかよくわからんし、関連書籍もないし、 もう諦めて違う言語に行った方が良いのか?
603 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 07:14:52.09 ID:geV2gEFM.net] ないよ デスクトップアプリ自体もう終わりだからWebに行った方がいい 開発環境やデザインツールなどプロ向けのツールはデスクトップアプリとして残るだろうけど、 そういうのもElectronのようなWebベースの技術に移行しつつある
604 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 07:30:19.02 ID:2z9D2B08.net] ありがとう、本格的にWeb系に乗り出すことにしよう 実はElectronは触ったんだけど、最近出たnode.jsのv4.0で動かなくて困ってたところで、 自信のあるJavaに戻ろうとしてたんだが、未来がないならやめた方が良さそうだな
605 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 10:46:34.19 ID:vBOHCP4p.net] すみません質問です 「始め」と「終り」の数値を入力するとその間の数値を足した合計を表示する プログラムを作りたいのですがコンパイルエラーになってしまいます どこに文法の誤りがあるんでしょうか
606 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 10:47:27.47 ID:vBOHCP4p.net] import java.util.Scanner; class Keisan { public static void main(String[] args) { Scanner suutiha = new Scanner(System.in); System.out.println("始めの数値を入力"); int hajime = suutiha.nextInt(); Scanner suutio = new Scanner(System.in); System.out.println("終りの数値を入力"); int owari = suutio.nextInt(); System.out.println("始め:" + hajime); System.out.println("終り:" + owari); Suutigoukei hajiowa = new Suutigoukei(); hajiowa.hajimeowari(); System.out.println("出力:" + goukei); } }
607 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 10:47:56.86 ID:vBOHCP4p.net] class Suutigoukei { int hajime; int owari; Suutigoukei() { for(i = hajime; i <= owari; i++){ goukei = hajime + owari; } int hajimeowari(); } }
608 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 10:49:51.26 ID:vBOHCP4p.net] C:\javabook\arugo>javac arugo1_1.java arugo1_1.java:63: エラー: ';'がありません int hajimeowari(); ^
609 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 12:32:12.00 ID:eZRCO9Fa.net] >>600 メッセージに出てる
610 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 12:58:06.34 ID:VtHzXlkf.net] >>600 java8ならこれでも IntStream.range(hajime,owari).sum() 携帯からでrangeの仕様未確認なので未満か以下は自分で確認して。
611 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 14:46:52.24 ID:sjAEfYEf.net] >>600 ・Suutigoukeiのコンストラクタで計算してるのに、Keisanではhajimeowariなる存在しないメソッドを呼んでる ・変数goukeiがどこにも宣言されていない ・int hajimeowari();←Javaではこのような書き方はできない ・for文の初期化式に変数iの型指定がない ・そもそもそのfor文では目的の計算ができない 随分奇妙なコードに見える どう直せば正解なのか分からないので、かなり勝手に直したが、とりあえずこれで動く https://ideone.com/L1e97K
612 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 14:56:27.58 ID:vBOHCP4p.net] >>606 うおおありがとうございます 全然できてませんでしたね...... まだ始めたばかりでわかんないことだらけです
613 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 16:46:55.74 ID:BYqPWjqb.net] >>605 rangeはendExclusiveだからowari+1じゃね?
614 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 16:08:14.54 ID:Qf+4z0r0.net] $('.step-list').click(function(){ var ここ = $(this).index(); $('.step-list').removeClass('active'); $(this).addClass('active'); $('.explain').removeClass('active'); $('.explain').eq(index).addClass('active'); }); これなんだが 「ここ」って書いてある変数名はどこで作用してるんだ? このコードだと箱の意味をなしてなくない?
615 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 17:35:29.67 ID:nDixVim1.net] jqueryさんですか
616 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 17:53:48.07 ID:llkENHlN.net] 質問です 配列の男性と女性の人数をそれぞれ求めたいのですが 実行結果が思うように出ません助言お願いします
617 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 17:56:09.05 ID:llkENHlN.net] class Danjo { public static void main(String[] args) { String[] n = {"男","男","女","男","女"}; int dangou = 0; int jogou = 0; int men = n.length; int women = n.length; for (int i=0; i<n.length; i++){ if(i == men){ }else if(i == women){ } System.out.println("男性:" + dangou); dangou++; System.out.println("女性:" + jogou); jogou++; } } }
618 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 17:57:52.64 ID:EQXALWLy.net] ここは地の果て
619 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 17:58:26.74 ID:llkENHlN.net] 実行結果 C:\javabook\arugo>java Danjo 男性:0 女性:0 男性:1 女性:1 男性:2 女性:2 男性:3 女性:3 男性:4 女性:4
620 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 18:04:13.07 ID:P5rty3ac.net] >>613 エリア81か
621 名前:デフォルトの名無しさん [2015/09/15(火) 18:07:29.17 ID:jl5p0EYA.net] >>613 流されてオレ
622 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 18:22:19.56 ID:Qf+4z0r0.net] >>610 そうjquery スレ見当たらんかったからここの人ならわかると思って聞いてみた ここって場所には本来indexって文字が入っていた
623 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 18:43:24.47 ID:EQXALWLy.net] >>617 残念だけどここは全く見当外れのスレ ここは地の果てアルジェリア
624 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 19:25:34.39 ID:Ymt5Re5v.net] インスタンス化がいまだにわからんねえな
625 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 19:36:07.69 ID:mmb+wRKL.net] $('.step-list').click(function(){ var index = $(this).index(); $('.step-list').removeClass('active'); $(this).addClass('active'); $('.explain').removeClass('active'); $('.explain').eq(ここ).addClass('active'); }); ここじゃないのん?
626 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 20:17:34.78 ID:6DkDY+/l.net] >>612 わけがわからない。配列中に男が見つかれば dangouに+1、女が見つかればjogouに+1したいという前提で、 class Danjo { public static void main(String[] args){ String[] n = {"男","男","女","男","女"}; int dangou = 0; int jogou = 0; for (int i=0; i<n.length; i++) { if(n[i].equals("男")) { ++dangou; System.out.println("男性:" + dangou); } else if(n[i].equals("女")) { ++jogou; System.out.println("女性:" + jogou); } } } }
627 名前:デフォルトの名無しさん [2015/09/15(火) 20:24:10.06 ID:gCyS4ICg.net] >>612 https://ideone.com/cdWkBk
628 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 20:28:50.51 ID:6DkDY+/l.net] int dangou = 0; //dangou++で使われてる。 int jogou = 0; //jogou++で使われてる。 int men = n.length; //5、ずっと5 int women = n.length; //5、ずっと5 for (int i=0; i<n.length; i++) { if(i == men){}else if(i == women){} //menだろうがwomenだろうが何もしていない。 //ループの回数だけ、以下の処理が行われてる。 System.out.println("男性:" + dangou); //1回目は男性:0 dangou++; //"男性:〜"を表示した後に+1してる。 System.out.println("女性:" + jogou); //1回目は女性:0 jogou++; //"女性:〜"を表示した後に+1してる。 }//forループ終わり
629 名前:デフォルトの名無しさん [2015/09/15(火) 22:09:22.99 ID:9izTs0Mt.net] Javaでサーボ制御って出来るの?
630 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 22:43:06.24 ID:3V0RbiNo.net] ケイオスは構成がヘタクソだけど、 シャロに比べれば各キャラのその場その場の行動はまあ理解できるんだよね
631 名前:デフォルトの名無しさん mailto:sage [2015/09/15(火) 23:15:27.68 ID:0UooUqqy.net] >>624 ロボット制御はできるよ、リアルタイムJavaもあるし
632 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 00:33:28.60 ID:2rbBdPp9.net] >>593 じゃあそういう関数は無いということですか 2. は、velocity(vmファイル)内で記載しているので、値は出力されます ただ、\nを置換しようとするとうまく行きません pageInfo.setPageTitle("abcde\nfghij"); ←Java $pageInfo.pageTitle.replace('a','b') → bbcde\nfghij $pageInfo.pageTitle.replace('\n','\r\n') → abcde\nfghij $pageInfo.pageTitle.replace('\n','\rn') → $pageInfo.pageTitle.replace('\n','\r\n') $pageInfo.pageTitle.replace(\n,\r\n) → $pageInfo.pageTitle.replace(\n,\r\n) >>595 javaではなくて、velocity内でやりたいのです
633 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 00:34:42.15 ID:2rbBdPp9.net] 返信ありがとうございます。 >>593 じゃあそういう関数は無いということですか 2. は、velocity(vmファイル)内で記載しているので、値は出力されます ただ、\nを置換しようとするとうまく行きません pageInfo.setPageTitle("abcde\nfghij"); ←Java $pageInfo.pageTitle.replace('a','b') → bbcde\nfghij $pageInfo.pageTitle.replace('\n','\r\n') → abcde\nfghij $pageInfo.pageTitle.replace('\n','\rn') → $pageInfo.pageTitle.replace('\n','\r\n') $pageInfo.pageTitle.replace(\n,\r\n) → $pageInfo.pageTitle.replace(\n,\r\n) >>595 javaではなくて、velocity内でやりたいのです
634 名前:593 mailto:sage [2015/09/16(水) 01:09:31.60 ID:53gFD3yJ.net] >>628 下半分は何が言いたいかわからないけど、a は b に replace できるのに改行文字は変換できないみたいってことね。 そもそもtitleに改行が入ってるとブラウザ上の表示(タブ?)はどうなるの? replaceメソッドのソースは見てみた?velocityのユーザーグループに聞いてもいいし。
635 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 07:02:02.61 ID:hNGXxUVW.net] >>628 velocity忘れちゃったけど\nってシングルクォーテーション内でも改行コードとして扱われるんだっけ? 普通は理由がなければダブルクォーテーション使うと思うんだけど。
636 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 08:58:45.31 ID:hQm/LCsG.net] >>621 >>622 ありがとうございます 参考にしてもう一回書いてみます
637 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 09:45:01.94 ID:XpDSc6d+.net] >>631 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34900&forum=12 ここに書いてあるね
638 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 09:46:26.46 ID:XpDSc6d+.net] >>631 www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34900&forum=12 ここに書いてあるね
639 名前:デフォルトの名無しさん [2015/09/16(水) 11:33:18.31 ID:3wc04D4s.net] ソニック速報は更新率を売りにしてるけどアルファルファには劣るやろ
640 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 11:43:07.86 ID:hQm/LCsG.net] 重ねて質問すいません >>621 のコードを実行すると 男性:1 男性:2 女性:1 男性:3 女性:2 となるんですが 合計値である 男性:3 女性:2 だけを表示させるにはどうしたらいいんでしょうか
641 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 12:05:30.71 ID:+GDlSzOv.net] JAVAの仕様で、合計だけまとめて表示することはできないのでほかの言語でやりましょう
642 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 12:16:07.33 ID:XpDSc6d+.net] >>635 手当たり次第にprint文書いて試してみたら
643 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 12:45:04.72 ID:olYwdYzo.net] 繰り返し実行するfor文の中にSystem.out.println()という出力するための文が書いてあるから 繰り返しただけ出力が実行されてるんだろ これをfor文の外に出せよ 根本的に頭が悪すぎるだろ プログラミングに向いてないんじゃないの
644 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 13:14:54.95 ID:hniOduwL.net] 猿なんだろ
645 名前:デフォルトの名無しさん [2015/09/16(水) 13:41:13.16 ID:hQm/LCsG.net] >>638 の指摘で無事解決できました ありがとうございます
646 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 14:39:27.87 ID:WFgkUoFD.net] >>640 いえいえどういたしまして。 またいつでも来てくださいね^^
647 名前:デフォルトの名無しさん [2015/09/16(水) 21:54:47.08 ID:qDuRZ+uu.net] ファクトリーメソッドとかでもいつも思うんだけど なんかの基本クラスとその派生クラスがあるとき、 基本クラスの中で 派生クラスを呼び出すのって 邪悪なこと? それともよくやるテクニック? これでいつも悩むので 誰かオレを導いてくれ・・・
648 名前:デフォルトの名無しさん mailto:sage [2015/09/16(水) 23:03:09.28 ID:9fL6Ueyi.net] 基本クラスの中で、派生クラスを呼び出すのは、あり得ない 普通、派生クラスの中で、基本クラスを呼び出す。 super(), base()など 普通、derived()なんて関数はない
649 名前:デフォルトの名無しさん [2015/09/17(木) 07:27:27.72 ID:6x6sM1Oz.net] Javaってそういうのだめなの? C++ではよくやるよ?
650 名前:デフォルトの名無しさん [2015/09/17(木) 07:33:39.83 ID:o/COYXih.net] >>642 class Animal { Animal createAnimal(String name) { if (name.equals("わんわん")) { return new Dog(); } } } class Dog extends Animal { } こういうやり方なら パラメータによるファクトリメソッドと呼ばれてるよ。 派生クラスでcreateAnimalを上書きすることできて 柔軟な実装だよ。
651 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 09:42:25.24 ID:6VOBLfbC.net] >>645 いいの? それ、いつも罪悪感があったんだけど、赦されるの?
652 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 11:19:54.86 ID:wKtEswkf.net] いいんだよ
653 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 11:41:28.76 ID:lTJfarla.net] >>645 こんなの絶対ダメ cresteAnimalはstaticメソッドなんだから派生クラスで上書き(override)なんて出来ないし、柔軟でも何でもない
654 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 11:47:03.57 ID:FXTJoMLp.net] ファクトリークラスを別に設けるのを書き損じたんだろ
655 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 12:19:45.02 ID:6VOBLfbC.net] >>649 やはり赦されないの? ファクトリーメソッドはファクトリークラスをいちいち作るべきなの?
656 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 13:02:58.84 ID:4os4lvOB.net] >>650 作ります
657 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 18:34:04.45 ID:n3PeWc41.net] 今こういう理解をしているんですが、間違いがあれば指摘していただけないでしょうか。 1.実行される順番は、staticイニシャライザ → インスタンスイニシャライザ → インスタンスコンストラクタ。 2.プリミティブ型とString型は定数プールに作られて、それを参照するためのアドレスがスタックに置かれる。 3.参照型はヒープに実体が作られて、それを参照する為のアドレスがスタックに置かれる。 4.Stringや参照型を比較する際、==では、実体を指しているアドレスの値が同じか比較。 equasでは、実体の持つ情報(文字列やプロパティの中身)が同じかどうか比較。
658 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 18:46:03.73 ID:FXTJoMLp.net] >String型は定数プールに作られて、それを参照するためのアドレスがスタックに置かれる。 何をわけのわからんこと言ってるんだおまいは
659 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 18:55:19.24 ID:n3PeWc41.net] >>653 すみません、 newしない場合は定数プールに、newした場合はヒープでいいんでしょうか。 わけのわかる段階を目指してる段階なので・・・・
660 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 19:18:04.59 ID:FXTJoMLp.net] >>654 定数プールなんてものは無い 定数はインターンのプールを使ってはいるけど
661 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 19:29:41.08 ID:n3PeWc41.net] インターンプールというのは構造体みたいなのでしょうか? 例えば、int a,b,cやString d,e,fという変数があれば、 int{ a=1,b=2,c=3, } String{ d="文字1"; e="文字2"; f="文字3"; } のように保存されていき、 new Integer(a)みたいにボクシングすると、ヒープに数値、スタックにヒープのアドレスが記録されるという感じですか?
662 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 19:33:43.31 ID:yBcFvURc.net] 仕様みると定数プールあるよ https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.4
663 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 20:11:50.31 ID:NGgNXWj0.net] public class A{ public static final String VALUE = "ABCD"; } public class B{ public static final String VAlUE = "ABCD"; } public class Main{ public static final String VALUE = "ABCD"; public static void main(String[] arg){ String value = "ABCD"; System.out.println(value == VALUE); // ? System.out.println(VAULE == A.VALUE); // ? System.out.println(A.VALUE == B.VALUE); //? } }
664 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 20:24:27.54 ID:n3PeWc41.net] >>658 この場合はVALUEは全部定数プール(=インターンプール?)で、文字列の値が同じなので、value/A.VALUE/B.VALUEは同じ場所を参照して、==だとtrueでいいんですよね? public class A{ public static final String val = new String("ABCD"); } ってすると、valはヒープに記録されるので、==ではfalse、equalsではtrueに。
665 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 20:36:49.59 ID:zGz+EkSN.net] イスタンブールが構造体に見えた
666 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 21:02:51.50 ID:5wmHlkvS.net] 医者の卵のプール
667 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 21:18:46.58 ID:n3PeWc41.net] C#の情報を見つけたんですが、このページでは、自分が定数プールの機能だと思っていた事を、インターンプールという言葉で説明されていました。 https://msdn.microsoft.com/ja-jp/library/system.string.intern(VS.80).aspx >共通言語ランタイムは、インターン プールと呼ばれるテーブルを保持することで文字列のストレージを管理しています。 >このテーブルには、プログラム内で宣言または作成された一意のリテラル文字列に対する単一の参照が含まれています。 >この結果として、特定の値を持つリテラル文字列のインスタンスは、システムに 1 つしか存在しません。 >たとえば、いくつかの変数に同じリテラル文字列を代入した場合、ランタイムはそのリテラル文字列に対する同じ参照をインターン プールから取得して、それぞれの変数に代入します。 はっきりした事が分かるまで、暫定で"定数プール=インターンプール"と考えることにします。
668 名前:デフォルトの名無しさん [2015/09/17(木) 21:56:28.73 ID:v9PnBNai.net] >>656 定数プールよりコンスタントプールが一般的な呼び名だね static final String で定義された値ってよりは文字列リテラルで定義されたStringがプールされる 文字列リテラルは”hoge”の様に指定されたStringオブジェクト、つまりはクラス内の既知の文字列ってこと あと、String#intern()をするとコンスタントプールに新たに登録できる
669 名前:デフォルトの名無しさん [2015/09/17(木) 22:27:03.83 ID:v9PnBNai.net] >>652 実行順序は正しい 補足するとstaticイニシャライザはstaticフィールド代入とstaticブロックに分かれるけど、この実行順序は定義順 static final int STATIC_FIELD = getStaticField(); static { System.out.println(“static block”); } private static int getStaticField() { System.out.println(“static field”); return 0; } ― 実行結果 ― static field static block ―――― インスタンスイニシャライザも同様にインスタンスフィールド代入とインスタンスブロックに分かれて、実行順は定義順
670 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:27:53.81 ID:n3PeWc41.net] >>663 ありがとうございます。 言語仕様やJVM仕様について勉強するのに良い書籍やサイトはないでしょうか? そこを勉強しないと、何しても自信も確信も持てないです・・・ (Javaにおけるスタックやコンスタントプールやインターンプールといった言葉で実体を想像し切れない) amazonで目次を見ても、コーディング上の文法とかパフォーマンスを説明する書籍ばかり多くて探しきれません。
671 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:34:31.78 ID:i9MevF4R.net] あんだろ、探せないようだとXXXXXXX
672 名前:デフォルトの名無しさん [2015/09/17(木) 22:44:56.42 ID:v9PnBNai.net] >>665 言語仕様 docs.oracle.com/javase/specs/jls/se8/html/index.html VM仕様 docs.oracle.com/javase/specs/jvms/se8/html/index.html 言語仕様はJava認定資格関連のテキストとかがいいんじゃないかな www.oracle.com/jp/education/certification/jse8-2489021-ja.html&intcmp=JPOUSPOTBAN3 VM仕様の日本語は古いですがこれしかないです goo.gl/fIW55h ただ、最新VM仕様との違いはそんなにないはず(オペコードにInvokeDynamicが追加されたくらい?)
673 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:47:30.98 ID:n3PeWc41.net] >>667 ありがとうございます。 公式は英語が苦手で敬遠してたんですが、やっぱり一番ですよね。 頑張って読んでみます。ありがとうございました。
674 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 22:55:48.94 ID:CfrPILTl.net] >>652 >4.Stringや参照型を比較する際、==では、実体を指しているアドレスの値が同じか比較。 equasでは、実体の持つ情報(文字列やプロパティの中身)が同じかどうか比較。 equalメソッドは「そのクラス同士の比較において『等しい』と定義される条件を満たしているか」をチェックするメソッドな 必ずしも全てのフィールドが等しい必要はないし、Objectで用意されたequalsメソッドは参照値比較しかしてないので 自作クラスの場合はequalsメソッドをオーバーライドしない限り==と同じ効果しかない 反射律対称律推移律を満たして整合性を取れており、nullと比較した時にfalseを返すならどのようにも定義できる その際はhashCodeのオーバーライドも忘れずに
675 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:11:01.20 ID:n3PeWc41.net] >>669 ありがとうございます。 >Objectで用意されたequalsメソッドは参照値比較しかしてない ということは、標準クラスライブラリに含まれる各クラスのequalsメソッドは、漏れなくObject.equalsメソッドをオーバーライドしているという事ですか。 条件についてもこれから言語仕様を読んでしっかり勉強します。
676 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:25:52.04 ID:UlH6iH3c.net] a = 'abc' b = 'abc' id(a) != id(b) オブジェクトIDが異なる Pythonでは、インターンを使わないと、同じ文字列でも、 別のオブジェクトが使われる場合がある ところがインターンを使うと、 必ず同じオブジェクトが使われる
677 名前:デフォルトの名無しさん mailto:sage [2015/09/17(木) 23:43:09.87 ID:UlH6iH3c.net] C#, Javaでも、Object型には、 Equals, GetHashCode, ToString の3つのメソッドを持つから、 これらのOverrideから始める Equalsでは最初に、オブジェクトIDで比較して、 同じならそこで即、returnする オブジェクトIDが異なる場合のみ、 文字列を1文字ずつ比較していく だから、インターンを使うと、 オブジェクトIDの比較のみで、 returnするので処理が速いのだろう (漏れの推測だが)
678 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 00:45:53.75 ID:WvjifrsL.net] >>670 基本的な知識がしっかりありそうだけど、今までどんな言語使ってたの?
679 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 10:16:49.58 ID:vjVVdCFj.net] 添え字の配列の内容を+1する方法教えて
680 名前:デフォルトの名無しさん [2015/09/18(金) 11:12:07.97 ID:HPIGM5T7.net] >>674 ++
681 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 12:54:21.77 ID:N0OkBH4h.net] for (i =0; i < arr.length; i++) { arr[i] = arr[i]++; }
682 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 12:55:58.63 ID:N0OkBH4h.net] 間違えた arr[i] += 1;
683 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 13:26:18.89 ID:vjVVdCFj.net] >>676 >>677 ありがとう
684 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 15:15:07.53 ID:vjVVdCFj.net] バケットソートについて詳しく載ってるサイトってない?
685 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 15:36:23.00 ID:WvjifrsL.net] >>679 wikipediaにまんまJavaのサンプルまで載ってる
686 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 15:57:39.95 ID:uQv9FdG+.net] 明解C言語 入門編を終え、JAVAに手を出してみようと思っています。 オススメの参考書やウェブサイトを教えてくださ。
687 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 16:34:28.11 ID:X5qIavLL.net] やさしいJava 高橋麻奈 Java言語プログラミングレッスン 上/下 結城浩 スッキリわかるJava入門 中山清喬 これらが鉄板 kのうちどれか一つを読むだけでよい
688 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 16:41:23.66 ID:nXiWoFV8.net] javaやってる人ってWebアプリ作ってるの?
689 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 16:53:21.04 ID:GOu/rXMl.net] 作ってるよ
690 名前:デフォルトの名無しさん mailto:sage [2015/09/18(金) 17:38:33.11 ID:DmkML1Ld.net] >>673 2001〜2002年頃、柴田望洋先生のC言語の本で勉強してました。 Javaは今週の月曜からやってます。
691 名前:スッキリ厨 mailto:sage [2015/09/19(土) 00:20:14.24 ID:njZddJ5V.net] >>681 この本でしっかりと、オブジェクト指向を学ぶ スッキリわかる Java入門 第2版、2014 以下のスレも見て 推薦図書/必読書のためのスレッド 77 ttp://peace.2ch.net/test/read.cgi/tech/1433427893/390
692 名前:デフォルトの名無しさん mailto:sage [2015/09/19(土) 14:35:22.81 ID:c6kn+dRM.net] >>682 >>686 ありがとうございます! 質問なのですが、最新版を買うメリットはあるのでしょうか? それぞれ前の版が中古でかなり安くなっているので…
693 名前:デフォルトの名無しさん [2015/09/20(日) 19:02:57.73 ID:zBtnypie.net] javaの本をよんで、適当なandroidアプリを作成し 現場に入って6ヶ月で周りの現場の人と同じコードがかけないからやれる作業が少ない 普通何ヶ月で書けるようになるものなんですか
694 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 19:11:03.81 ID:E+W5aSdn.net] 普通は7ヶ月目に入ったとき突然書けるようになるよ とか言っておけば満足してくれるかな?
695 名前:デフォルトの名無しさん [2015/09/20(日) 19:19:00.32 ID:UYQtClXz.net] なんだコイツ。 頭おかしいんじゃねーのか? 満足してくれるかな?だってよ。
696 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 19:19:57.36 ID:E+W5aSdn.net] うるせえよ氏ね
697 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 19:39:54.02 ID:B38jiRQG.net] >>690 はたった今 氏んだよ これで満足してくれるかな?
698 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 19:42:28.82 ID:E+W5aSdn.net] うん
699 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 20:10:38.78 ID:b8x7+B6S.net] あ
700 名前:デフォルトの名無しさん mailto:sage [2015/09/20(日) 21:13:56.64 ID:V6MaWgnu.net] >>688 周りと自分で何が違うかよーーーく観察したらええ