- ベストアンサー
JAVAの型変換(初心者)
プログラミングをはじめたばかりの初心者です。 JAVAについて教えて下さい。 型の変換についてなのですが、 例えばxxxをint型のyyyへの変換をするとき、 (1) int yyy = Integer.parseInt(xxx) (2) int yyy = (int) (xxx) という2つを習ったのですが、どうしてもこの2つの違いがわかりません・・・ この2つは同じものと考えてよいのでしょうか? もし違うのであれば、どんな違いがあるのでしょうか? (yyyの種類によって違う???) よろしくお願いします。
- ayakku1989
- お礼率75% (3/4)
- Java
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考サイト http://java.sun.com/javase/ja/6/docs/ja/index.html JDK 6 ドキュメント http://java.sun.com/javase/ja/6/docs/ja/api/index.html API リファレンス(javadoc) http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Integer.html クラス Integer キャスト演算子を使用したプリミティブ型のデータ変換は、 # (2) int yyy = (int) (xxx) # として型変換を行っている個所をキャストと言う。 データ型の表現範囲が広い物から、狭い物へ変換を行う場合に、 必要になります。 # 表現範囲が狭い物から、表現範囲の広い物への型変換は、キャストを行わなくても、 # 変換されます。
その他の回答 (2)
- mibusys
- ベストアンサー率60% (18/30)
文字列を数値にするときに(1)を使います。 例:String→int 他の数値型をintにする場合に(2)を使います。 例:long→int, float→int 簡単にいうとこんな感じです。
お礼
ありがとうございます! よくわかりました!
- Yanch
- ベストアンサー率50% (114/225)
違いとしては、 xxxの部分に書く事が出来る物の候補が違いますよ。 場合によって、使い分けましょう。
お礼
ありがとうございます! ごめんなさい。 誤:(yyyの種類によって違う???) 正:(xxxの種類によって違う???) でした・・・ ちなみに、このxxxの候補というあたりをもう少し詳しく教えていただけないでしょうか?(もしくはこの部分を説明しているサイトを教えていただけないでしょうか?)
関連するQ&A
- 拡張for文の型変換について
Javaでプログラミングを勉強しております。 拡張for文で変数宣言をする時についての質問です。 argsに数字を入れてString型をInt型に変換する時、変数宣言はどう書けばいいのでしょうか? 拡張for文に入れる前に Int num = Integer.parseInt(args[0]); と宣言してから for(int num : array){ 処理 } とするのか for(int num : array){ num = Integer.parseInt(args[0]) …ほかの処理 } みたいにfor文の中に埋め込むのか分かりません。 argsのString型を拡張for文でInt型にするにはどう書いたらいいでしょうか
- 締切済み
- Java
- JavaのObjectからintへの型変換について
JavaのObject[][]からint[][]への型変換について、質問があります。 Jtableの表の中身を構成する要素【Object[][]】を取り出し、一部をint[][]として数字の条件と比較したいと考えております。 Object型の配列を簡単にintに変換できる方法は例えばどの様なものがあるのでしょうか? 教えていただけるとありがたいです。
- ベストアンサー
- Java
- Javaの型や型変換について
Javaの型や型変換についてお聞きします。 HashMap a = new HasMap(); a.put("A", "a"); a.put("B", "b"); で、a.get("A");とすると、 "a"となりますが、 String key = "A"; a.get(key);とすると、引数がObject型でないというコンパイルエラーになります。 どのように対処すればよいのでしょうか? このようにJavaの型・型変換について詳しく書かれている(その項目について)書籍を探しています。Java素人なので、理解しやすい本を教えてください。
- ベストアンサー
- Java
- Javaのオーバーライドについて教えてください!
//Sample.java class A extends Fina{ public int part(String str1,String str2){ int iN1 = Integer.parseInt(s1); int iN2 = Integer.parseInt(s2); intNum1 *= intNum2; return intNum1; } } このプログラムに対応するように同じクラス内でオーバーロードした際のプログラムを教えてください。 オーバーロードの内容は、partメソッドをオーバロードして引数にString型のデータを二つ受け取り、2つのString型のデータをそれぞれint型に変換し、それぞれかけた値を別のクラスでメインから呼び出すにはどうすれば良いですか?
- ベストアンサー
- Java
- javaの不思議
C言語をたしなむ程度にやっているものです。 Javaを勉強していたのですが、不思議だなと思ったので質問させてください。 Integer value = new Integer(30); value.doubleValue() // <- double型に変換している このプログラムだとvalueはintなのにあらかじめdoubleに変換できることを想定しています。 C言語の癖なのかしらないですが、型変換をするならクラスメソッドではなくキャストするか、 メソッドに投げる(Integer.toString←stringにする例ですが)。 この2つの方法が自然な型変換だと思うのですが、変でしょうか?
- ベストアンサー
- Java
- String型→int型への変換
超初心者です。 多次元配列で求められる値table[b][1]をint型に変換したくて↓のように打ちましたが、エラーが出てしまいます。 int y = Integer.parseInt(table[b][1]); return y; どのようにすれば、良いのでしょうか? ご指導お願いしますm(__)m
- 締切済み
- Java
- 初心者Javaの件。
いつも大変お世話になりありがとうございます。 Javaの基本的なプログラムについてです。 コードとエラーメッセージを記述致しました。 どう治せばいいか、教えてください。 ご回答のほど、宜しくお願い申し上げます。 import java.io.BufferedReader; public class Sample3 { { public static void main(String args[]) throws Exception { person p[]; System.out.println("人数を入力してください。"); BufferedReader br = new BufferedReader(new inputStreamReader(System.in)); String str = br.readLine(); int num = Integer.parseInt(str); p = new Person[num]; for(int i=0; i<num; i++) { } System.out.println("年齢を入力してください"); str = br.readLine(); int age = Integer.parseInt(str); P = new Person[num]; for(int i=0; i<num; i++){ System.out.println("年齢を入力してください"); str = br.readLine(); int age = Intger.parseInt(str); System.out.println("体重を入力してください"); str = br.readLine(); double weight = Double.parseDouble(str); System.out.println("身長を入力してください"); str = br.readLine(); double height = Double.parseDouble(str); p[i] = new person(age, weight, height); } for(int i=0; i<num; i++) { p[i].show(); } } Exception in thread "main" java.lang.Error: Unresolved compilation problems: person を型に解決できません inputStreamReader を型に解決できません Person を型に解決できません P を変数に解決できません Person を型に解決できません トークンに構文エラーがあります。これらのトークンを削除してください 重複ローカル変数 age Intger を解決できません トークンに構文エラーがあります。これらのトークンを削除してください person を型に解決できません at Sample3.main(Sample3.java:7)
- ベストアンサー
- Java
お礼
ありがとうございます。 勉強になります。