C#-筆記-從0-1

快捷鍵及基礎知識

注釋:
//單行注釋
/多行注釋/
///代碼段注釋

/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 循环内使用一个或多个循环。

程序調試

調試方法:

  1. F11逐句調試(單步調試)
  2. F10逐過程調試
  3. 斷點調試

三元表達式

語法:表達式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;  
上一篇:外观模式


下一篇:学习java线程学习笔记