一、关于编程元素

程序运行时需要操作各类元素,C#中将元素分为两大类。
1.数值类型(表示单个数据)
2.引用类型(指向一组数据)

二、变量

1.解释变量在内存中的存在形式。
2.声明变量的注意点。
(1)确定数据类型
(2)确定变量名称(强调命名规则,Pascal,camel)
(3)确定变量初始值

三、数值类型

按照数值占据的字节位数,设置了多种数值类型。
常见的有字符型char,整型int,长整型long,浮点型float,双精度double。

各类数值之间可以进行转换。
数值的转换有两种类型,一是隐式转换,二是显式转换
详细介绍隐式转换与显式转换的具体执行过程。

代码示例(隐式转换)

static void main()
{
    char c = 'a';
    int i = c;
    double d = i + 0.9;
    Console.WriteLine(d);
}

代码示例(显式转换)

static void main()
{
    float f = 97.9;
    int i = (int)f;
    char c= (char)i;
    Console.WriteLine(c);
}

小结:隐式转换是一种等价转换,空间扩大,形式改变,但数值未变。显式转换是强制转换,可能会带来数值的变化。

拓展:如果是数字1要转换成字符1该如何操作呢?反之又该怎样?
数字变字符,使用ToString()方法,数字型的字符变数字,使用int.Parse()方法或者Convert.ToInt32()方法。

四、各类运算符和表达式

1.算术运算符
2.关系运算符
3.赋值运算符

五、字符串的处理

1.字符串内容的比较
(1)str.CompareTo(str1)
返回值为0,1,-1。两者相等返回0;str>str1返回1;str<str2返回-1。
比较时为逐字比较,例:abc<ax;
CompareTo的比较原则是:0-9aA-zZ

代码示例

string str1 = ”abc”;
int m1 = str1.CompareTo(“abc”);
int m2 = str1.CompareTo(“ab”);
int m3 = str1.CompareTo(“abcd”);

(2)str.Equals(str1)
两值相等返回true;不等返回false。

代码示例

string str1 = ”abc”,str2 = “abC”,str3 = “abc”;
bool m1 = str1.Equals(str2);
bool m2 = str1.Equals(str3);

2.定位字符及子串
Str.IndexOf(str1)
查看str中是否包含str1,如果包含返回第一次出现的位置。如果不包含返回-1。

代码示例

string str1 = “abcd”;
int m1 = str1.IndexOf(“b”);
int m2 = str1.IndexOf(“cd”);
int m3 = str1.IndexOf(“”);
int m4 = str1.IndexOf(“e”);

3.截取字符串
Str.Substring(i,j)
从str中的第i+1位开始截取,长度为j,并返回。

代码示例

string str = “Hello,World!”;
string str1 = str.Substring(0,5)

4.分裂字符串
Str.Split(“n”)
将str字符串进行分裂,以字符“n”为标识。

代码示例

string str = “Hello,World!”;
string str1 = str.Split(“,”);
foreach (string s in str1)
{
       Console.WriteLine(s);
}

5.插入和填充字符串
(1)插入字符串
Str.Insert(n,”str2”)
在str中的n+1位置插入str2的内容

代码示例

string str = “I am a man.”;
str = str.Insert(6,”good ”);

(2)填充字符串
Str.PadLeft(n,’’)
在将str拓展为长度为n的字符串,并将左侧空位以“
”来填充。

代码示例

string str = “Hello World”;
string str1 = str.PadLeft(15,”# ”);

6.删除和剪切字符串
(1)删除字符串
Str.Remove(m,n)
将str中的从m+1位开始的长为n的字符内容删除。

代码示例

string str = “Hello World”;
string str1 = str.Remove(6,5);

(2)剪切字符串
Str.Trim(‘n’);Str.TrimStart(‘n’);Str.TrimEnd(‘n’);
将字符串str中的(开始、结束位置)字符n去除掉。

代码示例

Trim(char[]);
TrimStart(char[]);
TrimEnd(char[]);

7.替换字符串
Str.Replace(“abc”,”egg”)
将字符串str中的abc全部替换为egg。

代码示例

string str = “It is a dog”;
string str1 = str.Replace(“dog”,“pig”);

六、习题练习

求出所有的水仙花数。
测试要点:各类数值类型间的转换,字符串中内容的截取。

参考代码

for (int i = 100; i <= 999;i++)
{
    string s = i.ToString();
    int a = int.Parse(s[0].ToString());
    int b = int.Parse(s[1].ToString());
    int c = int.Parse(s[2].ToString());
    double sum = Math.Pow(a, 3) + Math.Pow(b, 3) + Math.Pow(c, 3);
      if((int)sum==i)
    {
        Console.WriteLine("{0}是水仙花数", i);
    }
}
文档更新时间: 2018-11-20 22:13   作者:大麦