public class DigitCountExample {
public static void main(String[] args) {
// 与えられた整数
int number = 123456789;
// 桁数をカウント
int digitCount = countDigits(number);
// 結果を表示
System.out.println("与えられた整数: " + number);
System.out.println("桁数: " + digitCount);
}
// 整数の桁数をカウントするメソッド
private static int countDigits(int number) {
// 整数を文字列に変換
String numberStr = Integer.toString(number);
// 文字列の長さ(桁数)を返す
return numberStr.length();
}
}
このプログラムでは、countDigits
メソッドが整数を文字列に変換し、その文字列の長さを返しています。main
メソッドで特定の整数を指定し、結果を表示しています。このプログラムを実行すると、与えられた整数の桁数が表示されます。
ラッパークラス
Javaのラッパークラスは、基本データ型をオブジェクトとして扱うためのクラスです。基本データ型(int
、double
、char
など)はプリミティブな型であり、オブジェクトではないため、一部の場面でオブジェクトが必要なケースや、ジェネリクスなどの機能を使用する際にはラッパークラスが利用されます。
以下に、主なラッパークラスとそれぞれの基本データ型との対応を示します:
- Integer (
int
):int
のラッパークラス。整数を扱うためのメソッドや機能が提供されています。
- Long (
long
):long
のラッパークラス。64ビット整数を扱います。
- Float (
float
):float
のラッパークラス。32ビット浮動小数点数を扱います。
- Double (
double
):double
のラッパークラス。64ビット浮動小数点数を扱います。
- Character (
char
):char
のラッパークラス。文字を扱います。
- Boolean (
boolean
):boolean
のラッパークラス。真偽値を扱います。
これらのラッパークラスはそれぞれ Integer
、Long
、Float
、Double
、Character
、Boolean
という名前で提供されています。これにより、プリミティブ型をオブジェクトとして扱えるようになり、例えばジェネリクスやコレクションフレームワークなどで利用できます。
ラッパークラスは不変(immutable)であるため、一度値が設定されると変更できません。値を変更したい場合は新しいラッパークラスのインスタンスを作成する必要があります。例えば、Integer
クラスの valueOf
メソッドを使って新しいインスタンスを作成することができます。
Integer num = Integer.valueOf(42); // 新しい Integer インスタンスの作成
これらのラッパークラスは autoboxing(プリミティブ型からラッパークラスへの自動変換)および unboxing(逆の変換)の機能も提供しており、これによりプリミティブ型とラッパークラスを相互に変換する際の記述が簡略化されます。