web前端學習基礎知識3
今天接著給大家講講web前端的基礎知識。
數據運算案例分析:變量值的復制——講數據復制到另一個變量中去
變量的自增或自減——在原有的基礎上進行增加或減少
eg:int a=1;
a=a+5------自增
a=a-4-------自減
多個數據的運算——至少2個及以上的數據進行運算
(註意每一步運算的返回類型)
eg:1、int x=1,y=2;
x=x+y
x=x-1
其中:x=x+y與x=x-1可以合並寫為——x=x+y-1
下面再來看幾個例子:
2、int x=1+1.3+2;
int x=1+"1"+2;
你覺得上面寫的代碼正確嗎?為什麽?
答案是不正確。 因為int類型是一個整數,他的返回結果肯定也是int類型的,但是1.3是一個小數,double無法賦值給int,因此不能轉換為int類型。同理,"1"是string類型的,也無法直接轉換為int類型,所以下面一個代碼也是錯誤的。那麽怎麽改才正確呢?要麽就是把1.3和"1"換成整數,要麽就把前面的int分別改為double和string類型的就正確了。
變量值交換——需要第三個量來實現
先來看這一個代碼:int x=1,y=2;
x=y;
y=x;你覺得上面這個代碼能實現嗎?
這肯定是不能實現的,因為上面這個代碼它所表達的意思就是把2賦值給x,那麽現在的x就不再是1,而是2了,再把x=2賦值給y,此時y就是2了,這明顯已經改變了原值,是不能實現它想要的效果。如果給上面這個代碼新添加一個量z來實現中間過渡,從而達到想要的效果,如下:
int x=1,y=2;
z=x;
x=y;
y=z;這樣寫就正確了。
輸入語句:在控制臺中獲取用戶輸入的內容
作用:程序暫停執行,等待用戶輸入(閃爍光標處)
代碼書寫:console.Readline();——string類型
返回類型:string類型
eg:string s=Console.Readline();
——將程序暫停,等待輸入
——輸入完成後按回車,獲取輸入的字符串
——將該字符串保留到變量S中
類型轉換:把某個類型數據通過轉換得到另一個類型的數據
A、任意類型→string
轉換代碼:待轉換的數據.Tostring();————————[待轉換的數據:需要轉換的數據或變量;.Tostring();是固定寫法]
返回類型:string
eg: int a=10;
string b=a;這是一個錯誤的代碼。為什麽呢?
因為在這個代碼中int無法賦值給string。把下面一個代碼改為:string b=a.Tostring();就正確了
B、int與double的相互轉換
原則:取值範圍小的數字類型————取值範圍大的數字類型(隱式轉換:不需要額外代碼)
取值範圍大的數字類型————取值範圍小的數字類型(顯式轉換:需要額外的代碼)
隱式轉換:double取值範圍>int取值範圍
顯式轉換:eg:double a=3.14;
int b=a 錯誤。
應該是int b=(int)a {問題來了,這裏的double是小數,而int是整數,難道int b=3.14? 當然不是,因為int類型只能取整,所以在這裏int b只能等於3,小數部分的數字要舍棄掉,不能對其進行四舍五入。因此,顯式轉換有可能會造成數據丟失。}
C、string→數字類型
string——int:int.parse(待轉換的字符串); 返回類型:int
string——double:double.parse(待轉換的字符串); 返回類型:double
eg:string str1="1",str2="數字1";
int a=int.parse(str1);——————string→int
double b=double.parse(str2);————string→double
a=int.parse(str2);——————string→int X 無法將"數字1"轉換成int
b=double.parse(str2);————string→double X 無法將"數字1"轉換成double
a=double.parse(str1);————string→double X 無法將double類型數據賦值給int類型
轉義符:在代碼中書寫一個斜杠(\),用於改變斜杠後出現字符的意義
常見有:\"→雙引號 \‘→單引號 \n→換行符 \t→制表符 \\→斜杠\
eg:string pth="c\windows\iis.log"; X
string pth="c\\windows\\iis.log";或string [email protected]"c\windows\iis.log"; 【@:表示在接下來的字符串中不會出現轉義符】
console.write("你\n好");→你
好
console.writeline("\t你\t好")→ 你 好
數字類型使用原則:1、對於計算精確度要求很高的實數,使用decimal
2、對於內存使用要求苛刻的軟件,盡量在保證取值範圍的前提下使用占位較少的類型
3、如果沒有上述的要求,整數用int,實數用double
代碼註釋:即使用一些描述語句,讓你的代碼便於閱讀和理解
註釋內容,沒有任何實質功能,不參與編譯,只存在於源代碼中
書寫代碼:單行註釋——//註釋內容
多行註釋——/*註釋內容 註釋內容*/
文檔註釋
什麽時候使用註釋?
代碼不易理解、代碼非常復雜、代碼量大、在團隊開發中,會有其他人閱讀你的代碼
軟件中的錯誤及調試:
A、編譯錯誤(導致源代碼無法通過編譯): 發現錯誤——查看VS中的錯誤列表——菜單欄視圖→選中錯誤列表
解決錯誤——根據錯誤提示,做出相應修改
錯誤特點——易發現,易修改
B、運行錯誤(在運行中報錯):發現錯誤——在調試模式下運行,並運行到報錯的語句
解決錯誤——根據錯誤提示,做出相應修改
錯誤特點——難發現,難修改
C、邏輯錯誤(運行結果和預期不同):發現錯誤——仔細核對運行結果,看與預期是否一致
解決錯誤——使用VS的斷點調試,檢查每一步的執行結果
錯誤特點——極難發現,極難修改
運算符的表達式
運算符:即操作符,一個用於運算的符號,作用於一個或多個操作符(操作符:參與運算的數據)
eg:string a="$"+Z*b/c //主函數中的某條語句
分類:數量:一元運算符、二元運算符、三元運算符
功能:算術運算符、邏輯運算符、位運算符、其他
常見小括號():功能:類型轉換、改變運算順序、函數調用
算術運算符:+、-、*、/、%、++、--
++:a、變量名++——1、計算返回結果與變量相同;2、將變量值自增1
b、++變量名——1、計算返回結果,為變量值+1;2、將變量值自增1
--:a、變量名-- ——1、計算返回結果與變量相同;2、將變量值自減1
b、--變量名——1、計算返回結果,為變量值-1;2、將變量值自減1
運算順序:++、--、→*/%→+-
eg:int x=1
計算x=x+x++-x--*++x/--x%x
得:x=1+1-2*2/1%1=2-0=2
賦值運算符:=、+=、-=、*=、/=、%=
eg:x+=運算代碼等效於x=x+(運算代碼)
返回結果:與變量值相同
邏輯運算符:==、!=、>、>=、<、<=、&&、||、!、
返回結果:bool類型→true或false (bool表示真和假兩種狀態 取值範圍:true或false)
eg:== int a=1,b=2;
boolc=a==b →a等於b?→false(同理!=、>、>=、<、<=)
&& 兩個bool類型進行運算,運算結果:真真為真,其他為假
int a=1,b=2;
bool c=a!=b; →1不等於2
bool d=a>b
bool e=c&&d
false
|| 兩個bool類型進行運算,運算結果:假假為假,其他為真
int a=1,b=2;
bool c=a!=b; →1不等於2
bool d=a>b
bool e=c||d
true
! 對一個bool類型數據求反,數據為真,結果為假;數據為假,結果為真
int a=1,b=2;
bool c=a!=b;
bool d=!c →c為真
false
三目運算符:
書寫:操作數1?操作數2:操作數3 (操作數1為bool類型;符號為英文狀態下模式;操作數2、操作數3為任意類型,但必須相同)
返回結果:若操作數1為真,操作數2則作為返回結果;若操作數為假,操作數3則作為返回結果
eg:int a=3;
int b=a%2; →b=1
bool c=b==0; →c false
string d=c?"偶數":"奇數";
console.writeline(d); →d為奇數
位運算符:用於對數字進行二進制運算
表達式:一條有意義的語句,並且該語句中至少包含一個操作數和操作符
每一個表達式,都有一個返回類型
每個表達式都可以與其他表達式(除了viod-無類型,沒有返回結果)進行運算,只要類型符合要求
運算符優先級
使用多個運算符的常見場景
賦值運算:永遠最後運行
數學運算:按照數學中的順序進行(先運行括號,有嵌套則從裏到外;再運行乘除求余;最後加減)
web前端學習基礎知識3