進制
進制:進位機制(進位方法)。基數:也叫底數,基數為n,代表n進制。
位權:從個位開始向左依次編號為0,1,2...,分別代表n進制的幾次方。
計算機中常見的進制:二進制、八進制、十六進制和十進制為了區別不同進制的數,八進制以0開頭、十六進制以0x開頭
注意:二進制以 00開頭;八進制以0開頭;十六進制以0x開頭
十進制轉x進制:連除倒取余;
x進制轉十進制:按權求和:
如:將001010轉成十進制
0*2^0+1*2^1+0*2^2+1*2^3=10;
基本數據類型
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?含有的字節大小
bool ? ? ? ? ? ? ? ??邏輯值(真/假) ? ? ? ? ? ? ? ? ?1
sbyte ? ? ? ? ? ? ??有符號8位整數 ? ? ? ? ? ? ? ?1
byte ? ? ? ? ? ? ? ??符號8位整數 ? ? ? ? ? ? ? ? ? ?1
short ? ? ? ? ? ? ??有符號16位整數 ? ? ? ? ? ? ? 2
ushort ? ? ? ? ? ??符號16位整數 ? ? ? ? ? ? ? ? ? 2 ??
int ? ? ? ? ? ? ? ? ? ?有符號32位整數 ? ? ? ? ? ? ? 4
uint ? ? ? ? ? ? ? ? ??符號32位整數 ? ? ? ? ? ? ? ? ? 4
long??????????????????有符號64位整數 ? ? ? ? ? ? ? 8
ulong????????????????符號64位整數 ? ? ? ? ? ? ? ? ? 8
char??????????????????16位字符類型 ? ? ? ? ? ? ? ? ? ?2
float??????????????????32位單精度浮點類型 ? ? ? ?4
double??????????????64位雙精度浮點類型 ? ? ? ?8
decimal??????????????128位 精度浮點數 ? ? ? ? ? ?16
string ? 字符串
聲明變量和賦值
類型修飾符 ? 變量名 ?=初始值;
例如:int age=23;
變量命名禁忌
只能由數字、字母、下劃線或@組成,并且數字不能開頭,@只能用在開頭。
不可以與系統保留字同名。
不能使用重復的變量名(C#大小寫敏感)。
見名知意(規范)
駱駝命名法,第一個單詞小寫,后面單詞的首字母大寫
轉義字符
\n ? ? ? ? ? 換行
\\ ? ? ? ? ? ?打印\
\" ? ? ? ? ? ?打印"
\' ? ? ? ? ? ? 打印'
格式化輸出(占位符)
格式:Console.Writeline("x,{0},xxx{1},x{2}x",a,b,c);
{0:fn} ? 保留小數位
f ? 默認保留兩位小數 ? n=保留的小數的位數
{0:00.000} 可保留自定義保留內容,可以為整數部分
{0:pn} 轉化為百分數并保留n位小數
類型轉換
隱式轉換
例如:int age=10;
? ? ? ? ? ? double sum=age;
條件:
1.數據要兼容,都是值類型;
2.從取值范圍小的往大的轉;
強制轉換
從取值范圍大的轉換成取值范圍小的,會丟失精度
使用變量名進行的強轉
double a=10.43f;
float b=(float)speed;
括號內是需要強制轉換成的類型,括號左是待強制轉換的變量。
使用parse進行強轉
int a=int.parse(console,readline());
將string強制轉化成int
使用ConvertTo進行強轉
string a="1234";
int b=convert.toint16(a);
常用于convert.tochar
int a=console.read();
char A=convert.tochar((int)a);得到ACSII碼對應的內容