·運算符
數學運算符:+ - * / %
比較運算符:< > = <= >= != 返回bool值
邏輯運算符:&&並且、||或者,兩者運行順序無先后
邏輯非"!": 只作用於緊跟的代碼,數學運算符(在有括號的情況下成立)<優先級<比較運算符
運算順序:"(* / %)">"(+ -)", 邏輯運算符,賦值運算符“=”
自增“++”自減“--”:寫在變量前就先++后賦值,優先級>加減乘除模;寫在變量后就先賦值后++,優先級<加減乘除模。如:
int a = 0; int b = 0; int c = ++a + b; int d = a++ + b; Console.WriteLine(c +","+ d+","+a);
c,d,a的輸出結果分別是1,1,2
條件運算符 (比較表達式)?(滿足表達式:語句一):(不滿足表達式:語句二)
其他賦值運算符:+= -= /= *= %=
·數據類型
值類型
int,long,double,float,decimal
1.sbyte--有符號 byte--無符號(正數)255
2.int long short--有符號 uint ulong ushort--無符號
3.enum枚舉 struct結構體
引用類型
1.class 委托 dynamic 接口 object string
2.object基類 所有類型的父類(統稱)
3.string分段方法:string.Join("分隔符",string數組)
常量(const)
const使變量轉換為常量,方法:const int = 1
隱式類型
var myInt= 0;var myBool = true……(強類型數據,通過var來代替正式的數據類型名)
匿名類型
var student = new {name = "李明", Age = 19}
=>class student{ public string name{get;set} public int age{get;set}} student s = new student{name = "李明",age = 19}
用自動屬性封裝各個數據。
·類型轉換
1、值類型轉為值類型:強制轉換。例:
int i = 4; int s = 5; double jieguo = (double)i/s; double i1 = 4.5; int s1 = 5; double jieguo1 = i1 / (double)s1;
2、值類型轉換成引用類型:顯式轉換。例:
//轉換為字符串ToString string j = i.ToString(); Console.WriteLine(j); //j現在是字符串形式
3、引用類型轉換為值類型:隱式轉換(需要在值類型的承受范圍內,如“1.23”就不能轉換成int整數型)。例:
string st = "1.35"; double dd = double.Parse(st); double ds = Convert.ToDouble(st);//另一種方法 int ss = int.Parse(st);//Wrong!不能運行 int ii = (int)double.Parse(st);//轉換為整型時需要先轉換為double型,默認取floor值 Console.WriteLine(dd);//結果是1.35 Console.WriteLine(ii);//結果是1
·練習:
1、從控制台輸入底面半徑和高,求圓柱的表面積

Console.WriteLine("請輸入底邊半徑和高:"); double di = double.Parse(Console.ReadLine()); double h = double.Parse(Console.ReadLine()); double dimianji = 3.14 * r * r; double cemianji = 2 * 3.14 * r * h; double biaomianji = dimianji * 2 + cemianji; Console.WriteLine("圓柱的表面積是:{0}",biaomianji);
2、(含if語句的)從控制台輸入一個月份,如果這個月份是1~6月,就輸出“這是上半年”,否則輸出“這是下半年”

Console.WriteLine("請輸入一個月份:"); int mon = int.Parse(Console.ReadLine()); bool pan = mon<=6; if (pan == true) Console.WriteLine("這是上半年"); else Console.WriteLine("這是下半年");