Java入門・初心者質問スレ [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/05/12(木) 05:18:33.40ID:nzHoBPh80266デフォルトの名無しさん
2016/06/26(日) 12:52:19.73ID:45Dp827Y将来的にはアンドロイドのアプリや趣味でPC上で動く横スクアクションのゲームとか作ってみたいなと思ってる
だけど今はもっとjavaの知識を深めたい気持ちが高い
調べたらEFFECTIVE JAVAがいいみたいなサイトをよく見るけどどうなのかな?
これを読んでない奴はJavaプログラマとしてモグリとか使えないという記述をよく見かける
0267デフォルトの名無しさん
2016/06/26(日) 13:01:06.76ID:Fq1EvZdf言っていることの意味がよくわからんのだが、String s = "123"; int n = (int) s; と書けるということ?
今の Java ってそこまでやってくれるようになったの?
0268デフォルトの名無しさん
2016/06/26(日) 13:14:25.36ID:Fq1EvZdf0269デフォルトの名無しさん
2016/06/26(日) 13:26:11.52ID:wMYGyLfwhttp://docs.oracle.com/javase/specs/jls/se8/jls8.pdf
http://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf
これらは背伸びしても無駄にならない
0270デフォルトの名無しさん
2016/06/26(日) 13:35:21.62ID:45Dp827Yありがとうございます!
んほおぉ英語ぉ!
英語ほとんどわからないけどやっぱ英語できるようになったほうがいいんだろうな
おすすめ本とかでも洋書あげてるの結構見るし
0271デフォルトの名無しさん
2016/06/26(日) 15:30:30.27ID:JEZlx75Jゲームを作ることと、プログラミング言語の習得は、目的が異なるので勘違いしないように。
0272デフォルトの名無しさん
2016/06/26(日) 15:32:19.18ID:JEZlx75Jキャストというとずばりキャスト構文だと思うわけか。
私が言ったのは型変換。
0273デフォルトの名無しさん
2016/06/26(日) 15:51:13.76ID:Fq1EvZdf>>264と同一人物?
キャストと言ったら形変換だが? 何か用語の定義がおかしくないか?
君は実際どういう風に書いたのを型変換と呼んでいるんだ?
0274デフォルトの名無しさん
2016/06/26(日) 16:23:52.43ID:JEZlx75J型変換がキャスト式とはかぎらない。
0275デフォルトの名無しさん
2016/06/26(日) 17:00:56.77ID:UB82q4A+だったらどういうコードなのか書いて示せよ
0276デフォルトの名無しさん
2016/06/26(日) 19:20:32.78ID:FUFUwvmK良書だけど
ちょい難しいかも
普通にアンドロイドアプリの
作り方の本とか買って
小物作ってみてもいいよ
0277デフォルトの名無しさん
2016/06/26(日) 20:00:08.94ID:AN/Vw1H/言語仕様書を読むとか
0278デフォルトの名無しさん
2016/06/26(日) 20:36:23.66ID:qGDMHb1oゲーム作るなら余計なオブジェクト生成をなるべく避けるべしみたいな所は立読みしておいて損は無いと思う
まぁゲーム作りの本にも出てるかもだけど
0279デフォルトの名無しさん
2016/06/26(日) 21:22:46.16ID:45Dp827Yはい!
>>276
なるほどー確かに中級者以上的なことも書いてありました
モチベ維持のためにもそうしてみます
>>277
これから長くjava使っていくならそういうのも読んだほうがいいんですかね
>>278
調べたら近くの本屋に置いてるみたいなんで立ち読みしてみます
どうもありがとうございました!
0280デフォルトの名無しさん
2016/06/26(日) 21:46:07.67ID:9YyM53VL0281デフォルトの名無しさん
2016/06/26(日) 22:31:22.13ID:0+Or/a+eまあプログラミング一年生にまでやめろとは言わん
0282デフォルトの名無しさん
2016/06/26(日) 23:03:16.34ID:yAtATLvzJava 最強リファレンス、田中裕一、2014
実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014
JavaFX GUIプログラミング [Vol.1]、大村忠史、2012
スッキリわかる サーブレット&JSP入門
プログラミング GROOVY、2011
SQL, DBの本
0283デフォルトの名無しさん
2016/06/26(日) 23:48:53.59ID:FUFUwvmK今こそJavaは大アリだろ
アンドロイドアプリで
Xamarinに期待して
C#でもいいけど
0284デフォルトの名無しさん
2016/06/27(月) 00:42:46.54ID:+vyCfN5E最近の若いやつって画像を表示するところから作らないからゲームプログラミングの話をすると噛み合わないよな。
0285デフォルトの名無しさん
2016/06/27(月) 10:17:26.02ID:85mOU5HS0286デフォルトの名無しさん
2016/06/27(月) 19:48:13.28ID:NkkqwDMhエクリプスのエンコードはutf-8でデフォルトになってると思うのですがこれが普通なのでしょうか?
というのも最近エクリプスを使い始めて書いたソースをふとコマンドプロンプトでコンパイルしたらエラーがでてしまって
調べたら文字コードの問題で-encodingコマンドを使ったら実行できたのですが
どうして普通にコンパイルできる文字コードがデフォルトじゃないのかなと気になってしまって
実は最初にエクリプスのエンコード設定で別のにするのが当たり前だったりするのでしょうか?
0287デフォルトの名無しさん
2016/06/27(月) 19:54:37.74ID:+vyCfN5EWindowsはまだ表面上はSJISです。
0288デフォルトの名無しさん
2016/06/27(月) 20:26:40.92ID:NkkqwDMhということはエクリプスでエンコード設定でSJISに設定していたほうが都合がいいということでしょうか?
0289デフォルトの名無しさん
2016/06/27(月) 20:32:57.06ID:wojXk3HkプロジェクトのプロパティのResourceで変更
文字コード以外にも改行が\nか\r\nかで違う、これも見落しやすい
0290デフォルトの名無しさん
2016/06/27(月) 20:34:39.21ID:+vyCfN5Eソースコードをコマンドプロンプトでコンパイルしたいのならそうなります。
0291デフォルトの名無しさん
2016/06/27(月) 20:48:44.20ID:NkkqwDMh>>290
なるほどスッキリしました
どうもありがとうございました
0292デフォルトの名無しさん
2016/06/28(火) 02:07:46.93ID:IQWCuxBm0293デフォルトの名無しさん
2016/06/28(火) 12:50:26.37ID:4sSl9cCNJenkins, Gradle などを使うと、インターネット上のサーバーにも、
アクセスするだろうし、UTF-8が必須
0294デフォルトの名無しさん
2016/06/28(火) 12:57:23.51ID:c2QodO+5でUTF-8にできなくはないが動作の保証はされていない
というかまともに動かない
0295デフォルトの名無しさん
2016/06/28(火) 16:12:25.82ID:zVyoUqTb"Feb"→2
"Mar"→3
という感じでJavaで英語の月名3文字を数字に変える簡単な方法ありませんかね
if elseと配列以外でやりたいんですが
0296デフォルトの名無しさん
2016/06/28(火) 16:20:17.71ID:fkMcptl6switchは?
質問
InetAddress.getLocalHostやsocket.getInetAddressで得られるIPアドレスと
コンピュータのシステムで表示されるIPv4が一致しないんだけどどっちが正しいの?
同じパソコン内なら得られたやつで通信できるんだけど端末違うとどっちもできない
0297デフォルトの名無しさん
2016/06/28(火) 16:29:48.96ID:zVyoUqTbすみません、switchも無しですね
出来るだけ短くできる方法を探しています
0298デフォルトの名無しさん
2016/06/28(火) 16:55:53.11ID:oSSei7yCMapか三項演算子の羅列でも使ってればいいんじゃね
結局短く書きたいっていう意図が分からないわ
0299デフォルトの名無しさん
2016/06/28(火) 17:02:50.51ID:iF4vz2O7Map<String, Integer> m = new HashMap<>();
m.put("Jan", new Integer(1));
int value = m.get("Jan").intValue();
0300デフォルトの名無しさん
2016/06/28(火) 17:10:37.05ID:iF4vz2O7List<String> list = Arrays.asList("Jan", "Feb", "Mar");
value = list.indexOf("Jan") + 1;
0301デフォルトの名無しさん
2016/06/28(火) 17:47:19.51ID:842o8d8cお。スマートな感じ。
0302デフォルトの名無しさん
2016/06/28(火) 20:35:55.41ID:Io4u4DLHSimpleDateFormatでもいけるぞ
https://ideone.com/Q8X3IT
0303デフォルトの名無しさん
2016/06/28(火) 20:42:31.79ID:D5fDe1MV0304デフォルトの名無しさん
2016/06/28(火) 22:19:53.55ID:MoJvcG+3�@シンプルにコーディングしてシンプルなコメントを書く
�Aコーディングを1行でも減らそうとしてあまり馴染みのない書き方や関数を使って、それを解説するコメント行数が多い
仕様(テスト問題?)にもよるんだろうが、結果が同じなら�@がいいんでない?
0305デフォルトの名無しさん
2016/06/28(火) 22:20:21.95ID:jKjX+7cAp.371の練習問題の�A D)が次ページの解答例に反映されてないっぽいんだが、
「名前を指定しない場合にはインスタンス化することはできないものとします」
これどういうコードになるの?
Cleric() {}じゃだめだよね?
0306デフォルトの名無しさん
2016/06/28(火) 22:24:43.86ID:jKjX+7cACleric() {}は書いちゃいけないんだね。
そしたら引数ありのコンストラクタだけになるから引数が空の状態で
コンストラクタ読んだらコンパイルエラーになる。
こういう意味と理解した。
0307デフォルトの名無しさん
2016/06/28(火) 23:43:50.77ID:1vh+IkvQコンストラクタをいっさい書かないと、コンパイラが引数なし、処理なしのコンストラクタを追加する。
コンストラクタを明示的に書くと上記のようなコンストラクタは追加されない。
0308デフォルトの名無しさん
2016/06/28(火) 23:51:59.70ID:jKjX+7cAそれそれ。さっきスッキリJava読み返して覚えたよ。
最初、引数なしのコンストラクタ呼んだら(new xx()ね)nullでも
返ってくるのかと勝手に思い込んでいた。
0309デフォルトの名無しさん
2016/06/29(水) 00:26:13.22ID:rvkEi9NhJavaの資格本を読むといいよ。
0310デフォルトの名無しさん
2016/06/29(水) 01:34:02.25ID:CJ/0Quwmご意見色々と本当にありがとうございました。
0311デフォルトの名無しさん
2016/06/29(水) 02:23:50.85ID:0b8SONCPステマ臭くて見てられない
0312デフォルトの名無しさん
2016/06/29(水) 11:00:47.75ID:yKd8KiFI0313デフォルトの名無しさん
2016/06/29(水) 12:10:53.42ID:rvkEi9Nh初めがJavaって教育上、よくないかもしれない。
0314デフォルトの名無しさん
2016/06/29(水) 12:23:46.97ID:ynfIfoaYそれは必要な遠回りなんだよ
0315デフォルトの名無しさん
2016/06/29(水) 13:39:39.63ID:Hg0Bm2HH現状では、スッキリJavaしか無い
他の本では、説明が少ないか、難しい
高くジャンプしたけりゃ、逆に、かがみ込まなければならない。
急がば回れ
0316デフォルトの名無しさん
2016/06/29(水) 14:31:38.78ID:3P5K1ayEいや一概に間違っていないか....
0317デフォルトの名無しさん
2016/06/29(水) 16:32:30.16ID:Hg0Bm2HHスッキリで、出来るようになった人々の声
「スッキリで勉強したら、C#もすごくよくわかりますた」
「僕もスッキリやったら、C++も出来るようになって、ビックリ!」
「スッキリで、ゲーム制作に自信が持てますた」
など続々と、お祝いの言葉が届いております
0318デフォルトの名無しさん
2016/06/29(水) 17:19:39.91ID:1Y4TFFS30319デフォルトの名無しさん
2016/06/29(水) 22:04:26.62ID:UoeUIFRO0320デフォルトの名無しさん
2016/06/29(水) 23:19:02.98ID:tIZAdZda0321デフォルトの名無しさん
2016/06/29(水) 23:38:44.09ID:rvkEi9Nh構文エラーがどこなのか、はっきり示してくれるし。
他の言語や古い言語だと、とんでもないところが間違っていると出てくるから、そういう環境の方が勉強になると思う。
0322デフォルトの名無しさん
2016/06/29(水) 23:49:32.26ID:tIZAdZda0323デフォルトの名無しさん
2016/06/30(木) 00:22:13.71ID:Apg59XEJいまだってスクリプト言語は構文がおかしくても実行してみないとわからないけどな。
0324デフォルトの名無しさん
2016/06/30(木) 00:40:10.38ID:LNAC9DQC//ここでセミコロンを打つと何故かコンパイルが通る
昔のコンパイラでよくあったこと
0325デフォルトの名無しさん
2016/06/30(木) 00:45:51.01ID:Apg59XEJそんなのねえよ。
0326デフォルトの名無しさん
2016/06/30(木) 00:47:38.42ID:Apg59XEJ0327デフォルトの名無しさん
2016/06/30(木) 01:01:38.50ID:LNAC9DQC構文解析のバグは多かったよほんと
0328デフォルトの名無しさん
2016/06/30(木) 01:13:16.73ID:Apg59XEJ0329デフォルトの名無しさん
2016/06/30(木) 01:14:52.91ID:mTfAiRzU1973年には既にリッチー本人がコンパイラ作ってたようだけど
0330デフォルトの名無しさん
2016/06/30(木) 01:31:54.63ID:5tmD9Bik0331デフォルトの名無しさん
2016/06/30(木) 01:38:40.75ID:Apg59XEJ昔のパソコン用の話じゃないの?
情報が共有されてないから、出来の悪いコンパイラはあったと思うよ。
C言語のコンパイラ規格ってあるのかな?
0332デフォルトの名無しさん
2016/06/30(木) 01:43:14.08ID:Apg59XEJ0333デフォルトの名無しさん
2016/06/30(木) 01:45:34.66ID:nuMRfLhn0334デフォルトの名無しさん
2016/06/30(木) 01:50:31.78ID:Apg59XEJそうじゃなくてどういうマシン語にするかだよ。
本家を基準にしてるのかな。
0335デフォルトの名無しさん
2016/06/30(木) 01:56:47.21ID:nuMRfLhn0336デフォルトの名無しさん
2016/06/30(木) 02:01:44.97ID:zGuy18cm0337デフォルトの名無しさん
2016/06/30(木) 02:10:13.73ID:Z6gb9kCv0338デフォルトの名無しさん
2016/06/30(木) 08:43:46.47ID:bSccWkK0構文・意味解析なら規格がある
バイナリ生成に関しては無い
リンク時のABIでデファクトと互換性をもたせるかどうかという程度
プリプロセッサも、う〜ん…
0339デフォルトの名無しさん
2016/06/30(木) 09:13:00.96ID:Apg59XEJだからこういうマシン語になるんだみたいな話はやっぱりしない方がいいってことだな。
0340デフォルトの名無しさん
2016/06/30(木) 15:43:58.54ID:oYnfb6yX0341デフォルトの名無しさん
2016/06/30(木) 16:16:42.40ID:8IMpbPEW0342デフォルトの名無しさん
2016/06/30(木) 20:24:54.31ID:rMlxImT8普通のCPUが機能追加されアップグレードすることがあるように今後言語の拡張に併せて仮想マシンが拡張される可能性はある。
0343デフォルトの名無しさん
2016/06/30(木) 20:32:44.32ID:/XySBwDr最速になるんじゃないの?
0344デフォルトの名無しさん
2016/06/30(木) 20:56:41.49ID:bMW7pQBg0345デフォルトの名無しさん
2016/07/01(金) 01:03:59.82ID:p6Mcs4OD0346デフォルトの名無しさん
2016/07/01(金) 01:15:34.33ID:ZThLUTOM0347デフォルトの名無しさん
2016/07/01(金) 02:00:44.25ID:nN7ID4Tmコメントだから、文字コードを指定しなくても、日本語を使っても、大丈夫と過信したのかも
日本語は3バイト文字になって、次の改行が1文字だと、合わせて4バイトになる
それを、2バイトずつ処理すると、割り切れるから、
改行が消えて、文が続き、誤動作する
基本的に開発では、日本語を使ったらダメ。
外人は日本語でテストしていないから
0348デフォルトの名無しさん
2016/07/01(金) 02:45:05.61ID:fBj5CWQI0349デフォルトの名無しさん
2016/07/01(金) 02:46:17.67ID:fBj5CWQI0350デフォルトの名無しさん
2016/07/01(金) 06:02:54.46ID:nN7ID4Tm元の文字コードのまま、コンパイルしたのかも
0351デフォルトの名無しさん
2016/07/01(金) 10:26:35.32ID:CKWFVnx8それってもはやJavaしか動かないOS
0352デフォルトの名無しさん
2016/07/01(金) 10:29:32.19ID:CKWFVnx80353デフォルトの名無しさん
2016/07/01(金) 11:53:13.46ID:yW2x5Hx7なんで止めちゃったんだっけ?儲かりそうにないから?
0354デフォルトの名無しさん
2016/07/01(金) 11:54:37.10ID:yW2x5Hx7そう。
そしてサロゲートペアに悩まされると。
0355デフォルトの名無しさん
2016/07/01(金) 12:03:34.96ID:CKWFVnx8もしそんな特化したハードウェアを作ってたら、すぐサンマイクロシステムズは破綻しただろうな。
そんなにお馬鹿ではなかったようだけど。
そもそもそんな変なことを言うのはサンの一部の馬鹿だろ。
いまのハードウェアは仮想化してマルチOSか、パソコンの延長線上のもの。
現在だとx86、x64系に勝つハードウェアを作ってシェアが獲得できるわけがない。
オラクル社は現実的なのでこういう無駄な金はかけない。
0356デフォルトの名無しさん
2016/07/01(金) 12:04:37.49ID:Jlx4pT850357デフォルトの名無しさん
2016/07/01(金) 12:10:38.39ID:CKWFVnx8Javaを作った当時はUTF-16の方が良いと思ったんだろうけど、結果はUTF-8を標準する方向に動いてしまった。
もともと日本等の2バイト文字圏では16は漢字が2バイトでは収まらないので不都合だと当初から言われていたが、やっぱりダメでUTF-8がスタンダードになってる。
0358デフォルトの名無しさん
2016/07/01(金) 12:28:25.84ID:U95fC87KJavaが登場してから8までに追加されたオペコードの数を知ってるかい?
JVMで動く言語(GroovyやScala)のために追加されたinvokedynamicだけしか拡張されてない。
オペコードの追加は今後もほとんど行われないでと思うよ
>>343
https://ja.wikipedia.org/wiki/ARM%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3#Jazelle
オペコードを実行する石はARM以外にもあるけど代表例として
0359デフォルトの名無しさん
2016/07/01(金) 13:28:28.65ID:yW2x5Hx7内部がUTF-16に都合がいいようにcharが16ビットになってるだけだよ。内部的にはUTF-8は扱いづらいから使われない。
しかしUnicode自体が16ビットで収まらなくなった。
0360デフォルトの名無しさん
2016/07/01(金) 13:30:43.02ID:yW2x5Hx7Sunは元々ワークステーションやサーバに特化したCPU作っていたと思うが。
まあ、後半はPCサーバに押されていたわけだが。
0361デフォルトの名無しさん
2016/07/01(金) 13:32:26.48ID:CKWFVnx8SJISとか2バイト文字圏の文字コードと対応しやすいからでしょ。
Windowsだって内部がUTF-16なのはSJIS等に引っ張られてるからだと思うしね。
0362デフォルトの名無しさん
2016/07/01(金) 13:35:07.54ID:CKWFVnx8SPARCとJavaはほとんど関係ないんじゃない?
Windows、Linuxに対処するためにJavaを作った側面もあると思うし。
0363デフォルトの名無しさん
2016/07/01(金) 13:47:59.88ID:Jlx4pT85それ採用したの20年以上前ですしおすし
0364デフォルトの名無しさん
2016/07/01(金) 21:38:49.44ID:O26pV+HmJavaは最初は家電制御用に使おうとしていたって話を聞いたことあるぞ。
0365デフォルトの名無しさん
2016/07/01(金) 21:57:02.41ID:l06M3c9jビルドしなくてはならなくなって困っています。
具体的には
https://github.com/kohlschutter/boilerpipe
をビルドしようとしています。
Debian jessie(amd64とx86)の環境でビルドしようとしていて、
とりあえずamd64のほうで
git clone https://github.com/kohlschutter/boilerpipe
cd boilerpipe
mvn package
としたら "BUILD SUCCESS" となって jar ファイルなるものができるのですが
cd boilerpipe-common/target
java -jar boilerpipe-common-2.0-SNAPSHOT.jar
などとしてみても
「boilerpipe-common-2.0-SNAPSHOT.jarにメイン・マニフェスト属性がありません」
と出てしまいます。
調べてみて
http://stackoverflow.com/questions/9689793/cant-execute-jar-file-no-main-manifest-attribute
を参考に pom.xml をいじってみましたがそもそもどこに挿入したら良いのかも
<mainClass>com.mypackage.MyClass</mainClass>
の部分をどう修正したらいいかもわからず、
<mainClass>com.kohlschutter.boilerpipe</mainClass>
などとやみくもにアレコレやってみましたが状況は変わっていません。
0366デフォルトの名無しさん
2016/07/01(金) 22:03:53.52ID:mc0aB7jHそれただのライブラリだからMainクラスは自分で作るんだよ
以下のUsage参照
https://code.google.com/archive/p/boilerpipe/wikis/QuickStart.wiki
■ このスレッドは過去ログ倉庫に格納されています