ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【原创】C#初级教程学习笔记003-变量和表达式

2021-04-08 09:03:36  阅读:253  来源: 互联网

标签:Console string C# System 003 int 初级教程 WriteLine using


其他路径:

CSDN: https://blog.csdn.net/wodehao0808

微信公众号:程序喵星人

 

更多资源和视频教程,QQ:1902686547

 

3. 变量和表达式

3.1 变量

       计算机程序的运行其实就是对数据的操作,数据是什么?比如数字,文字,图片这些在计算机中都是数据,那么数据怎么在计算机中存储呢?

    答案:通过变量

  你可以把计算机内存中的变量,当成一个盒子,盒子里面存储着东西,可以放入或者取出。

 

3.1.1 变量的声明

  声明变量需要指定类型和变量名

    <type> <name>;

    type表示使用什么类型的盒子,来存储数据

    name表示存储这个盒子的名字

  实例:(每一个声明都是一条语句,语句以;结束)

    int age;

    int hp;

    string name;

3.1.1.1 Example: 变量的声明

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 变量的声明

 

namespace Lesson_2_1

{

    class Program

    {

        static void Main(string[] args)

        {

            int iAge = 20;

            int iHp = 60;

            string strName = "CShape";

            Console.WriteLine(strName);

            Console.ReadKey();

        }

    }

}

3.1.2 变量的类型

3.1.2.1 整数

 

 

 

3.1.2.2 小数

 

 

 

3.1.2.3 非数值类型

 

 

 

3.1.2.4 Example:整数、小数、非数值类型

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 整数,小数,非数值类型

 

namespace Lesson_2_2

{

    class Program

    {

        static void Main(string[] args)

        {

            // 整数

            byte bytByte = 20;

            int iScore = 6000;

            long lngCount = 10000003600;

            Console.WriteLine("byte:{0}  int:{1}  long:{2}", bytByte, iScore, lngCount );

 

            // 小数

            float fValue = 13.6f;  // 后缀 f 表示是浮点数

            double dblValue = 36.954;

            Console.WriteLine("float:{0}  double:{1}", fValue, dblValue);

 

            // 非数值类型

            char chChar = 'a';  // char 使用 单引号 表示一个字符

            string strString = "a";  // 使用 双引号 字符串

            string strString2 = "OK";

            bool bResult = true;  // bool 类型只有 false 和 true

            Console.WriteLine("char:{0}  string:{1}  string2:{2}  bool:{3}", chChar, strString, strString2, bResult);

 

            Console.ReadKey();

        }

    }

}

3.1.3 变量的命名

  变量的命名,遵循 标识符 的命名规则。

  遵守命名规范可以让程序结构更加清晰,更易于阅读。

  规范:第一个单词以小写字母开头,以后每个单词的首字母大写。

  变量的命名遵守Camel命名法(驼峰命名法)。首字母小写,以后每个单词的首字母大写。

3.1.4 变量的练习

  练习:定义一些变量存储一个主角的信息,输出到控制台;

      名字、血量、等级、经验值

3.1.5 Example: 练习定义变量存储主角的信息,转义字符

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 练习定义变量存储主角的信息,转义字符

 

namespace Lesson_2_3

{

    class Program

    {

        static void Main(string[] args)

        {

            string strName = "张三";

            int iHp = 100;

            int iLevel = 16;

            float fExp = 163.5f;

            Console.WriteLine("主角的名字是:{0}  血量:{1}  等级:{2}  经验值:{3}", strName, iHp, iLevel, fExp);

 

            // \n 换行

            Console.WriteLine("2--主角的名字是:{0}  \n血量:{1}  \n等级:{2}  \n经验值:{3}", strName, iHp, iLevel, fExp);

 

            // \" 在字符串中使用双引号

            Console.WriteLine("3--主角的名字是:\"{0}\"  \n血量:{1}  \n等级:{2}  \n经验值:{3}", strName, iHp, iLevel, fExp);

 

            // \\ 使用斜杠

            Console.WriteLine("4--主角的名字是:\\{0}\\  \n血量:{1}  \n等级:{2}  \n经验值:{3}", strName, iHp, iLevel, fExp);

 

            // \t 制表符

            Console.WriteLine("4--主角的名字是:\t{0}  \n血量:{1}  \n等级:{2}  \n经验值:{3}", strName, iHp, iLevel, fExp);

 

            Console.ReadKey();

        }

    }

}

3.1.6 字面值

       字面值:表示文本和数字的。

 

 

 

3.1.7 char和string

  char表示一个字符,字母 数字 @#¥%……&*()一个汉字。

  string是一个char的数组,可以把string认为字符的集合。

3.1.8 转义字符列表

       转义字符是有特殊功能的字符

 

 

 

3.1.9 字符的Unicode值的作用

       Unicode是一个16进制的数字,表示这个字符在内存中以哪个数字存储。    也可以使用Unicode来代表一个转义字符 (\u加上十六进制值),例如:

    "I\'s siki!"

    "I\u0027s siki!"

3.1.10 使用@不识别转义字符

  如果我们不想去识别字符串中的转义字符,可以在字符串前面加一个@符号(除了双引号其他转义字符都不在识别,如果要显示一个双引号,则需要使用两个双引号)。

    string str = @"Hello "" this "" Ok"; // 使用@时,输出双引号

  使用两个引号表示一个引号

  举例:

    "I'm a good. \n You are good!",

  @字符的两个作用示例:

    1,默认一个字符串的定义是放在一行的,如果想要占用多行

    2,用字符串表示路径

      "c:\\xxx\\xx\xxx.doc"

           使用@"c:\xxx\xx\xxx.doc"更能读懂

3.1.11 变量的声明和赋值

  变量的声明

    int age ;

  变量的赋值

    age = 25;

  变量的声明和赋值可以放在一个语句中

    int age = 25;

3.1.12 多重声明和赋值

       我们可以使用一条语句声明多个类型一样的变量。

    string name1,name2;

  在多变量声明中,可以在变量后面跟上=,对其中的一个变量或者部分或者全部变量进行初始化。

    string strName = "Li", strName2 = "Ry";

    int iMax = 100, iCount;

3.1.13 Example使用@不识别转义字符;多重声明和赋值

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 使用@不识别转义字符;多重声明和赋值;

 

namespace Lesson_2_4

{

    class Program

    {

        static void Main(string[] args)

        {

            string str = "I'm a good. \n You are good!";

            Console.WriteLine(str);

 

            // 使用@, \n失效,当作是字符串直接输出

            string str2 = @"I'm a good. \n You are good!"; 

            Console.WriteLine(str2);

 

            // 使用@时,使用双引号方法是:使用两个双引号输出一个双引号

            string str3 = @"Hello ""this"" Ok"; 

            Console.WriteLine(str3);

 

            // 使用@,把一个字符串定义在多行

            string str4 = @"My

name is 李四,

Who are you?";

            Console.WriteLine(str4);

 

            // 使用@,表示路径

            string str5 = "C:\\xxx\\xxx\\xx.doc";

            string str6 = @"C:\xxx\xxx\xx.doc";  // 不需要 \\ , 路径清晰明了

            Console.WriteLine("str5 = " + str5);

            Console.WriteLine("str6 = " + str6);

 

            // Ctr + k + c键,快速注释

            // Ctr + k + u键,取消注释

 

            // 多重声明和赋值

            int iHp, iMp = 100, iLevel = 10;

            Console.WriteLine(iLevel);

 

            Console.ReadKey();

        }

    }

}

3.1.14 注意事项

       变量在使用之前必须初始化

  怎么判断变量有没有使用,当你从变量的盒子里面取东西的时候就是要使用这个变量的时候,初始化就是先往这个盒子里面放入东西,才能去取。

  第一次给变量赋值,就叫做初始化。

  变量类型,可以理解为: 变量类型决定了盒子的最大容量,即盒子最大多大。

3.2 表达式

       把变量和字面值和运算符组合起来,就是表达式。

  运算符分类:

    一元运算符 处理一个操作数

    二元运算符 处理两个操作数

    三元运算符 处理三个操作数 

3.2.1 数学运算符

  数学运算返回结果:

    1.当两边的操作数类型一致的时候,返回的结果跟操作数的类型一样。

    2.当两边的操作数类型不一致的时候,返回的结果跟类型大的操作数保持一致,这样做编译器是为了保证结果可以存的下,因为如果其中有一个类型大的操作数,很可能结果也是一个比较大的数值这样小类型是存不下的。

  char 可以用来做数学运算;

  char 变量实际在内存中储存的是数字;

  + 号,可以用来连接两个字符串;

  例如:

    string str1 = "abc";

    string str2 = "mn";

    int icount = 5;

    string str2 = str1 + str2; // "abcmn"

    string str3 = str1 + icount; // "abc5"

 

 

 

3.2.1.1 Example:  数学运算符+-*/%等

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 数学运算符+-*/%等

 

namespace Lesson_2_5

{

    class Program

    {

        static void Main(string[] args)

        {

            // +-*/%

            int iNum1 = 45, iNum2 = 15;

            int iRes1 = iNum1 + iNum2;  // 加

            int iRes2 = iNum1 - iNum2;  // 减

            int iRes3 = iNum1 * iNum2;  // 乘

            int iRes4 = iNum1 / iNum2;  // 除

            int iRes5 = iNum1 % iNum2;  // 取余

            Console.WriteLine("加 = {0}", iRes1);

            Console.WriteLine("减 = {0}", iRes2);

            Console.WriteLine("乘 = {0}", iRes3);

            Console.WriteLine("除 = {0}", iRes4);

            Console.WriteLine("取余 = {0}", iRes5);

 

            // 带小数的取余

            double iRes6 = 132.8 % 3;  // 注意的是,操作数中最大类型是 double 类型,所以返回结果也是double类型,所以 iRes6 是double类型。

            Console.WriteLine("iRes6 = " + iRes6 );  // 加号操作,一个是字符串,一个是数值,会将数值转换为字符串,然后连接起来。

 

            // 两个操作数不一致的加法运算结果

            double iRes7 = 12.3 + iNum1;  // 两个操作数不一致,返回结果为操作数类型的最大类型,double类型大于int类型,所以返回double类型数值;

            Console.WriteLine("iRes7 = " + iRes7);

 

            // 加号:两个字符串,则连接两个字符串成一个字符串

            string str1 = "Hello";

            string str2 = "World";

            string str = str1 + str2;  // 两个字符串连接成一个字符串

            Console.WriteLine("str = " + str);

 

            // 加号:一个是字符串,一个是数值,则将数值转换为字符串,然后连接成一个字符串

            string str3 = "abc";

            int iCount = 90;

            string str4 = str3 + iCount;  // "abc90"

            string str5 = "" + iCount;  // "90"

            Console.WriteLine("str4 = {0}, str5 = {1}", str4, str5);

 

 

            Console.ReadKey();

        }

    }

}

3.2.1.2 自增和自减

       自增:++,让操作数加1;

  自减:--,让操作数减1;

  例如:

    int n = 10;

    int n2 = n++; // n2 值为10,n值为11

    int m = 10;

    int m2 = ++m; // m2值为11,m值为11

    int i = 10;

    int i2 = i--; // i2值为10, i值为9

    int j = 10;

    int j2 = --j; // j2值为9,j值为9

  上面的示例可以看出,前自增或前自减(++m或--j)是先对操作数进行自增或自减操作,之后再进行运算;后自增或后自减(n++或i--)是先进行运算,之后再对操作数进行自增或自减操作。

3.2.1.3 Example:自增和自减

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 自增和自减

 

namespace Lesson_2_6

{

    class Program

    {

        static void Main(string[] args)

        {

            // 前自增 -- 先对值进行加1,再进行其他运算。

            int iNum = 10;

            int iRet = ++iNum;

            Console.WriteLine("前自增 = {0}, iNum = {1}", iRet, iNum);

 

            // 后自增 -- 先进行其他运算,再对值加1。

            int iNum2 = 10;

            int iRet2 = iNum2++;

            Console.WriteLine("后自增 = {0}, iNum2 = {1}", iRet2, iNum2);

 

            // 前自减  -- 先对值进行减1,再进行其他运算。

            int iNum3 = 10;

            int iRet3 = --iNum3;

            Console.WriteLine("前自减 = {0}, iNum3 = {1}", iRet3, iNum3);

 

            // 后自减  -- 先进行其他运算,再对值减1。

            int iNum4 = 10;

            int iRet4 = iNum4--;

            Console.WriteLine("后自减 = {0}, iNum4 = {1}", iRet4, iNum4);

 

            Console.ReadKey();

        }

    }

}

3.2.2 接受用户输入

       接受用户输入:

    通过Console.ReadLine()方法,这个方法可以从键盘上读取一行的字符串输入,返回的是一个字符串。

3.2.2.1 Example:接受用户输入

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 接受用户的输入

 

namespace Lesson_2_7

{

    class Program

    {

        static void Main(string[] args)

        {

            // 接受用户的输入,返回的是一个字符串

            Console.WriteLine("请输入任意信息");

            string str = Console.ReadLine();  // 读取用户输入的一行信息,返回一个字符串

            Console.WriteLine("用户输入的信息是 = " + str);

 

            // 字符串转为int

            Console.WriteLine("请输入一个数字:");

            int iNum = Convert.ToInt32(Console.ReadLine());  //  Convert.ToInt32 将值转换为 int类型

            Console.WriteLine("输入的数字是 = " + iNum);

 

            // 字符串转为double

            Console.WriteLine("请输入一个小数:");

            double dNum = Convert.ToDouble(Console.ReadLine());  //  Convert. ToDouble将值转换为 double类型

            Console.WriteLine("输入的小数是 = " + dNum);

 

            Console.ReadKey();

        }

    }

}

3.2.3 练习:从控制台输入两个数值并求和

  赋值运算:

    =

  返回值:

    方法的调用和表达式都会有返回值,返回给程序。

  用户输入:

    可以通过Console.ReadLine()从控制台接受一行用户输入的字符串。

  类型转换:

    把一个整形数字的字符串转换成一个整形:

      string str = "123";

      int i = Convert.ToInt32(str);

    把一个浮点类型的字符串转换成一个浮点类型:

      string str = "12.67";

      float f = Conver.ToFloat(str);

3.2.3.1 Example: 从控制台输入两个数,并求和

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 从控制台输入两个数,并求和

 

namespace Lesson_2_8

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("请输入第一个整数:");

            int iNum1 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入第二个整数:");

            int iNum2 = Convert.ToInt32(Console.ReadLine());

            int iSum = iNum1 + iNum2;

            Console.WriteLine("输入的数:{0} + {1} 的和为:{2}", iNum1, iNum2, iSum);

            Console.ReadKey();

        }

    }

}

3.2.4 赋值运算符

  赋值运算符:

    = 二元运算符 var1 = var2

    += 二元运算符 var1 += var2 相当于:var1 = var1 + var2;

    -= 二元运算符 var1 -= var2 相当于:var1 = var1 - var2;

    *= 二元运算符 var1 *= var2 相当于:var1 = var1 * var2;

    /= 二元运算符 var1 /= var2 相当于:var1 = var1 / var2;

    %= 二元运算符 var1 %= var2 相当于:var1 = var1 % var2;

3.2.4.1 Example: 赋值运算符

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 赋值运算符

 

namespace Lesson_2_9

{

    class Program

    {

        static void Main(string[] args)

        {

            int iNum = 30;

            iNum += 10;  // 相当于 iNum = iNum + 10;  // 40

            iNum -= 10;  // 相当于 iNum = iNum - 10;  // 30

            iNum *= 10;  // 相当于 iNum = iNum * 10;  // 300

            iNum /= 10;  // 相当于 iNum = iNum / 10;  // 30

            iNum %= 10;  // 相当于 iNum = iNum % 10;  // 0

            Console.WriteLine(iNum);

            Console.ReadKey();

        }

    }

}

3.2.5 运算符优先级

  括号可以用来重写优先级,括号内的优先级最高;

  例如:

    int i = 10 + 10 * 2; // 30 // 先进行乘法,再进行加法运算

    int j = (10 + 10 ) * 2; // 40 // 先进行加法运算,再进行乘法运算

3.2.5.1 Example:运算符优先级

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 运算符优先级

 

namespace Lesson_2_10

{

    class Program

    {

        static void Main(string[] args)

        {

            int i = 10 + 90;

            int i2 = 10 + 90 * 2;  // 在程序的表达式中,按照优先级顺序,先进行优先级高的运算

            int i3 = (10 + 90) * 2;  // 可以使用括号()来改变运算的优先级,括号的运算总是最先执行

            Console.WriteLine("i = " + i);

            Console.WriteLine("i2 = " + i2);

            Console.WriteLine("i3 = " + i3);

            Console.ReadKey();

        }

    }

}

3.3 练习题

  1,在Main方法中定义变量,用这些变量存储游戏中一个敌人应该有的一些属性,定义尽可能多的变量。

  2,接受用户输入的两个整数,存储到两个变量里面,交换变量存储的值。

  3,编写一个控制台应用程序,要求用户输入4个int值,并显示他们的乘积。

  4,从键盘输入一个三位的正整数,把百分位十分位个分位数字的相反顺序输出。

  5,编写一个程序,输入梯形的上底 下底 和高 ,计算出来梯形的面积并显示出来。

    梯形的面积=(上底+下底)*高 /2

  6,计算半径为n的圆的周长和面积,n让用户输入

    周长=2n*PI

    面积=n*n*PI

3.3.1 Example: 练习题

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

// 练习题

 

namespace Lesson_2_11

{

    class Program

    {

        static void Main(string[] args)

        {

            /*

            // example_1: 定义变量,用这些变量存储游戏中一个敌人应该有的一些属性

            int iHp = 100, iMp = 100;

            float iAtk = 30.2f, iDef = 23.5f;

            float dScore = 100000000;

            */

 

            /*

            // example_2: 接受用户输入的两个整数,存储到两个变量里面,交换变量存储的值。

            Console.WriteLine("请输入第一个整数:");

            int iNum1 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入第二个整数:");

            int iNum2 = Convert.ToInt32(Console.ReadLine());

            int iTemp = iNum1;

            iNum1 = iNum2;

            iNum2 = iTemp;

            Console.WriteLine("交换后的变量,第一个整数:{0},第二个整数:{1}", iNum1, iNum2);

            */

 

            /*

            // example_3: 用户输入4个int值,并显示他们的乘积

            Console.WriteLine("请输入第一个整数:");

            int iValue1 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入第二个整数:");

            int iValue2 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入第三个整数:");

            int iValue3 = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入第四个整数:");

            int iValue4 = Convert.ToInt32(Console.ReadLine());

            long lng = iValue1 * iValue2 * iValue3 * iValue4;

            Console.WriteLine("输入的四个整数的乘积是:" + lng);

            */

 

            /*

            // example_4: 输入一个三位的正整数,把百分位十分位个分位数字的相反顺序输出。  

            Console.WriteLine("请输入一个100到999的整数:");

            int i = Convert.ToInt32(Console.ReadLine());

            int iBai = i / 100;      // 百位

            int iShi = i / 10 % 10;  // 十位

            int iGe = i % 10;        // 个位

            Console.WriteLine("倒序输出:{0}{1}{2}", iGe, iShi, iBai);

            */

 

            /*

            // example_5: 输入梯形的上底 下底 和高 ,计算出来梯形的面积并显示出来。

            Console.WriteLine("请输入梯形的上底:");

            float f1 = Convert.ToSingle(Console.ReadLine());  // ToSingle 为单精度浮点型 float

            Console.WriteLine("请输入梯形的下底:");

            float f2 = Convert.ToSingle(Console.ReadLine());

            Console.WriteLine("请输入梯形的高:");

            float f3 = Convert.ToSingle(Console.ReadLine());

            float f = (f1 + f2) * f3 / 2;

            Console.WriteLine("梯形的面积是:" + f);

            */

 

            // example_6: 计算半径为n的圆的周长和面积,n让用户输入

            Console.WriteLine("请输入圆的半径");

            double dR = Convert.ToDouble(Console.ReadLine());  // 半径

            double dLen = 2 * dR * 3.14;  // 周长

            double dM = dR * dR * 3.14;   // 面积

            Console.WriteLine("圆的周长是:{0},圆的面积是:{1},圆的半径是:{2}", dLen, dM, dR);

 

            Console.ReadKey();

 

        }

    }

}

标签:Console,string,C#,System,003,int,初级教程,WriteLine,using
来源: https://www.cnblogs.com/wodehao0808/p/14630518.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有