9--基本的なデータ型間の変換

Javaは必須の型言語です。データ型は変数の定義時にすでに決定されているため、他のデータ型に自由に変換することはできませんが、Javaでは限定的な型変換処理が可能です。Javaでのデータ型変換は、「自動型変換」と「強制型変換」に分けられます。

自動型変換

データ型の変数はプログラムで定義されています。別のデータ型を使用して表現
する場合、次の条件が満たされると、Javaはデータ型を自動的に変換します。1。変換前のデータ型の範囲は後者のデータ型の範囲は小さい
2。変換前のデータ型は変換後のデータ型と互換性があります(ブール型の他の7つの基本データ型を除く)
例:

public class Demo9_1{
    
    
	public static void main(String[] args){
    
    
		byte num1 = 12;
		//byte → int
		int num2 = num1;
	}
}

自動型変換の概略図
ここに画像の説明を挿入

注:この時点での容量のサイズは、数の大小の範囲を指します。例:フロート容量がロング容量よりも大きい。
特別な注意:byte、char、shortの3種類の変数を操作すると、結果はint型になります。
エラーの例:

public class Demo9_2{
    
    
	public static void main(String[] args){
    
    
		byte num1 = 12;
		byte num2 = 20;
		//编译失败: 错误: 不兼容的类型: 从int转换到byte可能会有损失
		byte rs= num1 + num2;
		System.out.println(rs);
	}
}

訂正の例:

public class Demo9_2{
    
    
	public static void main(String[] args){
    
    
		byte num1 = 12;
		byte num2 = 20;
		int rs= num1 + num2;
		System.out.println(rs);
	}
}

例:

public class Demo9_3{
    
    
	public static void main(String[] args){
    
    
		int num1 = 12;
		//int → float
		float num2 = num1;
		System.out.println(num2);
	}
}

総括する

  1. 複数のタイプのデータ混合操作がある場合、システムは最初にすべてのデータを最大容量のデータタイプに自動的に変換してから、計算を実行します。
  2. byte、short、charの間には相互変換はありません。これらの3つは、計算中に最初にint型に変換されます。
  3. ブール型は他のデータ型では操作できません
  4. 基本データ型の値と文字列(String)が接続されている場合(+)、基本データ型の値は自動的に文字列(String)型に変換されます。

強制型変換

自動型変換の逆のプロセスは、広範囲のデータ型を狭い範囲のデータ型に変換します。変換プロセス中に精度が失われる可能性があります。これは強制的な型変換ですが、型の互換性も満たしている必要があります(ブール型、他の7つのデータ型を除く)。
注意:

  1. 使用する場合は、強制記号を追加します:()
  2. 精度が低下したり、オーバーフローしたりする場合がありますので、特にご注意ください。
    例:
public class Demo9_4{
    
    
	public static void main(String[] args){
    
    
		double num1 = 12.9;
		//精度损失
		int num2 = (int)num1;//截断操作
		System.out.println(num2);
		
		//没有精度损失
		long num3 = 123;
		short num4 = (short)num3;
		
		//精度损失
		int num5 = 128;
		byte num6 = (byte)num5;
		System.out.println(num6);//-128
	}
}

総括する

  1. 自動型変換の逆のプロセスは、大容量のデータ型を小容量のデータ型に変換します。使用する場合は、強制記号(()を追加する必要がありますが、精度が低下したり、オーバーフローしたりする場合がありますので、特にご注意ください。
  2. 通常、文字列を直接基本型に変換することはできませんが、基本型に対応するラッパークラスを介して基本型に変換することができます。
  3. ブール型を他のデータ型に変換することはできません

補足:文字列型
1.文字列は基本データ型ではなく、参照データ型
です。2。使用方法は基本データ型と一致しています。次に例を示します。Stringstr= "abcd";
3.すべてのデータ型(基本データ型と参照データ型)が文字列に遭遇すると、文字列への変換を自動的に型変換します
。4。後で文字列を使用する方法について。
例:

public class Demo9_5{
    
    
	public static void main(String[] args){
    
    
		int num1 = 3;
		int num3 = 7;
		// 以下两个 +  表示连接符
		String str= "abc" + num1 + num3;
		System.out.println(str);//abc37
		//以下第一个 + 表示连接符,第二个 + 表示 加号
		String str2="abc" + (num1 + num3);
		System.out.println(str2);//abc10
	}
}

おすすめ

転載: blog.csdn.net/qwy715229258163/article/details/113705000