• ベストアンサー

JAVAの型変換(初心者)

プログラミングをはじめたばかりの初心者です。 JAVAについて教えて下さい。 型の変換についてなのですが、 例えばxxxをint型のyyyへの変換をするとき、 (1) int yyy = Integer.parseInt(xxx) (2) int yyy = (int) (xxx) という2つを習ったのですが、どうしてもこの2つの違いがわかりません・・・ この2つは同じものと考えてよいのでしょうか? もし違うのであれば、どんな違いがあるのでしょうか? (yyyの種類によって違う???) よろしくお願いします。

  • Java
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • Yanch
  • ベストアンサー率50% (114/225)
回答No.2

参考サイト 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) # として型変換を行っている個所をキャストと言う。 データ型の表現範囲が広い物から、狭い物へ変換を行う場合に、 必要になります。 # 表現範囲が狭い物から、表現範囲の広い物への型変換は、キャストを行わなくても、 # 変換されます。

ayakku1989
質問者

お礼

ありがとうございます。 勉強になります。

その他の回答 (2)

  • mibusys
  • ベストアンサー率60% (18/30)
回答No.3

文字列を数値にするときに(1)を使います。  例:String→int 他の数値型をintにする場合に(2)を使います。  例:long→int, float→int 簡単にいうとこんな感じです。

ayakku1989
質問者

お礼

ありがとうございます! よくわかりました!

  • Yanch
  • ベストアンサー率50% (114/225)
回答No.1

違いとしては、 xxxの部分に書く事が出来る物の候補が違いますよ。 場合によって、使い分けましょう。

ayakku1989
質問者

お礼

ありがとうございます! ごめんなさい。 誤:(yyyの種類によって違う???) 正:(xxxの種類によって違う???) でした・・・ ちなみに、このxxxの候補というあたりをもう少し詳しく教えていただけないでしょうか?(もしくはこの部分を説明しているサイトを教えていただけないでしょうか?)

関連するQ&A

  • 変数の型変換

    追加質問ですみません。 double型をint型に変換したいんですが Integer.parseInt使っても、intValue使ってもできません。 っていうか、手元の本には、「Java言語では、自動的に型変換が行われて計算される」って書いてあるのに どうして変換されないんですか?

    • ベストアンサー
    • Java
  • 拡張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の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
  • 整数型変換について

    恐れ入ります。 int型への変換方法なのですが、 double型からint型に変換するにはキャストを使うしかないのでしょうか? int s = (int)(12.0); //キャスト 今までparseIntでもできると思っていたのですが、 int s = Integer.ParseInt(12.0); とすると、コンパイルエラーが出ます。 この場合、括弧内は文字列型の場合に限られるのですか?

    • ベストアンサー
    • Java
  • String型→int型への変換

    超初心者です。 多次元配列で求められる値table[b][1]をint型に変換したくて↓のように打ちましたが、エラーが出てしまいます。 int y = Integer.parseInt(table[b][1]); return y; どのようにすれば、良いのでしょうか? ご指導お願いしますm(__)m

  • 型変換の質問

    どうしても考えてもわからないので投稿します。 Q1.以下の3つの型変換処理を実行せよ ・型変換(1)(int⇒String) ・型変換(2)(int⇒Double) ・型変換(3)(String⇒int) の、問題なのですがどうしても出力できません。 どなたか教えてください。

  • 初心者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

専門家に質問してみよう