Java入門・初心者質問スレ [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/05/12(木) 05:18:33.40ID:nzHoBPh80083デフォルトの名無しさん
2016/06/11(土) 10:53:40.26ID:igPKgwcRあまりにも短くて簡単なサンプルプログラムだとあるかもな。まあ、著者がどういう人かにもよるだろうけど。
0084デフォルトの名無しさん
2016/06/11(土) 13:19:09.25ID:ppFl8ALU0085デフォルトの名無しさん
2016/06/11(土) 16:09:28.63ID:Z8akOUlBありがとうございます。
run()メソッドとsetText()メソッドの2つのメソッドでtextを使用するのだから、共通で定義したいためこの位置で定義してる。
ということは、
例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるからrun()の書いてあるclass全部を読み込んでいる
という理解でいいですか?
追加質問ですみません
この場合に、run()以外のメソッドが複数あったとして、そのrun()以外のメソッドでのみ使用する変数をこの位置に宣言すると、
run()メソッドを実行するステップでは無駄にヒープ食っちゃうってこと?ですよね。
0086デフォルトの名無しさん
2016/06/11(土) 17:45:22.19ID:8E7fVOdNJavaの場合、参照型の変数をメソッドやコンストラクタの引数として渡した場合、参照先が渡される
なので、
readerThread.start();
で実行されるのは、readerインスタンスのrun()メソッド
Thread readerThread = new Thread(reader);
いくらReadlmpクラスが大きくても、↑で使われるヒープ領域の大きさは変わらない
参照の話があいまいなら、スッキリの入門は役に立つと思う
0087デフォルトの名無しさん
2016/06/12(日) 06:24:35.36ID:jEWcwNCzまだjavaどころかプログラミング自体初心者なんですが・・・
スッキリ分かるjava入門 ← これは読みました
スッキリ分かるjava実践編
スッキリ分かるSQL入門
スッキリ分かるサーブレット&JSP編
0088デフォルトの名無しさん
2016/06/12(日) 06:55:00.43ID:E6s9UVRTGUI作るならJavaFXの書籍でも買ったら?
WebならSpringBootとかが簡単。
0089デフォルトの名無しさん
2016/06/12(日) 07:07:57.13ID:jEWcwNCzただプログラミング関してはスッキリ分かるjava入門しか読んだことがないくらいの初心者なので
難しいとこに一気に行かないで凄い簡単なところから押さえていきたいと思ってます
0090デフォルトの名無しさん
2016/06/12(日) 07:18:20.29ID:jEWcwNCzhttp://libro.tuyano.com/index2?id=8356003という入門サイトを見つけたのですが
最初から難解すぎて無理でした
やっぱりもっと難易度の低いことからやっていきたいんですがどうすればいいですかね?
0091デフォルトの名無しさん
2016/06/12(日) 07:29:40.94ID:E6s9UVRTスッキリ分かるjava入門をちゃんと理解していればわかるレベルだと思うけれど・・・。
もう一度読み直すことをおすすめする。
分からないようなら別の入門書を買うと良いかな。
0092デフォルトの名無しさん
2016/06/12(日) 07:32:13.73ID:iLaG31hG0093デフォルトの名無しさん
2016/06/12(日) 07:54:15.23ID:jEWcwNCz本当ですか
でもnew TextField()こういう書き方は自分の読んだ本では習ってないですし
text field ts = new textfield() 自分が習ったのは今のとここういう書き方だけなので
やってないことがいきなり説明なしで出てくるのは入門者にはきついなーと。
でも読み直してみますね
>>92
PC向けのアプリを作れるようになりたいです
もう一冊なんかjava入門署買った方がいいですかね?
0094デフォルトの名無しさん
2016/06/12(日) 09:52:43.64ID:t/75fpdtよくソース嫁
ちゃんとfield = new TextField()になってるから
0095デフォルトの名無しさん
2016/06/12(日) 18:31:57.63ID:0Tx3x2++何か問題集みたいのやってからjavafxやってみます。ありがとうございます。
0096デフォルトの名無しさん
2016/06/12(日) 20:39:25.19ID:nE4rQ5a5/ \
【検索した?】 NO → なら、ねぇんだろ。死ね。
\
NO → ググれカス
0097デフォルトの名無しさん
2016/06/12(日) 22:59:55.02ID:M5SgNxqb嫌なら見なければいいんじゃね
0098デフォルトの名無しさん
2016/06/13(月) 01:06:10.78ID:wz/IwBiJ本当に嫌なら見なければいいだけ
0099デフォルトの名無しさん
2016/06/13(月) 23:56:41.17ID:MswW6dFx先程、スッキリJavaの6章までは、理解しにくい箇所もなくあっさりと読めました。7章からがオブジェクト指向関連みたいです。
うんーん >>85 で書き込んだ
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
これがまだしっくりこない。
writerThread.start();で呼ばれるのがrun()の中身と解説あるのに・・・うーん
今後、勉強を進めていったら納得できるのだろうか。
スレッドに関しては、今の本には載ってないとの御指摘がありましたので、
スッキリ分かるjava実践編 ポチってきますわ
0100デフォルトの名無しさん
2016/06/14(火) 02:03:19.71ID:BG5MvUh2メモリ配置と密接なC言語とかを多少触ってみるのもいいかも知れないね
0101デフォルトの名無しさん
2016/06/14(火) 06:50:12.56ID:OkjQ5JpNオブジェクトの部分で躓いてるようなので、スレッド抜きに考えてみる
Readlmp reader = new Readlmp();
Writerlmp writer = new Writerlmp();
reader.run();
writer.setText((reader.getText());
writer.run();
main()メソッドの一部抜粋で、スレッド抜きにするとこんな感じ
インスタンス化すると、ヒープ領域にclassのコピーが作られる(staticメンバ以外)
そのコピー(reader,writerインスタンス)のrun()メソッドが実行される
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
スレッドのインスタンスを生成するときに、reader,writerを引数に渡している
つまり、あらかじめ作ったclass全部のコピーを渡しているということ(正確にはコピーの参照先)
それでスレッドは、reader,writerインスタンスのrun()メソッドを実行している
スレッドの生成をしたときにclass全部を詠み込むのか?
この質問だと、順序が逆で
class全部を詠み込んだもの(インスタンス)を使って、スレッドを生成をしている、ということ
6章までこのペースで理解できてるって、かなり早い
実践編の方は、オブジェクトを使いこなす方法がかかれているから、この辺の事も理解が深まるかもしれない
0102デフォルトの名無しさん
2016/06/14(火) 06:54:37.25ID:lIuNMU+7interfaceとabstractの使い分けと違いがよく分かりません。
どういう風に使い分ければいいんでしょうか?
0103デフォルトの名無しさん
2016/06/14(火) 08:24:35.05ID:ezeB3LKI強調したいなら使ってもいいことになっている
0104デフォルトの名無しさん
2016/06/14(火) 08:37:29.57ID:lIuNMU+7すいません、言葉足らずでした
abstractクラスとinterfaceのクラスの違いです
どっちも似たようなものだと思うのですが、どう使い分ければいいですか?
0105デフォルトの名無しさん
2016/06/14(火) 08:37:37.88ID:BcKyLCvcツール作りなら、まずスッキリJavaで、オブジェクト指向を学ぶ
その後、この2冊を順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版
これでひとまず基礎ができるから、その後、JavaFX・C#・VB など、進路を決めればいい
>>102
interfaceは継承と関係ない。お手軽な機能付加。
ダックタイピング。何でもアヒルのように鳴くものは、アヒルでいい
abstractは継承の親クラスで、それ自体は実体化しないもの。
概念だけの親クラス
例えば、3角形・4角形・円クラスが実体化できるとき、
親クラスに実体化できない、図形クラスを作り、そこに図形の共通概念を、持たせる
0106デフォルトの名無しさん
2016/06/14(火) 09:30:09.41ID:w21XDQC+0107デフォルトの名無しさん
2016/06/14(火) 09:30:37.41ID:w21XDQC+0108デフォルトの名無しさん
2016/06/14(火) 10:01:04.02ID:lIuNMU+7あ、関係ないものなんですね。どっちも抽象的な物で使い方も一緒で違いが分からずもやもやしてました
ありがとうございます
0109デフォルトの名無しさん
2016/06/14(火) 10:08:10.94ID:YK2fMq3Iインターフェイスは状態の保持はできない(static finalで共通のは持たせることはできるが)
あとメソッドのアクセス修飾子もpublicのみだし
0110デフォルトの名無しさん
2016/06/14(火) 13:59:47.46ID:BcKyLCvcinterface : has-a は機能・部品を持つ。ダックタイピング
継承は、車・消防車、哺乳類・人間みたいな関係
interfaceは、無関係な機能を組み合わせたもの。
冷蔵庫や携帯電話に、インターネットできる画面を付けたなど
0111デフォルトの名無しさん
2016/06/14(火) 14:27:20.53ID:YK2fMq3Iまずそれぞれ実装時に何が出来るかだけでいいんじゃないか
0112デフォルトの名無しさん
2016/06/14(火) 15:45:01.46ID:SkK7ctA30113デフォルトの名無しさん
2016/06/14(火) 15:51:31.26ID:SkK7ctA3Java実装はC++に機械的な変換を出来るように書かれているが、NOCPPという
キーワードでくくって、C++で必要ない部分が削除されるようになっている。
Javaはオブジェクト志向に特化しすぎたせいで、非常に冗長な記述を必要とする。
Javascript実装は仕様通りに冗長さのないコードとなっている。
しかしおそらくバグのないコードを書くのは困難だろう。
C++が一番書きやすそうに見えるが、しかし覚える事柄もまた一番多いだろう。
0114デフォルトの名無しさん
2016/06/14(火) 20:47:19.11ID:k/dxUxLzあ、そーか。そうだね。
0115デフォルトの名無しさん
2016/06/14(火) 21:54:08.96ID:+YH//64E>>101
>例題ではスレッドでの呼び出しをした時、run()メソッドの中身を実行するのだけど、外で定義しているのもあるから
>run()の書いてあるclass全部を読み込んでいる という理解でいいですか?
Readlmp reader = new Readlmp();
これはReadlmpクラスをテンプレにしたreader(ここでは単なるクラス変数名)を定義。
Readlmpクラスのコンストラクタを引数なし呼び出して、インスタンスを作成してreaderと命名。
この時点で、Readlmpクラスはまるっと読み込んでますね。
後からディスパッチするrun()の時点では、Readlmpクラスまるっと読み込み済みのインスタンスを使ってるんですね。
少しずつ理解出来てきたような気がします。
皆々様、有難うございます。
0116デフォルトの名無しさん
2016/06/15(水) 22:22:36.18ID:ornso/cN1. public class Test{
2. final int a;
3. Test(int b){a = b;}
4. void method(int c){a = c;}
5. public static void main(String[] args){
6. Test t = new Test(10);
7. t.method(20);
8. System.out.println(t.a);
9. }
10. }
上記のコードで2行目の変数aがfinalで修飾されているため定数になっていることはわかりました。
そして3行目で変数bを定数aに代入しようとしているためコンパイルエラーとなると判断しました。
しかし、解説では「このコードでは宣言時に初期化していませんが、コンストラクタを使用して初期化しているため問題ありません。4行目のmethod()によって値の変更を行おうとしているため、4行目でコンパイルエラーとなります」となっていました。
なぜ、3行目ではコンパイルエラーとならないのでしょうか?回答よろしくお願いいたします。
0117デフォルトの名無しさん
2016/06/15(水) 22:37:42.91ID:ornso/cN自己解決しました。
2行目では変数宣言しただけで初期値の代入を行っておらず、3行目で初期値の代入を行っているため、値を変更しようとしている訳ではないということですね。
低レベルな質問をしてしまいすみませんでした。
0118VHR12JC10V1
2016/06/16(木) 00:52:55.40ID:0zEDpCjN復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]
12301866845301177551304949583849627207728535695953347921973224521517264005
07263657518745202199786469389956474942774063845925192557326303453731548268
50791702612214291346167042921431160222124047927473779408066535141959745985
6902143413
=
33478071698956898786044169848212690817704794983713768568912431388982883793
878002287614711652531743087737814467999489
X
36746043666799590428244633799627952632279158164343087642676032283815739666
511279233373417143396810270092798736308917
0119デフォルトの名無しさん
2016/06/16(木) 06:14:57.31ID:SL8rnu8/何か次にステップアップするのにお勧めな本教えてほしいです
0120デフォルトの名無しさん
2016/06/16(木) 07:27:24.00ID:tOwQ8tvq>>16
参照
0121デフォルトの名無しさん
2016/06/16(木) 08:07:28.45ID:SL8rnu8/ありがとうございます。そこは既に見たんですが同じシリーズの本しかなかったので
ほかにないかなと
0122デフォルトの名無しさん
2016/06/16(木) 10:47:41.35ID:nWEOMA1G1〜6以外の数字の場合入力が不適切ですと表示させ入力を繰り返す
乱数を発生させて、入力した文字と比較させ勝ち負けを判定する
上記のプログラムを書きたいのですが任意の数字を打ち込むところができません。
途中までのソース
http://ideone.com/K0dpO1
助けてくだしゃい
0123デフォルトの名無しさん
2016/06/16(木) 10:55:51.11ID:4Jb6Z0TN0124デフォルトの名無しさん
2016/06/16(木) 11:00:37.83ID:tOwQ8tvqSystem.out.println("1〜6までの数字を入力してください");
Scanner scan1 = new Scanner(System.in);
変数、scan1を使ってないじゃん
1行ずつ、デバッグ実行して、watch画面で、変数の内容を確認しながら、進めていく
0125デフォルトの名無しさん
2016/06/16(木) 11:28:56.80ID:4Jb6Z0TN0126デフォルトの名無しさん
2016/06/16(木) 11:39:41.46ID:rpc5DFq+main内に書いてると思うんだけど
改善後http://ideone.com/FxKBH2
0127デフォルトの名無しさん
2016/06/16(木) 11:53:56.43ID:4Jb6Z0TN0128デフォルトの名無しさん
2016/06/16(木) 11:59:32.79ID:rpc5DFq+助かった。
0129デフォルトの名無しさん
2016/06/16(木) 12:26:51.68ID:0I01+HHKまともなプログラマにはなれない
0130デフォルトの名無しさん
2016/06/16(木) 12:52:21.14ID:CbGXrP8u0131デフォルトの名無しさん
2016/06/16(木) 14:17:45.10ID:C5pKIuJR\(ピリオド)が未定義で使えません
どうしたら良いのでしょうか?
0132デフォルトの名無しさん
2016/06/16(木) 14:18:29.15ID:rfuHgD6o0133デフォルトの名無しさん
2016/06/16(木) 14:57:37.10ID:bI+aCDekオゥ・・やってみます
有り難う御座いましたっ
0134132
2016/06/16(木) 17:51:30.93ID:GkUFfn3Xちなみに一応説明しとくと
splitは性器表現だから文字としてのピリオドを認識させたい場合にはエスケープ文字の\をつけて「\.」とする必要がある。
Javaの文字列「\.」を表示する場合、Javaでも\はエスケープ文字となるから、文字としての円マークを認識させるには\\となる。
だから最終的に正規表現でドットを文字列として認識させたい場合「\\.」となる
0135デフォルトの名無しさん
2016/06/16(木) 19:15:09.43ID:bI+aCDekjava制御文字→正規表現での解釈と二重構造なんですね 勉強になりました
0136デフォルトの名無しさん
2016/06/16(木) 20:31:12.17ID:s0EsHX7vなんという素晴らしい表現
0137デフォルトの名無しさん
2016/06/16(木) 20:41:42.52ID:25qEXxzA速くもないし可読性も悪い
色んな書き方が出来るせいで
コーディング規約が難解で誰も守らないという
0138デフォルトの名無しさん
2016/06/16(木) 20:53:19.99ID:s0EsHX7vじゃあお前が理想の言語作れ
とりあえずJavaへのコンバーターでもいいから
0139デフォルトの名無しさん
2016/06/16(木) 22:07:02.77ID:KwcabU8B0140デフォルトの名無しさん
2016/06/16(木) 22:44:29.82ID:91QZsnGlで、質問は?
0141デフォルトの名無しさん
2016/06/16(木) 22:57:50.42ID:KwcabU8B複数のチェックボックスを選択し、DAOでselectとupdateで、DBへ書込みと更新をしたいです。
その際に、チェクされたものは「1」へ格納され、最終的にJavaのarray<string>に"01,02..."のように入れたいです。
現在、エンティティとダオは読み込めているようなのです。チェックされたものを「1」へ格納され、list化する部分がわかりません。javaで、if文で格納で良いのでしょうか?
文章力知識共にないので、乱雑な文章をお許しください。
0142デフォルトの名無しさん
2016/06/16(木) 23:11:25.70ID:L6uV1SZP0143デフォルトの名無しさん
2016/06/16(木) 23:24:42.80ID:KwcabU8Bチェックされたものは、「1」。チェックされなかったものは「0」で置いておきたいです。別ページで、チェックされたものを再度読み込んで表示するためです。
0144デフォルトの名無しさん
2016/06/16(木) 23:54:29.08ID:L6uV1SZP0145デフォルトの名無しさん
2016/06/16(木) 23:59:32.86ID:KwcabU8B(h:selectManyCheckbox)をxhtmlで入れています。
0146デフォルトの名無しさん
2016/06/17(金) 00:11:56.31ID:oUaRcFkAList<String> checkList = new ArrayList<String>();
if(チェックされてれば){
checkList.add("01");
}
てな事をやれば良いんじゃない
0147デフォルトの名無しさん
2016/06/17(金) 00:20:45.56ID:YeXpyiC7そうですよね...本当に初歩なのですが、登録ボタンは、xhtmlに入れて良いのですよね?
それから、if()←の()内が、私が理解出来ていないのかもしれません。checkbox=checkedで良いのでしょうか?
0148デフォルトの名無しさん
2016/06/17(金) 00:39:52.03ID:oUaRcFkAあと値の比較は==だ
多分その感じだとBeanクラス作ったりBean指定したりも出来てないんじゃ無いか?
いきなり難しいことから始めないでjavaの勉強を先にした方が良いぞ
0149デフォルトの名無しさん
2016/06/17(金) 00:43:39.00ID:YeXpyiC7ご指摘、ありがとうございます(T_T)
その通りなんです...ただ仕事で、始めから作ってみろーみたいになってしまっていて。もうどうして良いか...本当に、訳のわからぬ者に答えていただき、感謝です。
0150デフォルトの名無しさん
2016/06/17(金) 00:47:50.71ID:oUaRcFkA最初のうちはとにかく聞きまくるしか無い
0151デフォルトの名無しさん
2016/06/17(金) 00:54:11.22ID:YeXpyiC7そうですよね...なんだか、とっても背中を押して頂いた気がします。有難いです。
0152デフォルトの名無しさん
2016/06/17(金) 01:00:02.96ID:jYlDfS4o0153デフォルトの名無しさん
2016/06/17(金) 01:02:49.90ID:YeXpyiC7明日相談してみます。お付き合いいただき、ありがとうございました。
0154デフォルトの名無しさん
2016/06/17(金) 10:31:29.18ID:TgUNX6A4「新しいクラスを作成したら、必ずtoString、equals、hasCodeなどをオーバーライドしないといけない」とか読んだ
これってLL言語では見かけないので、良く分からなくて
何か定石とか、定例文のようなものってあるの?
漠然としすぎていてサッパリ分からないんだけど
0155デフォルトの名無しさん
2016/06/17(金) 12:11:30.28ID:Jw6Vo/h30156デフォルトの名無しさん
2016/06/17(金) 12:42:49.53ID:7/Cp3IRC必ずではない。ただし作っておけば自分の意図した通りになる。
0157デフォルトの名無しさん
2016/06/17(金) 13:08:42.96ID:dxjEzlRDおまじないよりたち悪いな
0158デフォルトの名無しさん
2016/06/17(金) 13:24:24.48ID:CYdk5Mt/ちなみにそれはどこで読んだんだ?
0159デフォルトの名無しさん
2016/06/17(金) 17:03:56.92ID:TgUNX6A4「必ず」とハッキリと書いてある
ってか自分もシステムに依存するとは思うけれど、そうは言われてもあまりにも漠然としすぎてて
基本的にオーバーライドして実装するテンプレートみたいなものがないのかなぁ、と
サンプルでもあれば分かりやすいとは思うんだけど
0160デフォルトの名無しさん
2016/06/17(金) 17:54:11.66ID:CYdk5Mt/0161デフォルトの名無しさん
2016/06/17(金) 18:10:03.48ID:XNEe7Ys+0162デフォルトの名無しさん
2016/06/17(金) 18:12:15.82ID:jYlDfS4o0163デフォルトの名無しさん
2016/06/17(金) 19:47:24.62ID:l8TNEkGuどうせコーディング規約だと思ってた
0164デフォルトの名無しさん
2016/06/17(金) 20:02:50.16ID:XNEe7Ys+0165デフォルトの名無しさん
2016/06/18(土) 08:40:28.37ID:8GpUPXrhEclipseとIntelliJはそれらを自動で作成してくれるコマンドがあるよ
0166デフォルトの名無しさん
2016/06/18(土) 14:13:19.66ID:w9zLlF5g0167デフォルトの名無しさん
2016/06/18(土) 21:56:09.89ID:QKdVDmdUこの3つは、Rubyなど、どの言語でも最初に考える
Apache Commons Lang に、Builder がある
EqualsBuilder
HashCodeBuilder
0168デフォルトの名無しさん
2016/06/19(日) 11:05:14.00ID:gzsVn/8OtoString() / equals() / hashCode()のオーバーライドについて
第1部 第4章
classを作成した時は、これらのメソッドをオーバーライドしないと、
コレクションが正しく動作しない場合がある。
~~~~~~~~~~~~~~
↑
一応こういう条件付きで書いてあるようだ。
0169デフォルトの名無しさん
2016/06/19(日) 11:20:02.62ID:v9j4Ju2+0170デフォルトの名無しさん
2016/06/19(日) 12:03:54.21ID:3rB45jJy0171デフォルトの名無しさん
2016/06/19(日) 13:40:43.89ID:oY7TlxuVこの場合、オブジェクトの内容が同じでも、別のオブジェクトなら非等値になる
オブジェクトをソートに使うのなら、先に、<=> UFO・宇宙船演算子(Comparable)を定義する
ハッシュの等値は、UFO演算子の、= の別名にするか、独自に定義する
3 == 3.0 → ソートでは等しい
3 == 3.0 → ハッシュでは異なる
0172デフォルトの名無しさん
2016/06/20(月) 22:14:00.85ID:zVDaZ2+Mjavaってどれが最終的な実行ファイル?
Windowsでクリック実行するにはバッチみたいのが必要なんでしょうか?
0173デフォルトの名無しさん
2016/06/20(月) 22:17:20.00ID:g0Cn2Mhi起動するにはjavaコマンドでmainメソッドがあるクラスやらなんやらを指定する
0174デフォルトの名無しさん
2016/06/20(月) 22:23:32.32ID:zVDaZ2+M有り難うございます
使ったクラス群はビルドされて単体ファイルに含まれてるんでしょうか?
0175デフォルトの名無しさん
2016/06/20(月) 22:28:47.48ID:Tybwfjf0フレームワークのJSTLを使おうとしておりますが、JSTLのインストールを
解説しているサイトではJSTLのサイトから
�@javax.servlet.jsp.jstl-api-1.2.1.jar
�Ajavax.servlet.jsp.jstl-1.2.1.jar
の2種をダウンロードすると記載されています。
�@は難なくダウンロードできたのですが、�Aがどうやっても見つからず
ダウンロードできません。(一覧にあがってこない)
�Aはもう提供されていないのでしょうか。
0176デフォルトの名無しさん
2016/06/21(火) 05:06:56.47ID:ZRyqXqGn配列とかクラス型の参照型変数はアドレスを参照にしてるから
ブロック外で値を変えても、元の変数も値が変わる
こんな程度の認識しかないんですが大丈夫ですか?今は
それともう一つ
実行環境を整えずにdokojavaでやってたせいか
packageとAPIについての知識が全くつかなかったんですがこの先これで大丈夫でしょうか?
0177デフォルトの名無しさん
2016/06/21(火) 07:25:54.45ID:jCImJq08取り敢えず上だけいれて使えるか試してみた?
0178デフォルトの名無しさん
2016/06/21(火) 08:47:50.93ID:ZRyqXqGn変数を作るとメモリからアドレスを確保してそこに格納とか
プログラミング入門の段階で教えられても意味が分かりません
この参照型の仕組みを覚えておくと以降の章を読むのが楽になりますって書いてあるけど
全然参照型について理解出来てないけど普通に以降の章は理解できたしよくわかりません。。
0179デフォルトの名無しさん
2016/06/21(火) 09:07:55.94ID:oaiM5wE7int[] a = {1};
System.out.println(a[0]); //=> 1
{
int[] b = a; b[0] = 10;
}
System.out.println(a[0]); //=> ?
と
int a = 1;
System.out.println(a); //=> 1
{
int b = a; b = 10;
}
System.out.println(a); //=> ?
の実行結果の違いがわかって説明できればOK
0180デフォルトの名無しさん
2016/06/21(火) 09:28:50.43ID:rdnhr1yO0181デフォルトの名無しさん
2016/06/21(火) 09:50:15.02ID:rdnhr1yOスレ汚しすまそ
0182デフォルトの名無しさん
2016/06/21(火) 12:40:07.51ID:ZRyqXqGnレスありがとうございます。
上は配列aの要素数0に1を投入してその後にb配列にaを代入してるから
ab両方とも同じアドレスを参照するようになってbに値を入れてもaも同じアドレを見てるから
実行結果は10になって
下はただの変数だからbにaを代入してもaは1のままで実行結果は1
でこんなんですが大丈夫ですか?今の段階では
■ このスレッドは過去ログ倉庫に格納されています