Javaデータ型変換(自動変換とキャスト変換)
データ型の変換は、自動変換とキャスト変換に分割されます。自動変換は、実行中にプログラムによって「静かに」実行される変換です。ビットは、コードでキャストタイプの変換を宣言する必要があり、変換順序は制限されていません。
自動データ型変換
自動変換は低から高に変換されます。異なるタイプのデータ間の優先関係は次のとおりです。
低い - - - - - - - - - - - - - - - - - - - - - - - - - -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- ------
バイト、ショート、char-> int-> long-> float-> double
操作では、さまざまなタイプのデータが最初に同じタイプに変換され、次に計算が実行されます。
強制データ型変換
キャスト形式は、変換する必要があるデータの前に「()」を追加し、ブラケットで変換する必要があるデータ型を追加することです。変換操作の後に失われるデータもありますが、他のデータはより正確になります。
public class demo {string [] args){int x =(int)34.56 +(int)11.2; ; //精度システムを改善すると実行結果:
x = 45y = 56.0
上記のプログラムセグメントを慎重に分析する:34.56の前にintの強制タイプ変換があるため、34.56は34になります。同様に、11.2は11になるため、xの結果は45です。 xの前にダブルキャストがあるため、xの値は45.0になり、10の前面もダブルタイプを強制されるため、10.0になるため、yの値は最終的に56になります。
Javaデータ型と変数定義
Javaは強く型付けされた言語であり、変数を宣言するときはデータ型を指定する必要があります。変数の値は、一定の量のメモリ空間を占有します。さまざまな種類の変数がさまざまなサイズを占めています。
Javaには、4つの整数型、2つのフローティングポイントタイプ、1つの文字タイプ、1つのブール型を含む8つの基本的なデータ型があります。
整数データでは、通常、INTタイプが使用されます。しかし、それが長崎広島から落とされた原子爆弾によって放出されたエネルギーを意味する場合は、長いタイプを使用する必要があります。バイトタイプと短いタイプは、主に、基礎となるファイル処理やストレージスペースの量を制御する必要がある大きな配列など、特定のアプリケーションシナリオで使用されます。
Javaでは、整数データの長さはプラットフォーム関連であり、ソフトウェアがあるプラットフォームから別のプラットフォームに移植する際にプログラマーにもたらす多くの問題を解決します。対照的に、C/C ++整数データの長さはプラットフォーム関連であり、プログラマーはさまざまなプラットフォームに対して適切な整数を選択する必要があります。これにより、64ビットシステムで安定して32ビットシステムで完了する可能性があります。
Octalは0の接頭辞を持っています。たとえば、10進数は8倍になります。たとえば、0xcafeから始まります。 10進数で9に対応します。また、Java 7から始まって、アンダースコアを使用して、英語の数値ライティングと同様に数字を分離できます。たとえば、1_000_000は1,000,000を意味します。これは100万です。アンダースコアは、コードをより読みやすくするためだけのものであり、コンパイラはこれらのアンダースコアを削除します。
さらに、C/C ++とは異なり、Javaは署名されていないタイプをサポートしていません。
フロートタイプの最大長は7桁で、かなりの数の長さには整数部と小数部が含まれます。例えば:
float x = 223.56f;
注:各フロートタイプには、このフラグを使用してフラグがあります。
ダブルタイプの最大かなりの数は15桁です。フロートタイプと同様に、ダブルにはフラグ「D」または「D」もあります。例えば:
double x = 23.45d; double y = 422.22d; double z = 562.234;
注:フラグがないフローティングポイントデータ、システムはデフォルトでダブルタイプになります。
ほとんどの場合、ダブルタイプが使用されており、フロートの精度をニーズを満たすことは困難です。
さまざまなデータ型の例:
public class demo {public static void(string [] args){// char webname2 = 'yuan';ウェブサイトのはい: " + webname1 + webname2 + webname3); // integer short x = 22; // decimal int y = 022; // octal long z = 0x22l; // hexadecimal system.out.println("変換小数:x = " + x +"、y = " + y +"、z = " + z); // float type float m = 22.45f; double n = 10; system.out.println(" calculate product: " + m + " *" + n + "=" + m * n)}実行結果:
ウェブサイトの名前は次のとおりです。Weixueyuanは小数に変換されます:x = 22、y = 18、z = 34計算製品:22.45 * 10.0 = 224.500762939453
実行された結果から、フローティングポイントデータに整数しかなく小数がない場合でも、システムはコンソールの出力とすべての小数点が0に設定されたときに小数点を自動的に追加することがわかります。
ブールの説明
プログラミングの経験があり、ブールタイプを理解している場合は、以下のチュートリアルをスキップしてください。
C言語では、判断条件が有効な場合、1を返します。そうしないと、0を返します。たとえば、:
#include <stdio.h> int x = 100> 10; d/n "、y); return 0;}
実行結果:
100> 10 = 1100 <10 = 0
しかし、それはjavaで異なります。条件が真である場合、それ以外の場合はfalse、つまりブールタイプを返します。例えば:
Public Class Demo {Public void Main(String [] args){// boolean bolean b = 100 <10; out.println( "100 <10 =" + b); );実行結果:
100> 10 = true100 <10 = false100 <10は正しいです
実際、trueは1に相当し、falseは0に相当しますが、その名前を変更し、個別にデータ型になりました。