突如其来的C#重新学习(2)
关于Main入口点的问题
Main在C#中不能单独声明,所以必须声明在同一个类中,而且必须声明静态方法,返回可以是void或者int,正常执行应当返回0。
对于一个命名空间之内有很多的类的情况下,就可以手动选择从哪个类进行{ 项目}-{《项目名》属性}命令中打开
变量与常量
定性为const的无法更改变量值
int x = 0;
变量类型 变量名 赋值
using System;
namespace MyApp
{
class Program
{
static void Main(string[] args)
{
// 声明变量
double data = default(double);
const int NUMBER = 9000;
//字符串常量
const string STR = "abcde";
// 输出变量的默认值
Console.WriteLine("变量的默认值:{0}。", data);
// 修改变量的值
data = 126.357721d;
// 输出变量的当前值
Console.WriteLine("变量的当前值:{0}。", data);
// 再次修改变量的值
data = 99.0000012d;
// 再次输出变量的当前值
Console.WriteLine("变量的当前值:{0}。", data);
//只能读取常量的值
Console.Writeline ("NUMBER常量的值:{0}",NUMMBER);
Console.Read();
}
}
}
关于特殊运算符,单目双目很常见,有一个三目运算符需要注意
?
使用方法:
<判断条件>?<条件为真时的表达式>:<条件为假时的表达式>
int a = 20;
string str = a>10?"a的值大于10":"a的值小于等于10"
Console.WriteLine(str);
还有老生常谈的++运算符号
++n就是参与运算之前+1
n++就是参与运算之后+1
关于位运算的相关复习
& | << >>
与 或 左移 右移
static void Main(string[] args)
{
// 按位与
byte a1 = 36;
byte b1 = 100;
Console.WriteLine("{0} & {1} = {2}", Convert.ToString(a1, 2), Convert.ToString(b1, 2), Convert.ToString(a1 & b1, 2));/有数字转字符串的命令(转二进制),和与运算
// 按位或
byte a2 = 19;
byte b2 = 218;
Console.WriteLine("{0} | {1} = {2}", Convert.ToString(a2, 2), Convert.ToString(b2, 2), Convert.ToString(a2 | b2, 2));
// 向左移3位
byte a3 = 167;
Console.WriteLine("{0} << 3 = {1}", Convert.ToString(a3, 2), Convert.ToString(a3 << 3, 2));
// 向右移5位
byte a4 = 200;
Console.WriteLine("{0} >> 5 = {1}", Convert.ToString(a4, 2), Convert.ToString(a4 >> 5, 2));
Console.Read();
}
static void Main(string[] args)
{
Console.WriteLine("请输入一个100以内(含100)的数字:");
// 读取用户输入的内容
string readInput = Console.ReadLine();
// 将接收到的字符串转为双精度数值
double d = double.Parse(readInput);
// 进行判断处理
if (d > 100)
{
Console.WriteLine("无效数字");
}
else if (d > 70)
{
Console.WriteLine("C阶段");
}
else if (d > 30)
{
Console.WriteLine("B阶段");
}
else
{
Console.WriteLine("A阶段");
}
Console.Read();
}
下面是一个比较复杂的for循环语句,主要看判定条件,(第二章E.13)
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
Console.Write(i);
}
Console.Write("\n");
double d;
for (string x = Console.ReadLine(); double.TryParse(x,out d); x = Console.ReadLine())/读取输入值;判断能否转换成double,能就输出,然后替换x的值;如果不能就退出,该程序的返回值为0
{
Console.WriteLine("你输入的数字是:{0}", d);
}
Console.Read();
}
有一个新的知识
foreach语句,用于枚举数组、列表、集合之类,功能类似于for循环
static void Main(string[] args)
{
// 创建一个整型数组
int[] numbers = new int[] { 2, 50, 22, 9, 17, 85 };
// 循环输出数组中的每个元素
foreach (int n in numbers)
{
Console.Write("{0} ", n);
}
Console.Read();
}
跳出循环是break
continue跳出某一轮循环