如果在一條語句中宣告和初始化了多個變數,那麼所有的變數都具有相同的資料型別
int x=10,
y=20
;變數使用前需要賦初始值
宣告不同型別的變數需要單獨的語句。
變數的初始化
變數時類或者結構中的字段,如果沒有顯式的初始化,建立這些變數時,其預設值就是0.
方法的區域性變數必須在**中顯示的初始化,之後才能在語句中使用它們的值。
c#中初始化應用型別的資料時需要使用
new關鍵字。
型別推斷
1. 型別推斷是使用var
關鍵字2. 變數必須初始化(否則編譯器沒有推斷變數型別的依據)
3. 初始化器不能為空
4. 初始化器必須放在表示式中
5. 不能把初始化器設定成乙個物件,除非在初始化其中建立了乙個新的物件。
6. 宣告的變數推斷出型別後,就不能改變變數的型別了變數型別確定後就要遵循其他變數型別遵循的強型別化規則。
變數的作用域
變數的作用域是可以訪問該變數的**區域。
常量在宣告變數時前面加上const
,就可以把該變數指定為乙個常量。
常量必須在宣告時初始化
常量的值必須在編譯時用於計算
常量實際上是靜態的,但,注意不允許在常量宣告中包含修飾符static
如果需要這麼做,應該使用唯讀字段。
常量替代了難讀的數字和字串使程式易於閱讀。
常量是程式易於修改。(銷售稅率發生變化6%
變到8%
)只需要修改變數的初始值即可
常量更容易避免讓程式出現錯誤。
值型別和引用型別
值型別直接儲存其值
應用型別儲存對值的引用
儲存位置不同:
值型別儲存在堆疊中
引用型別儲存在託管堆上
cts型別
在c#中宣告乙個
int型別的資料時宣告的實際上是.net結構system
。int32
的乙個例項。
可以在語法上吧基本資料型別看做是支援某些方法的類。
c#有15
個預定義的型別,其中
13個值型別,兩個引用型別
(string
和object)
c#支援
8個預定義整數型別
decimal型別的資料用於財務計算但是
decimal
不是基本型別,所以計算時使用該型別會有效能損失。
decimal d=13.30m;
預定義的用用型別
object 可以使用object
引用繫結任何子型別的物件
object執行許多一般用途的方法。(
equals
(),gethashcode
(),gettype
(),tostring
()等等)。
string :雖然string
是應用型別但是與其它引用型別在常見的操作上又有一些差別(字串是不可變的:修改乙個字串就會建立乙個全新的
string
物件而另乙個字串不發生任何變化)——實際是運算子過載的結果
轉義字元的使用
string filepath=」c://procsharp
string filepath=@」c:/procsharp/first.cs」;
流控制switch (integera)
main
c#程式是從方法main()開始執行的。這個方法必須是類或者結構的靜態方法並且返回值型別必須是int或者void。
Python核心教程 第二章
輸出hello world 核心筆記一 在互動式直譯器中顯示變數的值 通常當你想看變數內容時,你會在 中使用print 語句輸出。不過在互動式直譯器中,你可以用 print 語句顯示變數的字串表示,或者僅使用變數名檢視該變數的原始值。在下面的例子中,我們把乙個字串賦值給變數mystring,先用pr...
第二章 C 筆記
1.可以用函式sizeof來確定乙個型別占用記憶體的大小 如 cout 2.整數除法的結果仍為整數,小樹部分會被截去。如,5 2 2 5 2 2 而不是 2.5 模運算 只有當被除數 前面的那個數 是負數時候,餘數才會是負數。如 7 3 1 12 4 0,20 13 7 而不是 7 3.型別轉換並不...
C 第二章學習
在c 中用同一名字定義多個函式,多個同名函式的個數和型別可以完全不同。int abs int n double abs double n 當同樣名字的函式出現在同一作用域內,就是函式過載。一般過載函式執行相同的功能。必須有兩種差別之一 1 乙個或多個引數的型別不同。2 函式的引數個數不同。如果內部變...