類型轉換
一、隱式轉換
- 將佔⽤字節⼩的、取值範圍⼩的、精度⼩的,轉換爲佔⽤字節⼤的、取值範圍⼤的、精度⾼的
- 不需要任何的修飾符,會⾃動轉換
- int可轉換爲float和double,long也可轉化爲float和double,整數可轉化爲浮點數,且long類型取值範圍小於float類型,不會出現數據錯誤。
//整型
//sbyte short int long
sbyte englishScore = 100;
//sbyte --> int
int myScore = englishScore;
//int --> long
long classScore = myScore;
//int --> float
float newScore = myScore;
//float --> double
double newClassScore = newScore;
二、顯式轉換
- 將佔⽤字節⼤的、取值範圍⼤的、精度⾼的轉換爲佔⽤字節⼩的、取值範圍⼩的、精度⼩的
- 需要強制轉修飾符,會有精度的缺失,甚⾄數據的錯誤
- 轉換情況:知道這個數字,在⼩的數據類型的取值範圍內
- 舉例:short 轉換成 sbyte:0000 0000 0000 0110 --> 0000 0110
//強制轉換
int damage = 1000000;
//int --> sbyte
sbyte health = (sbyte)damage;
float mathScore = 90.5f;
//float --> int
int myAllScore = (int)mathScore;
//會把⼩數點後⾯的內容全部捨去
- int和char之間的類型轉換
int轉爲char和char轉爲int都是ASCII碼值 - string與其他類型之間的轉換方法:
1、System.Convert:
System.Convert.ToBoolean()
System.Convert.ToInt32()
System.Convert.ToSingle()
System.Convert.ToDouble()
System.Convert.ToChar()
2、 數據類型.Parse():
int.Parse()
bool.Parse()
float.Parse()
char.Parse()
3、其他類型轉string:其他類型的變量.ToString();
輸入與輸出
一、輸出
- Console.WriteLine();輸出內容,並換⾏
- Console.Write();輸出內容,不換⾏
二、輸入:
- Console.Read();從屏幕讀取⼀個字符,並返回該字符所對應的ascll碼值
- Console.ReadLine();從屏幕讀取⼀串字符,並返回該字符串