using System;//引入系统空间
//命名空间(理解为省份)
namespace C_NO//自己的、定义的命名空间
{
class MainClass//定义类(理解为具体的地址)
{
//main函数(程序的入口,出口)有且只有一个。
public static void Main (string[] args)//函数/方法(一个一个的功能)
{
//标识符:由数字,字母,下划线,@组成
//使用@时,必须放在第一位
//int @a;
//int a@;
//字符串类型---本质上是一个数组
//string str = "i love liuli!!";
//Console.WriteLine ("Hello World!");
//------------------------------------------输入,输出-----------------------------//
//输出:Write、WriteLine
//Write(必须有参数),WriteLine(可以不需要参数)
//Console是一个类,专门用户管理控制台
//Console.Write();
//Write("格式化字符串",变量列表)
//格式化字符串:原样输出内容,占位符,转移字符;任意组合。
//占位符:{变量的序号}/称作占位符
// 序号从零开始
// 序号必须与变量对应,与变量类型无关
int a = 10 ,b = 20;
float f1 = 5.5546f, f2 = 3.2323f;//单精度常量必须在后面加f
//小数常量默认是double(双精度)类型
Console.Write ("a = {0},b = {1}\n", a, b);
Console.Write ("f1 = {0},f2 = {1}\n",f1,f2);
//WriteLine 默认在末尾加一个换行
Console.WriteLine("a = {0},b = {1}", a, b);
//便捷的输出:WriteLine(变量)
Console.WriteLine(a);
Console.WriteLine ("a=" + a + " b=" + b);
//格式化输出,不针对便捷输出
//N个0.N个0
//第一个:代表整数部分的宽度;第二个代表保留小数位数
Console.WriteLine("a = {0:00000}",a);
Console.WriteLine ("f1={0:00.00}", f1);
//保留两位小数:f2.f3
Console.WriteLine("f2={0:f2}",f2);
//输入:Read(),ReadLine();
//Read():输入一个字符,从控制台读取一个字符
// 返回对应字符的ASCII码值
//ReadLine():输入一行字符。从控制台读取一行字符
// 返回一个字符串3
char c;
int q = Console.Read ();
c = (char)q;
Console.WriteLine (c);
string strTemp;
strTemp = Console.ReadLine ();
Console.WriteLine (strTemp);
//------------------------------------类型转换---------------------------------//
//类型转换:隐式转换,强制转换
/*
* 直接将一种类型的变量赋值给另外一种类型的变量即可。
* 转换工作由系统自动完成
* 转换条件:
* 1.数值范围从小到大的转换
* 2.必须都是值类型
* 是一种安全的转换方式
* */
int scoreInt = 85;
float scoreFloat;
scoreFloat = scoreInt;//自动产生类型转换
//强制类型转换:从范围大的向小的转换
/*转换是不安全的,可能丢失精度
* 方式:三种方式
* */
//第一种:(目标类型关键字)变量
scoreFloat = 56.78f;
scoreInt = (int)scoreFloat;
Console.WriteLine (scoreInt);
//第二种:Prase转换(目标类型.Parse(字符串))
//将字符串转换为字符类型
//被转换的字符串中不能有其他字符
//否则程序会崩溃
string intstr = "265";
int num = int.Parse (intstr);
Console.WriteLine (num);
string floatStr = "33.56";
float f = float.Parse (floatStr);
Console.WriteLine (f);
//获取用户输入的整数
//1.读取整形数为字符串
string getStr=Console.ReadLine();
//2.将字符串转换为整数
int n=int.Parse(getStr);
Console.WriteLine (n);
//第三种转换,Convert转换
//将任意对象转换为数值类型
string aStr = "520";
int aa = Convert.ToInt32 (aStr);
Console.WriteLine (aa);
//四季,a为0时对应输出春天的语句
// a为1时输出夏天的语句
//default 的位置没有限制,可以放在任意合理的地方
aa=8;
switch (aa) {
case 1:
Console.WriteLine ("万物复苏!");
break;
case 2:
Console.WriteLine ("炎炎夏日!");
break;
case 3:
Console.WriteLine ("硕果累累!");
break;
case 4:
Console.WriteLine ("天寒地冻");
break;
default:
Console.WriteLine ("输入错误!!");
break;
}
//------------------------------------break,continue---------------------------------//
//break:再循环中结束本层循环
//continue:再循环中结束本次循环
//打印1-100,遇到77则退出循环
for (int i = 1; i <= 100; i++) {
Console.WriteLine (i);
if (i == 77)
break;
}
//打印1-100之间的偶数
for (int i = 1; i <= 100; i++) {
if (i % 2 == 1)
continue;
Console.WriteLine (i);
}
//-------------------------------------数组------------------------------------------//
//定义:数据类型[] 数组名称 = new 数据类型[数组长度];
int [] ages = new int[10];
float[] scores = new float[20];
//定义一个具有五个整数元素是数组,并初始化
int[] intArray = new int[5]{20,20,20,20,20};
//数组的长度根据初始化值的个数而定
int[] intArray1 = new int[]{ 20, 20, 20, 20, 20 };
int[] intArray2 = { 20, 20, 20, 20, 20 };
//数组名称[下标]
ages [0] = 18;
ages [1] = 20;
ages [2] = 25;
Console.WriteLine (ages [0]);
Console.WriteLine (ages [1]);
Console.WriteLine (ages [2]);
//获取数组空间长度
//数组名称.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++)
{//比较的次数,每次从第一个开始
//判断当前元素是否比后一个小
if (sortArr[j]<sortArr [j + 1])
{
//如果小则交换位置
int temp = sortArr [j];
sortArr [j] = sortArr [j + 1];
sortArr [j + 1] = temp;
}
}
//第二趟,将倒数第二小的放在倒数第二的位置
for (int j = 0; j < sortArr.Length - 1 - 1; j++)
{//比较的次数,每次从第一个开始
//判断当前元素是否比后一个小
if (sortArr[j]<sortArr [j + 1])
{
//如果小则交换位置
int temp = sortArr [j];
sortArr [j] = sortArr [j + 1];
sortArr [j + 1] = temp;
}
}
//for循环输出排序后的值
for (int i = 0; i < sortArr.Length - 1; i++) {
for (int j = 0; j < sortArr.Length - 1 - i; j++)
{//比较的次数,每次从第一个开始
//判断当前元素是否比后一个小
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 ();
}
}
}