using System;//引入系統(tǒng)空間
//命名空間(理解為省份)
namespace C_NO//自己的、定義的命名空間
{
class MainClass//定義類(理解為具體的地址)
{
//main函數(shù)(程序的入口,出口)有且只有一個。
public static void Main (string[] args)//函數(shù)/方法(一個一個的功能)
{
//標(biāo)識符:由數(shù)字,字母,下劃線,@組成
//使用@時,必須放在第一位
//int @a;
//int a@;
//字符串類型---本質(zhì)上是一個數(shù)組
//string str = "i love liuli!!";
//Console.WriteLine ("Hello World!");
//------------------------------------------輸入,輸出-----------------------------//
//輸出:Write、WriteLine
//Write(必須有參數(shù)),WriteLine(可以不需要參數(shù))
//Console是一個類,專門用戶管理控制臺
//Console.Write();
//Write("格式化字符串",變量列表)
//格式化字符串:原樣輸出內(nèi)容,占位符,轉(zhuǎn)移字符;任意組合。
//占位符:{變量的序號}/稱作占位符
// 序號從零開始
// 序號必須與變量對應(yīng),與變量類型無關(guān)
int a = 10 ,b = 20;
float f1 = 5.5546f, f2 = 3.2323f;//單精度常量必須在后面加f
//小數(shù)常量默認(rèn)是double(雙精度)類型
Console.Write ("a = {0},b = {1}\n", a, b);
Console.Write ("f1 = {0},f2 = {1}\n",f1,f2);
//WriteLine 默認(rèn)在末尾加一個換行
Console.WriteLine("a = {0},b = {1}", a, b);
//便捷的輸出:WriteLine(變量)
Console.WriteLine(a);
Console.WriteLine ("a=" + a + " b=" + b);
//格式化輸出,不針對便捷輸出
//N個0.N個0
//第一個:代表整數(shù)部分的寬度;第二個代表保留小數(shù)位數(shù)
Console.WriteLine("a = {0:00000}",a);
Console.WriteLine ("f1={0:00.00}", f1);
//保留兩位小數(shù):f2.f3
Console.WriteLine("f2={0:f2}",f2);
//輸入:Read(),ReadLine();
//Read():輸入一個字符,從控制臺讀取一個字符
// 返回對應(yīng)字符的ASCII碼值
//ReadLine():輸入一行字符。從控制臺讀取一行字符
// 返回一個字符串3
char c;
int q = Console.Read ();
c = (char)q;
Console.WriteLine (c);
string strTemp;
strTemp = Console.ReadLine ();
Console.WriteLine (strTemp);
//------------------------------------類型轉(zhuǎn)換---------------------------------//
//類型轉(zhuǎn)換:隱式轉(zhuǎn)換,強(qiáng)制轉(zhuǎn)換
/*
* 直接將一種類型的變量賦值給另外一種類型的變量即可。
* 轉(zhuǎn)換工作由系統(tǒng)自動完成
* 轉(zhuǎn)換條件:
* 1.數(shù)值范圍從小到大的轉(zhuǎn)換
* 2.必須都是值類型
* 是一種安全的轉(zhuǎn)換方式
* */
int scoreInt = 85;
float scoreFloat;
scoreFloat = scoreInt;//自動產(chǎn)生類型轉(zhuǎn)換
//強(qiáng)制類型轉(zhuǎn)換:從范圍大的向小的轉(zhuǎn)換
/*轉(zhuǎn)換是不安全的,可能丟失精度
* 方式:三種方式
* */
//第一種:(目標(biāo)類型關(guān)鍵字)變量
scoreFloat = 56.78f;
scoreInt = (int)scoreFloat;
Console.WriteLine (scoreInt);
//第二種:Prase轉(zhuǎn)換(目標(biāo)類型.Parse(字符串))
//將字符串轉(zhuǎn)換為字符類型
//被轉(zhuǎn)換的字符串中不能有其他字符
//否則程序會崩潰
string intstr = "265";
int num = int.Parse (intstr);
Console.WriteLine (num);
string floatStr = "33.56";
float f = float.Parse (floatStr);
Console.WriteLine (f);
//獲取用戶輸入的整數(shù)
//1.讀取整形數(shù)為字符串
string getStr=Console.ReadLine();
//2.將字符串轉(zhuǎn)換為整數(shù)
int n=int.Parse(getStr);
Console.WriteLine (n);
//第三種轉(zhuǎn)換,Convert轉(zhuǎn)換
//將任意對象轉(zhuǎn)換為數(shù)值類型
string aStr = "520";
int aa = Convert.ToInt32 (aStr);
Console.WriteLine (aa);
//四季,a為0時對應(yīng)輸出春天的語句
// a為1時輸出夏天的語句
//default 的位置沒有限制,可以放在任意合理的地方
aa=8;
switch (aa) {
case 1:
Console.WriteLine ("萬物復(fù)蘇!");
break;
case 2:
Console.WriteLine ("炎炎夏日!");
break;
case 3:
Console.WriteLine ("碩果累累!");
break;
case 4:
Console.WriteLine ("天寒地凍");
break;
default:
Console.WriteLine ("輸入錯誤??!");
break;
}
//------------------------------------break,continue---------------------------------//
//break:再循環(huán)中結(jié)束本層循環(huán)
//continue:再循環(huán)中結(jié)束本次循環(huán)
//打印1-100,遇到77則退出循環(huán)
for (int i = 1; i <= 100; i++) {
Console.WriteLine (i);
if (i == 77)
break;
}
//打印1-100之間的偶數(shù)
for (int i = 1; i <= 100; i++) {
if (i % 2 == 1)
continue;
Console.WriteLine (i);
}
//-------------------------------------數(shù)組------------------------------------------//
//定義:數(shù)據(jù)類型[] 數(shù)組名稱 = new 數(shù)據(jù)類型[數(shù)組長度];
int [] ages = new int[10];
float[] scores = new float[20];
//定義一個具有五個整數(shù)元素是數(shù)組,并初始化
int[] intArray = new int[5]{20,20,20,20,20};
//數(shù)組的長度根據(jù)初始化值的個數(shù)而定
int[] intArray1 = new int[]{ 20, 20, 20, 20, 20 };
int[] intArray2 = { 20, 20, 20, 20, 20 };
//數(shù)組名稱[下標(biāo)]
ages [0] = 18;
ages [1] = 20;
ages [2] = 25;
Console.WriteLine (ages [0]);
Console.WriteLine (ages [1]);
Console.WriteLine (ages [2]);
//獲取數(shù)組空間長度
//數(shù)組名稱.Length
Console.WriteLine(ages.Length);
//輸出intArray1中所以元素
Console.WriteLine(intArray1.Length);
//Console.WriteLine (intArray1 [0]);
//Console.WriteLine (intArray1 [1]);
//Console.WriteLine (intArray1 [2]);
//Console.WriteLine (intArray1 [3]);
//Console.WriteLine (intArray1 [4]);
for (int i=0; i < 5; i++) {
Console.WriteLine (intArray1 [i]);
}
//---------------------------------冒泡排序------------------------------------//
int[] sortArr = {1,5,6,3,4,2};
//第一趟,將最小的放在最末尾
for (int j = 0; j < sortArr.Length - 1; j++)
{//比較的次數(shù),每次從第一個開始
//判斷當(dāng)前元素是否比后一個小
if (sortArr[j]<sortArr [j + 1])
{
//如果小則交換位置
int temp = sortArr [j];
sortArr [j] = sortArr [j + 1];
sortArr [j + 1] = temp;
}
}
//第二趟,將倒數(shù)第二小的放在倒數(shù)第二的位置
for (int j = 0; j < sortArr.Length - 1 - 1; j++)
{//比較的次數(shù),每次從第一個開始
//判斷當(dāng)前元素是否比后一個小
if (sortArr[j]<sortArr [j + 1])
{
//如果小則交換位置
int temp = sortArr [j];
sortArr [j] = sortArr [j + 1];
sortArr [j + 1] = temp;
}
}
//for循環(huán)輸出排序后的值
for (int i = 0; i < sortArr.Length - 1; i++) {
for (int j = 0; j < sortArr.Length - 1 - i; j++)
{//比較的次數(shù),每次從第一個開始
//判斷當(dāng)前元素是否比后一個小
if (sortArr[j]< sortArr [j + 1])
{
//如果小則交換位置
int temp = sortArr [j];
sortArr [j] = sortArr [j + 1];
sortArr [j + 1] = temp;
}
}
}
for (int i = 0; i < sortArr.Length; i++) {
Console.Write (sortArr [i] + "\t");
}
Console.WriteLine ();
}
}
}