TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
***Javaのオススメ入門書*** 『創るJava』 3.0
結局プログラム作るのってWinとLinuxどっちがいい?
C言語相談室(上級者専用)
MFC相談室 mfc23d.dll
.Net Core / Net ASP Core
C言語なら俺に聞け 155
Windows 10 UWPアプリ開発 Part 2
将来性ないプログラミング言語。Delphi含まれず安心
Visual Studio 2019 Part3
文字コード総合スレ Part12

Java入門・初心者質問スレ Part.8


1 :2018/06/07 〜 最終レス :2018/09/08
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.7
http://mevius.2ch.sc/test/read.cgi/tech/1515549964/
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured

2 :
Javaはもうオワコン

3 :
Oracleに買われた時点でね

4 :
ここが待望のワッチョイスレか

5 :
おお。IPアドレスも表示。

俺は今はスマホだから多分繋ぐたびに変わるけどな。

6 :
IP変わったかテスト

7 :
あ、テザリングで違う端末使ってるからワッチョイも変わったな。

8 :
テスト

9 :
てすと

10 :
いいですね

11 :
http://copiezzare.info/

12 :
分かる方説明お願いします。。。
<問>以下の実行結果になるように選択しから選びなさい。
【実行結果】
A
B

public class SuperClass{
public SuperClass(){
System.out.println("A");
}
public SuperClass(String val){
System.out.println(String val);
}}
public class SubClass extends SuperClass{
public SubClass(){
//ここにコードを追加
}
public SubClass(String val){
System.out.println(String val);
} }
public class Main(){
public static void main(String[] args){
new SubClass();
}}
A: SubClass("B");
B: this("B");
C: super("B");
D: SuperClass("B")
正解:B
ここで疑問なのですが、this("B")は自クラスだけのコンストラクトしか呼び出せない認識です。
親クラスのコンストラクタはどこで呼んでいるのでしょうか。

13 :
ググってみた。これとか。
ttps://qiita.com/katolisa/items/438a8d720ea5a60b55c4

14 :
>>12
https://docs.oracle.com/javase/specs/jls/se10/html/jls-8.html#jls-8.8.7

If a constructor body does not begin with an explicit constructor invocation and
the constructor being declared is not part of the primordial class Object,
then the constructor body implicitly begins with a superclass constructor
invocation "super();", an invocation of the constructor of its direct superclass
that takes no arguments.

コンストラクタの呼び出しが明示されてなければ
super()が暗黙的に呼ばれますよと

public SubClass(String val) {
  // ここでsuper()が呼ばれる
  System.out.println(val);
}

Javaの資格試験の勉強してるなら紫本とか黒本とか
読んだ方がいんじゃないかな
毎回言語仕様調べるの大変でしょ

コンストラクタについても丁寧に解説されてるよ

15 :
インスタンスなのか変数なのか教えてください

Soket so=new Soket("so.jp",80);
InputStream is=so,getInputStream();
int i=is.read();

isはgetInputStream()メソッドのストリュームを受ける変数ですか?
それともNewはしてないけれど、インスタンスなのでしょうか?
isは2行目では変数に思えますし、3行目はインスタンスに思えますし、どっちなのでしょうか?

16 :
>isはgetInputStream()メソッドのストリュームを受ける変数ですか?
isはInputStream型の変数です

>それともNewはしてないけれど、インスタンスなのでしょうか?
InputStreamのインスタンスはisにセットされてます

isは変数です

17 :
>>16
さっそくありがとうございます。
InputStream isでインプット型の変数になって
ここでInputStreamのインスタンスがセットされて、
is.read()と記載してinputstreamクラスのread()メソッドが使えるということなのですね
ありがとうございました!

18 :
クラス型変数を宣言すると、元クラスのstaticメソッドが使えるということなのでしょうか?

19 :
すみません、疑問が深まってしまいました

1 Soket so=new Soket("so.jp",80);
2 InputStream is=so.getInputStream();
3 int i=is.read();

1で、スタック領域に、インスタンスsoを表すヒープ領域の参照アドレスを格納し
2で、InputStream型の変数isに割り当てられたヒープ領域に、インスタンスsoのgetInputStream()メソッドの結果であるストリュームを格納し
3で、変数iのヒープ領域に、read()メソッドの結果を格納する(どうして変数isがread()を呼びさせるのか疑問でした)
と考えていたのですが

[InputStream is」の記載で、InputStreamのインスタンス変数isを生成したということでしょうか?
newしなくてもインスタンスを生成してインスタンス変数に格納できるのでしょうか?

20 :
>>19
呼び出した先のどこかでnewしてる所があって、それが返されてるだけ。

それとstreamはストリームと読むのが元の発音に近いと思う。

21 :
>>20
ありがとうございました。
教えてくださったことを意識してコードを読み直してみます。
発音も指摘くださって感謝です。

22 :
>InputStream is=so.getInputStream();

so.getInputStream()の中で、
InputStream 型のインスタンスを、作って返しているのだろう

そのメソッドの文書を見れば?

23 :
>>22
ありがとうございます。
インスタンスを戻り値にしてるか調べているのですが
まだ解答が得られてません
また調べてみます。ありがとうございます。

24 :
「java socket getinputstream」で検索すれば?
文書に書いてある

Socket クラス
getInputStream() メソッド
このソケットの入力ストリームを返します

InputStream 戻り値の型

25 :
>>24
ありがとうございます。
疑問を持ってからリファレンスでgetInputStream()も何度か読んでみたのですが
ストリームを返すということで、プリミティブ型の値を返すのかと考えていました。
ストリームはインスタンスではないとしますと、
>>19の3行目で、is.read();とできるのは、他の場所でインスタンスが生成されているか
InputStream型の宣言時に、isにセットされているか、どちらかということなのでしょうか?

26 :
>>22
>>24

InputStreamを返すということは、InputStreamインスタンスを戻り値としてるということで
インスタンスを受けたInputStream型の変数isからInputStreamクラスのメソッドを呼び出せた、ということでしょうか?
いろいろ教えてくださってありがとうございます。感謝しています。

27 :
>>25
APIドキュメントの java.net.Socket の getInputStream() メソッドでしょ?
それならちゃんと InputStream が戻り値の型として書いてあるよ。

28 :
質問を装った釣りなんじゃないの?
かまって欲しいんだよ

29 :
Socket.class のここまではたどり着いたけど、ここで挫折。
https://docs.oracle.com/javase/jp/8/docs/api/java/security/AccessController.html

public InputStream getInputStream() throws IOException {
if (isClosed())
throw new SocketException("Socket is closed");
if (!isConnected())
throw new SocketException("Socket is not connected");
if (isInputShutdown())
throw new SocketException("Socket input is shutdown");
final Socket s = this;
InputStream is = null;
try {
is = AccessController.doPrivileged(
new PrivilegedExceptionAction<InputStream>() {
public InputStream run() throws IOException {
return impl.getInputStream();
}
});
} catch (java.security.PrivilegedActionException e) {
throw (IOException) e.getException();
}
return is;
}

30 :
>>27
ちゃんと読めていなかったです、すみません。
ストリームというのはバイトや文字を一文字ずつ扱うということで
プリミティブ値を返すものだと勘違いしていました。
次からはAPIドキュメントをしっかり読みます。ありがとうございました。

31 :
>>29
ソース解析しなくてもとにかく InputStream のインスタンスを返すようになってる事はわかるよな。
てかそのメソッドはそれを返すか例外投げるかしかしない。

32 :
「java socket getinputstream」で検索すると、
Socket クラスの、getInputStream() メソッドを発見する

戻り値の型が、InputStream だから、次に、InputStream の文章を読む

プログラミングとは、こういうサイクルの繰り返し。
プログラムを書くと言うよりは、調べものに追われる、writer に近い

33 :
釣り質問に説教回答か
地獄のようなスレだな

34 :
Windows7環境です。
コマンドプロンプトでソースファイルをコンパイルしてクラスを実行しようとすると
Error: opening registry key ‘Software\JavaSoft\Java Runtime Enviroment’
Error: could not find java.dll
Error: Could not find Java SE Runtime Enviroment.
と表示されてしまいます。
Windows\System32とWindows\SysWOW64にもjava.exe、java.javaw.exe、javaws.exeが無い状態です。
どのようにしたら実行できるようになりますでしょうか?

35 :
>>34
コンパイルはできてるの?変だな。コンパイル時にも同じJavaVMが裏で動いていると思うんだが。

36 :
>>35
コンパイルまではできているんです
googleで色々調べてやってみたり、再インスコもしてみたのですがダメでした。

37 :
>>36
java -help は同じエラー?
javac -help はエラーにならずヘルプ出る?

javaコマンドをフルパス指定して実行してもエラー?

38 :
>>37
それは試していませんでした
今出先なので帰宅したら試してみます
ありがとうございます

39 :
下記の3タイプの違いが分かりません。教えてください。
Aのclsは@で生成したインスタンス
BのFqcnは@のFQCNのクラス型
としています。

@ Class<?> cls=Class.forname(FQCN);
A cls.newInstance();
B Fqcn cls=new Fqcn();

@〜Bは、どれもインスタンスを取得するコードということですが
用法の違いというか、使いどころの違いがあったりするのでしょうか?
 

40 :
>>37
遅くなりましたがやはりダメでした
復元とかした方がいいのかもしれませんね

41 :
有償化したjavaをこっそり使う事は出来ますか

今さら有償は痛いです

42 :
>>41
なにか勘違いをしているようですが

・OpenJDKとOracleJDKの統一
・五月雨アップデートから半年毎に定期アップデートへ切り替え
・長期パッチ対応有償サポートの開始

なので自分でJDKのバージョン管理すれば変わらず使えますよ
要すに使用感はUbuntuとかと同じ感じになります

43 :
作るものが思いつかず、数ヶ月おきに何か作ってはまたしばらく何も作らないみたいなのの繰り返しで、上達してる気が全くしない
みんな何作ってるの?

44 :
では君に目標を与えよう。

俺の心を満足させるエロゲを作りなさい。

45 :
関連するファイル(.java .txt)をUTF-8(BOMなし)というのに統一しようと思うのだけど何かおもだった弊害はあるでしょうか

46 :
>>45
全ファイル修正?全部試験し直して検証報告書もお前が書くんだよな?
みたいなことを言い出す存在どころか生きている価値すらないクズPLやゴミ上司。

47 :
いえ個人でしかやらないのでそう言うのは一切問題はないです

48 :
>>47
じゃあ君次第だ。君が変換後の状態を気に入るかどうか。ただそれだけ。

49 :
>>46 とか >>48 みたいなのが上司だったらやだなあ

50 :
UTF-8N(BOMなし)だけを使う。
shift-jis は使わない

パス・ファイル名には、半角英数字だけを使う。
半角空白も使わない

51 :
大丈夫。上司じゃないから。

52 :
oracleによる有償化でもjavaは現状維持すると思いますか
廃れると思いますか

53 :
有償化という言葉だけに惑わされすぎじゃねぇの
今までよりやりやすくなると思うけど

54 :
実行環境も有償だから、ただでさえ絶滅危惧種のクライアントJavaはさすがに絶滅するだろうな
http://www.oracle.com/technetwork/java/javaseproducts/javasesubscription-data-sheet-4891969.pdf
こんなん完全にランサムウェアですわ

55 :
サーバーはともかくクライアントをアップデートしないまま放置はヤバすぎる
だからこそセキュリティパッチ未適用のJREが蔓延しても大災害にならないようにアプレットとWebStartは削除しといたよテヘペロってことなんだろうけど、
世界トップクラスの企業のやることたしてはあまりにもやり方が杜撰&無責任&悪質すぎる
正真正銘、史上最大規模のランサムウェアだよ

56 :
>>54
お前のような情弱が居なくなって嬉しいwww

57 :
>>55
アプレットいらんやろ

58 :
有償化はサーバーサイドにはノーダメージなんですね

これから勉強しようと思う者としてクライアントjavaは逆にやりたく無かったので対象が絞られて助かります

59 :
jreの有償化ってどこ情報よ?

60 :
>>59
54のリンク先に書いてるよ
> Enterprise wide, term based, Java SE Subscription model which includes cloud deployment, server, and desktop licensing and support.
> Server and Cloud deployments Price $25 per processor per month, Desktop Price $2.50 per user per month, or lower with tiered volume discounts available.
古いバージョンを使い続けたいならデスクトップは$2.5/月・人

61 :
OracleはJDK11で完全有償化すると同時に、
いままで泳がせていたOpenJDKを一気に知財争いで一気に駆逐する予測も
あるから、OpenJDKを過信しないほうがいい。

62 :
>>61
コミュニティがそんなこと許すわけ無いやろw
現実的に考えろよ

63 :
このゲーム見て
https://goo.gl/k4ehdm

64 :
見ない

65 :
>>62
コミュニティが許さないといくら言ったところで、
過去に多様な状況が起こされた場合では、確実にコミュニティ側が公開停止して
数年かけて知財侵害コードの除去作業をして再公開みたいな流れになってるよね
ものによってはそのまま収束したり。
そうならない保証はないというリスクくらいは認識すべきだな。

66 :
Blackdown porting projectの悲劇。
涙なしには語れない。

67 :
>>60
それjdkの説明でしょ?

68 :
>>67
そう信じたい気持ちはわかるけど、「deployment」の話なんだよなあ
英語読めないならこのへん見るといい
http://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/00081/

69 :
やっぱjreについては書いてないなーと思って公式いったらjre自体がなくなるみたいだ
クライアントjava提供してる側が個別にパッケージして再配布しろってことらしいから使う側は特に意識しなくていいな

70 :
javaは個人利用を排除

71 :
GHP

72 :
OpenJDKのサイトもうちょっとやる気出してくれないかね

73 :
多次元配列で[][][][][][]と要素数の多すぎるとメモリが足りないみたいなエラーが出るのだけどこれはマシンの性能に依存するのでしょうか
また、(おおよその)目安になる計算みたいなのはあるのでしょうか?

74 :
ヒープメモリだから実行時のパラメータに依存する
ーXmxで指定できる

75 :
指定しなければ8 MB程度として必要に応じて拡張することもできると言う事でしょうか
ありがとうございます

76 :
JDK8(Linux 64bit)のデフォルトヒープサイズ
http://n-agetsuma.hatenablog.com/entry/2015/12/30/185405

77 :
androidアプリを開発できるようになるまでに
どんな勉強過程が必要でしょうか?

すっきり分かるjava(基礎、実践、sql、サーブレット)

java魂

...

独学希望です

78 :
まず生活の基本を学ぶことが重要です

79 :
>>77
書籍なんて買うな
一年で使えなくなる
Googleの公式サイトの情報だけでいい
koltin使え

80 :
スッキリシリーズと、

実践Javaコーディング作法、2014

Java 最強リファレンス、2014

EFFECTIVE 何々 第2版、2014

Kotlin の太郎本、2016

(広告規制で書き込めない)

81 :
>>79
>>80
ありがとうございます!
公式サイトも推奨書籍も参考にします!

82 :
広告規制?じゃあこれが書けたらもう規制されていないってことになるな。

スッキリわかるJava入門 第2版 (スッキリシリーズ)
http://amzn.asia/9g0zliW

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)
http://amzn.asia/alqE1va

実践Javaコーディング作法 プロが知るべき、112の規約と21の心得
http://amzn.asia/23rpAka

Java最強リファレンス
http://amzn.asia/3aurJOH

EFFECTIVE JAVA 第2版 (The Java Series)
http://amzn.asia/4YFRoaX

Kotlinスタートブック -新しいAndroidプログラミング
http://amzn.asia/7IfUpj4

Kotlin Webアプリケーション 新しいサーバサイドプログラミング
http://amzn.asia/bD9xF5D

83 :
入門的な質問ですいません
スッキリ分かるjava入門のサンプルコードなんですが
外側の繰り返しと書いてあるんですが外側の繰り返し(?)というのはjのことであってますか?どっちが外か入門書に書いてないんですけど…
それと6行目と8行目はどういう原理で5行目に空白と改行を与えてるのかわかりません教えて下さい;

public class Main{
public static void main(String[]args){
for(int i=1;i<10;i++){
for(int j=1;j<10;j++){
System.out.print(i*j);
System.out.print(" ");
}
System.out.println(" ");
}
}
}

84 :
iが外側ですが、これが入門書に説明がなくて理解できない、という状況が
理解できないので、すいませんがこれ以上は詳しく解説できません。

jが外側と判断したその理由を聞けば、なにをどう勘違いしたらそうなって
しまったのかを説明できるかもしれませんが、Javaというより簡単な
日本語の領分かと思います。

85 :
え、プログラミング始めたてのときでもどっちが外か内か飲み込めました?
どっちの値が先に繰り返しされてるかなんて実行結果見ても分からないですし
どちらが外か内か分からなかったです。疑問に持つ所がおかしいんですかね・・・・・・・
教えてくれてありがとうございます

86 :
>>83
6行目は改行なしで空白のみ出力。
8行目は空白と改行を出力。

まあしかし8行目は System.out.println();だけでも良い筈なんだけどね。

87 :
>>82
少し文章を変えると、Rock54 規制に掛からない

漏れは「書籍名、著者名、出版年」を書いていたら、書き込めなかった。
2, 3文字の短い文字列を、偶然に使っても、規制されることもあるし、たまたまなんだろう

MANGO 板で、何回もテストすれば、どの文字列がダメなのか、わかるのだろうが

88 :
>>83
printf を使って、こうしてみ。
使い方は、printf を参照

for(int i=1;i<4;i++){
for(int j=11;j<14;j++){
System.out.printf("i = %d : j = %d%n", i, j);
}
}

89 :
>>83
家の中、家の外。鬼は外、福は内。室内、室外。車内、車外。箱の内側、箱の外側。

箱の中の箱、ループの中のループ。

日本語では、先・後 ≠ 内・外 です。

どちらが先に繰り返しされるかではなく、iループのブロックの内側に(中に)
jループのブロックがあるというイメージ。

よってjのループが内側の繰り返し、iのループが外側の繰り返し。
このような構造のループを入れ子になったループ構造、二重構造のループなどという。

6行目はjループの中、8行目はjループの外で実行される。

90 :
>>83
追加。
合計、平均値、ソート、探索など簡単なやつでいいのでアルゴリズムも並行して学習
したほうがいいですよ。

91 :
配列作成の宣言文はいくつかあるみたいですが
どれ使ってもいいんですか?全て覚えないと後々問題抱えたりはしませんか
int[] s= new int[5]
int[] s =new int[]{1,2,34,4,4,5};
int[]s ={1,2,3,4,5,6,};
とか乗ってますが

92 :
それぞれ何が省略されているだけなのかと
省略できる仕組みが分かっていれば。

93 :
>>92
ありがとうございます
ガベージコレクションの説明項でnewで確保された要素は普通の変数じゃないからブロックが終了しても
変数は寿命を迎えないみたいなこと書いてあるんですけど、宣言文とは関係ないことですか?

94 :
>>93
宣言文でプリミティブか参照型か決まるから、
関係はあるんじゃないかな。
参照型で宣言してスタックに参照があって実体がヒープに
インスタンスを持つのがGC対象なのでこれはブロックの終了と
必ずしも連動しない。

95 :
>>94
すいません全然分からないです。難しすぎて…。
聞きたかったのはブロック内で宣言した変数はブロックが終わったと同時に消滅しますが
newで確保された要素はブロックが終わっても消滅しないみたいなことが入門書に書いてあるので
配列変数の宣言文でnewを使った方がいいのか?って思って質問しました。

96 :
>>95
int[] s = new int[]{1,2,3};
int[] s = {1,2,3};

これはどっちも同じだよ
コンパイルしたら↓こうなる

int[] s = new int[3];
s[0] = 1;
s[1] = 2;
s[2] = 3;

97 :
>>95
それ多分要素に入れる値はブロックから抜けても解放されないって説明じゃないかな?

98 :
>>97
ありがとうございます
それのことです。配列の宣言の仕方によってはブロックから抜け出しても変数の値は消滅しないのかなと思ってしまったんですが
関係なかったですか

99 :
>>98
宣言の仕方は関係ない
配列に入れた値は配列自体が参照し続けるので開放されないってことをその本説明したいのだと思う

この辺はJavaのデータがメモリへ値をどう確保するかってのとGCの対象になる値がどういう物か理解する必要がある

100 :
もし、配列が格納している要素が、primitive じゃないオブジェクトだったら、
配列のスコープを出た所で、配列は消滅するけど、

中に入っていたオブジェクトは消滅しないし、
それらにアクセスする参照だけが無くなっている

つまり、メモリリークか?

それとも、どこからも参照できないから、その後、
各オブジェクトのGC が呼ばれるのか?


100〜のスレッドの続きを読む
【マウスだけで】Scratch【プログラミング】その1
[無料でラクラクJava帳票作成] JasperReports使い集合
Gitをより良くするための運用ガイドライン作成スレ
簡単なプログラム言語って何?
洋書推薦図書/洋書必読書のためのスレッド 1
暇だから最強のメモ帳つくらね?【java】
日本語プログラミング言語『なでしこ』スレ5
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
ふらっと C#,C♯,C#(初心者用) Part138
Rust Part7
--------------------
発達障害児に迷惑している子供・親御さん 57人目
渡辺明アンチ、2ch名人の養分だったw3年無駄にするw
【3DS】妖怪ウォッチバスターズ質問スレ 3問目
【維新とカネ】#吉村大阪府知事 のパーティ券 市契約企業が大量購入 「出席なしパー券は企業献金で脱法行為だ」と専門家
【二律背反】モリシ Part15【今年は、今度は俺達の番だー!】
中京テレビアナウンサー総合スレ9
か〜ち♪=平瀬朝樹さん 2
【博打】1552 VIX 【投機】
これはとっておけってコスパの良い資格 part15
【凪のあすから】木原紡×向井戸まなかを語るスレ
雨木シュウスケ総合 part51【レギオス/七曲】
スパイスカレーよりドロドロカレーの方がぶっちゃけ断然うまいよな [302521845]
別館★羽生結弦&オタオチスレ9868
今野が欅+けやきの選抜を読み上げる→平手「選抜にするならやらない」
【若く】アンチエイジング【美しく】
【フライデー襲撃】ビートたけし【バイク事故】
30歳以上の彼女居ない歴=年齢の孤男8
☆★セキセイインコ153羽目★☆
☆猫の面白い虐待の仕方語ろう最終スレ★
【自動車】Rーリのデザイナー「韓国車、イタリアでは日本車と同級」
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼