C#學習筆記---基礎入門(一)


C#中的變量:

一個變量就是存儲區(內存)中的一個存儲單元。

變量聲明賦值:int money =1000;/int money;money=1000; 輸出:console.writeLine(money);console.ReadLine(money);

變量的命名規則:即標識符的命名規則: 字母,數字,下划線(不能以數字開頭,區分大小寫) 

命名規范:簡短且能清楚的表明變量的作用,通常第一個單詞的首字母小寫,其后單詞的首字母大寫,例如myScore

變量的作用域(生命周期):類體中的成員變量(類中的全局變量)-》1.static int x=90;//靜態變量  2 .int x=90;//實例變量

靜態方法中調用靜態變量可以根據變量名(類名.變量名)直接調用,而想調用實例變量必須經過對象名調用。

class Program
{
     int aa=10;//實例變量
     static int bb=20;//靜態變量
     static void Main(string[] args)
    {
          Program pro=new Program();
          Console.WriteLine(pro.aa);
          Console.WriteLine(bb);
    }

}
View Code

方法中的局部變量 :只限制於方法內可以調用。

 

數據類型:

值類型:整數/實數/字符/布爾    結構/枚舉  
-------值類型直接存儲值(對一個對象進行修改,不會改動其他對象值)

八進制(以0開頭,其他為0-8)十六進制(以0X開頭);C#默認小數是double類型,所以使用float類型時后面加f.

特點:值類型表示實際數據,只是將值存在內存中,值類型都存儲在棧(固定空間)中。

引用類型:類/接口/數組/委托  一般會用到New關鍵字,string類型是引用類型

特點:引用類型表示指向數據的指針或引用,包含內存堆(動態空間)中對象的地址,為NULL,表示未引用任何對象。

類型轉換:隱式類型轉換:低精度向高精度轉換,可以隱式轉換,或者兩者可兼容,例如int與double

顯式轉換/強制轉換:

int b=(int)10.2;//(類型名)表達式
double a=10;
int c=(int)a;

double a=10;
int c=Convert.ToInt32(a);//Convert.To類型名(表達式)經常用
double a=10;
double c=double.Parse(a.ToString());//.Parse類型名(表達式必須為String型)

string str="10";
int c=Int32.Parse(str);

值類型轉換為->引用類型 稱為裝箱

引用類型轉換為->值類型 稱為拆箱

int i =10;//值類型
object obj=i;//裝箱操作
int  j=(int)obj;//拆箱操作

 枚舉類型:

枚舉是一組描述性的名稱

枚舉定義一組有限的值,不能包含方法

對可能的值進行約束

枚舉允許描述性名稱表示整數值

語法:enum 枚舉名{值1,值2...}

public enum Mrkj
{
  CS=1,Java=2,C=3
}
在main方法中輸出
console.WriteLine((int)Mrkj.CS);

枚舉使用:日期相關程序,編寫用戶權限

常量:

靜態常量:const  不能被修改 ,與static變量相同,可以直接通過類名調用。

動態常量:readonly  在構造函數中可以被修改

 

C#中的表達式與運算符

表達式由操作數與運算符構成

運算符:+ - * / %

自增自減運算符:b=a++(先取值,后自增);b=--a(先自減,后取值);
賦值運算符=:需要注意賦值左右兩邊值類型的隱式轉換問題。

關系(比較)運算符:>=   <=   >  <  ==  !==

邏輯運算符:非!  與&&   或 ||  (如果使用&或者| ,效率沒有&&,||效率高)

位運算符:按位與運算 5&4=4.因為5=00101 ,4=00100,按位與得到00100

              按位或運算 3|6=7.因為3=00011 ,6=00110,按位或得到00111

              按位取反運算 ~7取反為-8.因為7=00000111 ,按位取反得到11111000

              按位異或運算 10^3=9.因為10=001010 ,3=000011,按位異或得到001001

移位運算:左移位<<右移位>>    左移幾位就是*2的幾次方。  右移幾位就是除以2的幾次方。

特殊運算符:

 運算符的優先級:下圖優先級從上到下,由高到低。(結合表示同級從右向左,從左向右)

 

C#中的字符與字符串

字符 char(單個字符) 用單引號 ,例如char a=‘a’;可以通過調用char類下的方法進行一些操作,具體通過help查看其相關方法

轉義字符:“\”將原有字符的意義改變

轉義符 說明
\n 回車換行
\t 橫向跳到下一制表位置
\" 雙引號
\b 退格
\r 回車
\f 換頁
\\ 反斜線符
\' 單引號符

如果想輸出目錄,例如“C:\windows\app\sad\haha”,有很多反斜線,則可以使用@方法,即@“C:\windows\app\sad\haha”。也可正常輸出。

字符串  string  用雙引號

string str1=null;//null與空字符串不是同一概念。null不推薦

string str2="";

連接多個字符串使用“+”運算符

比較字符串:if(name==""){}   if(name.Equals(string.Empty)){}

                 string.Compare(str1,str2)        str1.CompareTo(str2)  這兩種可以比較兩個字符串的值,但如果是英文或漢字,則比較他們在字典中的位置。如相等返回0,不等返回1.或-1

格式化字符串:string myString=string.Format("{0}乘以{1}等於{2}“,2,3,2*3);//輸出結果為2乘以3等於6

格式化日期格式:

插入字符串:在字符串的指定位置插入子字符串

                 語法  string Insert(int startIndex ,string value)

填充字符串:在字符串的左側或者右側進行字符填充(只能填充一個單字符)

                 語法  string PadLeft(int totalWidth,char paddingchar)

                        string PadRight(int totalWidth,char paddingchar)

刪除字符串:從一個字符串的指定位置開始,刪除指定數量的字符                                               

                 語法 string Remove(int startIndex,int count)

復制字符串:Copy方法----全部復制 (靜態方法,通過類名調用)                                            

                 CopyTo方法----部分復制(非靜態方法,通過對象名調用)

string str="helloworld";
string str1=string.Copy(str);//完全復制

char[] ch1=new char[10];
str.CopyTo(6,ch1,3,4);//部分復制,參數代表含義為從str的第6個字符復制5個字符到ch1數組中,從第三個位置開始粘貼

替換字符串:將字符串中的某個字符或者字符串替換成其他的字符或字符串

                 語法 string Replace(char OldChar,char NewChar)

                        string Replace(string OldValue,string NewValue)

StringBuilder類(對原有對象進行操作,不會生成新的對象)

 其存在System.Text命名空間中

常用的方法:Append//AppendFormat//Insert//Remove//Replace

StringBuilder sbuilder=new StringBuilder("MR");
sbuilder.Append("soft");
sbuilder.AppendFormat("{0:C}",365);
sbuilder.Insert(2,"mr");
sbuilder.Remove(2,2);
sbuilder.Replace("soft","SOFT");//輸出MRSOFT¥365.00

StringBuilder 與String的區別在於String Builder效率更高

 

C#中的條件判斷語句

if else  

if  else if   

switch case

 

C#中的循環控制語句

while語句

do while語句

for循環語句

foreach語句 用於枚舉一個集合的元素,並對該集合中的每個元素執行一次嵌入語句。

using System.Collection;

在main方法中
      ArrayList list=new ArrayList();
      list.Add("a");
      list.Add("b");
      list.Add("c");
      foreach (string str in list)
      {
           Console.WriteLine(str);
      }
      Console.ReadLine();

 

C#中的跳轉語句

break;  用於退出最內層的循環或者退出一個switch語句

contine;  用於終止當前循環,並開始下一次循環,只能用於while  /do while/for/foreach 中

goto  用於將控制轉移到由標簽標記的語句,goto case 【參數表達式】;goto default;goto【標簽】;

return;返回語句 返回與方法相同的數據類型

數組

一維數組

聲明初始化數組 int[] numbers = new int[5]; 

                    float[] scores = new float[3]{1.1f,2.4f,5.6f};

                    string[] names = new string[10];//使用new是給數組動態賦值。

                    string[] s={"laowang","laozhang","laoli"};//給數組進行靜態賦值Tips:CW+tab+tab---Console.WriteLine();

         for+tab+tab,----快捷鍵輸出for循環

二維數組

int[,] numbers =new int[2,3];//聲明一個2行3列的數組,初始值為0.

int[,] numbers =new int[2,3]{

             {1,2,3},

             {4,5,6}

};

遍歷二維數組除了使用雙層遍歷for循環,還可以用更簡單的foreach方法 , 當我們不需要對循環本身進行控制,  推薦使用foreach。             foreach (int num in numbers){}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM