快捷鍵及基礎知識
注釋:
//單行注釋
/多行注釋/
///代碼段注釋
/r/n win系統輸出的回車
Ctrl+k+d 快速對齊
Ctrl+k+c 快速注釋
Ctrl+k+u 快速取消注釋
@作用1.取消\在字符串裡的鑽義作用
2.把字符串按照原格式輸出 例子:
Console.WriteLine(@“This is the first line.
This is the second line.”);
命名規則:
Camel:變量名—小駝峰
Pascal:類名—大駝峰
前提:類型兼容
小轉大:自動轉
大鑽小:強制轉,語法:(待轉換的類型)要轉換的值
如果兩個類型不兼容:可以使用convert轉換工廠進行轉換
String s = "123456";
Double d = Convert.ToDouble(s);//強制轉換變成double類型去進行運算
Double a = 12;
Double k = a + d;
Console.WriteLine("d={0},k={1}",d,a);//佔位符站好位置再寫
Console.ReadKey();
代码是如何工作的?
Console.WriteLine(“Hello World!”);
Console 部分称为“类”。 WriteLine() 部分称为“方法”。
• Console、Write 和 Line 首字母大写
• 使用正确的标点,因为它们在 C# 中扮演特殊角色
在 .NET 编辑器中编写代码,以显示两条消息
Console.WriteLine(@“This is the first line.
This is the second line.”);
接受控制台字符轉換計算
//接受用戶的成績並輸出來
Console.WriteLine("請輸入你的姓名");
String name = Console.ReadLine();//接受用戶的字段
Console.WriteLine("語文成績");
String strChinese = Console.ReadLine();
Console.WriteLine("數學成績");
String strMath = Console.ReadLine();
Double Chinese = Convert.ToDouble(strChinese);
Double Math = Convert.ToDouble(strMath);
Console.WriteLine("姓名是{0}總成績是{1}平均成績是{2:0.00}", name, Chinese + Math, (Chinese + Math)/2); //這裡邊佔位符裡的2:0.00是取兩位小數的意思
+±-運算符
Int a , b = 2 ,c =3;
Int a = b++ * --c
//輸出4 b++裡邊是2參加運算 --c是2參加運算
Int a = ++b * c—
//輸出9 ++b前加參加運算的是3 c—后減參加運算的是3
判斷符號 ||或 &&與,且
/ //閏年判斷
//可以被400整除
//可以被4整除但是不能被100整除
Console.WriteLine("請輸入年份");
int year = Convert.ToInt32(Console.ReadLine());
Boolean b = year % 400 == 0 || year % 4 == 0 && year % 100 == 0;
Console.WriteLine(b);
Console.ReadKey();
上圖中明顯是&&的優先級大於||所以說一下看不出來,可以加上()進行可以更加直觀。
異常捕捉:
語法正確,其他在運行時候的問題
使用try-catch來提高代碼的健壯性。下邊寫例子。
Console.WriteLine("請寫出一個數字");
try
{
int b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(b);
Console.ReadKey();
}
catch {
Console.WriteLine("輸入的數據有問題");
Console.ReadKey();
}
Continue和break的區別
break 语句,它不仅可以跳出“循环体”,还可以跳出 switch。但事实上,break 也只能用于这两种情况。break 语句不能用于循环语句和 switch 语句之外的任何其他语句中。
continue 语句只结束本次循环,而不是终止整个循环。break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。而且,continue 只能在循环语句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何语句中使用。
循環
while 循环
当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。
for/foreach 循环
多次执行一个语句序列,简化管理循环变量的代码。
do…while 循环
除了它是在循环主体结尾测试条件外,其他与 while 语句类似。
嵌套循环
您可以在 while、for 或 do…while 循环内使用一个或多个循环。
程序調試
調試方法:
- F11逐句調試(單步調試)
- F10逐過程調試
- 斷點調試
三元表達式
語法:表達式1?表達式2:表達式3;
表達式1是一個關係表達式
如果表達式1的值是ture 那麼表達式2的值就是整個三元表達式的值
如果表達式1的值是false 那麼表達式3的值就是整個三元表達式的值
注意:表達式2的結果類型必須和表達式3的結果類型一致,並且也要和整個三元表達式的結果類型一致。
//三元表達式
Console.WriteLine("請輸入姓名");
String name = Console.ReadLine();
String result = name == "老趙" ? "人才" : "啥雕";
Console.WriteLine(result);
Console.ReadKey();
創建隨機數
//創建能產生隨機數的對象
Random r = new Random();
//讓產生隨機數的對象調用方法來產生隨機數
for (int i = 0; i < 10; i++)
{
int rNumber = r.Next(1, 10);
Console.WriteLine(rNumber);
}
Console.ReadKey();
常量,枚舉,結構
常量的聲明語法:
//const 變量類型 變量名 = 值;
//const 變量類型 變量名 = 值;
const int num = 12;
num = 21;
Error 1 The left-hand side of an assignment must be a variable, property or indexer
错误 1 任务的左侧必须是变量、属性或索引器
常量不能被改變;
枚舉:枚舉,規範了我們的開發,規定了比如說性別,就不讓亂寫(男,man等等這些不同的詞匯)
語法:
[public] enum 枚舉名{值1,值2...}
一般寫在命名空間下邊,就讓所有的類都可以用。當然了還可以寫在類里,main方法外邊;枚舉默認可以與int類型互換,枚舉類型和int類型是兼容的,所有類型都可以轉換成string類型
例子:
namespace test02
{
public enum Gender
{
男,
女
}
class Program
{
static void Main(string[] args)
{
Gender gerder = Gender.男;
Console.WriteLine(gerder);
Console.ReadKey();下邊的括號就不寫了
結構:可以幫助我們一次性聲明多個不同類型的變量。同時可以與枚舉合用,比如與上邊的姓別的一塊連用;
[public] struct 結構名{成員變量}
與枚舉一樣放在命名空間裡
public struct Person {
public string _name;//一般在下邊放下劃線,以區別是字段不是變量
public int _age;
public char _gender;//加上public可以讓下邊方法來調用,不然權限不夠
}
在方法裡調用
Person zsPerson;
zsPerson.name = "張三";
zsPerson.age = 32;
zsPerson.gender = '男';
Person lsPerson;
lsPerson.name = "李四";
lsPerson.age = 23;
lsPerson.gender = '女';
Console.WriteLine(zsPerson.name);
Console.WriteLine(lsPerson.name);
數組
一次性存儲多個相同類型的變量;
語法:數組類型【】 數組名=new 數組類型【數組長度】;
數組的長度不能改變,要注意數組的界限
計算數組的最大值,最小值
int[] num = { 1, 2, 3, 4, 5, 54, 7, 8, 9, 45 };
int max = 0;
int min = 21;
for (int i = 0; i < num.Length;i++ )
{
if(max < num[i]){
max = num[i];
}
if(min > num[i]){
min = num[i];
}
}
Console.WriteLine(max);
Console.WriteLine(min);
Console.ReadKey();//其實還是有缺陷的因為max,min不一定賦值的時候會出現問題所以給他一個初始值,這個初始值就是最小,int max = int.MinValue;在int範圍裡這個值最小。同理反之:int min = int.MinValue;