VR引擎开发第二天

117 阅读5分钟
  1. @符号在字符串中的另一使用(显示多行字符串) 双引号只能显示单行字符串,如果要显示多行字符串可以使用@符号

2.类型转换

image.png

3.Read和ReadLine区别

  1. console.Read()每次只读取一个字符,获取控制台输入的字符,返回值是该字符对应的十进制数,也就是说返回值是一个整数类型
  2. console.ReadLine()每次读取一个字符串,获取控制台输入的字符串,返回值是一个字符串,如果输入的是数字则需要用Convert.ToInt32()转成整数

4.关系运算符

image.png

5.赋值运算符

image.png

6.逻辑运算符

image.png

7.运算优先级

image.png

8.课上案例代码

using System;

namespace demo0923 { class Programe { static void Main(string[] args) { // 除号
int a = 3; int b = 2; Console.WriteLine(a / b); //结果是一个整数
double c = 3.0; Console.WriteLine(a / c); //如果除以一个小数,除非整除结果就是整数,否则就是小数

        char d = 'd'; // 能够转成对应的十进制整数

        // @符号有什么作用  取消转义   可以正常显示反斜杠
        // 字符串正常情况下只能单行显示   如果要多行显示   可以使用到@符号 
        string str1 = @"dfjkdjflk
                        dfddfdf\t\n";
        Console.WriteLine(str1);

        //字符串拼接   +  
        Console.WriteLine("13" + "+" + "14" + "=" + "27");

        // 变量  声明 初始化才能正常使用   命名规则 (由数字字母下划线组成 首个字符不能是数字)
        //c#中的输入 
        //int get1=Console.Read();  //获取控制台输入的一个字符,返回值是一个整型类型  换行符是可以读取到的
        //Console.WriteLine(get1+2); // 2这个字符对应的十进制数是50   所以结果是52

        //string str2=Console.ReadLine();  //获取控制台输入的一个字符串  返回值是一个字符串  

        //类型转换   Convert.ToInt32() 
        //举例 ReadLine得到的是一个字符串但是我输入的是一个数字,就想要得到这个数字怎么办,类型转换
        //int num1 = Convert.ToInt32(str2);
        //变量的命名规则 大驼峰命名 所有单词的首字母都大写  如 ToInt32 
        //小驼峰命名 第一单词首个字母小写,第二个单词首字母大写  myName 
        /*Console.WriteLine(num1+10);
        int AppleUnitPrice = 1;
        int BananaUnitPrice = 2;
        int OrangeUnitPrice = 3;
        Console.Write("请输入苹果购买的斤数:");

        int AppleWeight = Convert.ToInt32(Console.ReadLine());
        Console.Write("请输入香蕉购买的斤数:");
        int BananaWeight = Convert.ToInt32(Console.ReadLine());
        Console.Write("请输入橙子购买的斤数:");
        int OrangeWeight = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("总价为:" + (AppleUnitPrice * AppleWeight + BananaUnitPrice * BananaWeight + OrangeUnitPrice * OrangeWeight));*/

        //python交换值的写法   a,b=b,a   
        //c#交换值的写法 需要用到一个中间变量来存其中一个变量的值   

        int num2 = 23, num3 = 12;
        int temp = num2;
        num2 = num3;
        num3 = temp;

        // “果的总价为:变量”  原来的方法用+拼接  如果变量多的时候要拼很多个  
        //可以用到格式化输出  
        //Console.WriteLine("水果的总价为:{0},其中苹果的价格为{0}",temp,num2);
        //大括号是用来占位 括号里面表示后面变量的编号   比如0表示后面变量的第一个  

        /*int num4 = Convert.ToInt32(Console.ReadLine());
        int num5 = num4 / 10;  //23
        int num6 = num4 % 10;  
        Console.WriteLine("十位数是:{0},个位数是:{1}",num5,num6);*/

        //布尔   bool
        bool check1 = 4 > 5; //关系式得到的结果是一个布尔值  这里得到的结果是 false  
        //关系运算符   >大于  <小于   >=大于等于   <=小于等于   !=不等于  ==等于 

        bool check2 = 4 != 5;
        bool check3 = 4 == 5;
        bool check4 = false;
        Console.WriteLine(check3);

        //赋值运算符   =   +=  -=  *=    /=    %=  
        // 比如 a+=b 相当于  a=a+b  
        int num7 = 3;
        int num8 = 4;
        num7 += 4;
        Console.WriteLine(num7);

        //逻辑运算符  与&&  或||  非!取反的操作  
        // a&&b   并且的意思,表示说a和b的结果必须都为真,式子的结果才为真  只要有一个假结果就是假 
        // a||b  或的意思,表示说a和b的结果只要有一个真 结果就是真,都为假结果就是假  
        Console.WriteLine(3 > 4 && 4 > 3); //结果就是假 false  
        Console.WriteLine(3 > 4 || 4 > 3); //结果就是真 true 
        Console.WriteLine(!(4 > 3)); //结果就是false  总结:要进行逻辑判断两边的式子必须都是布尔类型

        //条件分支    
        //单分支  判断一个东西,只有两种情况  比如说输(分少)和赢(分多)  这里分少和分多就是判断条件
        int num9 = 3;
        int num10 = 5;
        if (num10 > num9)  //括号中就表示要判断的条件 如果条件为真就会执行语句1中的代码,为假就执行else中的代码
        {
            //执行语句1 
            Console.WriteLine("num10大于num9");

        }
        else
        {
            //执行语句2
            Console.WriteLine("num10小于num9");
        }
        //多分支  有很多种情况   比如动物园门票  60岁以上免费  14到59全票   小于14半票 
        /*Console.Write("请输入你的年龄");
        int year = Convert.ToInt32(Console.ReadLine());
        if (year>=60)
        {
            Console.WriteLine("您是60岁以上人员,免费");
        }else if (14<year && year<59)
        {
            Console.WriteLine("您要全票购买才能进去");
        }else
        {
            Console.WriteLine("您是半票");
        }*/
        /*int Cj = Convert.ToInt32(Console.ReadLine());
        if(Cj>=90 && Cj<=100)
        {
            Console.WriteLine("A");
        }
        else if(Cj>=70 && Cj<=89)
        {
            Console.WriteLine("B");
        }
        else if(Cj>=60 && Cj<=69)
        {
            Console.WriteLine("C");
        }
        else if(Cj<60)
        {
            Console.WriteLine("D");
        }*/
        //坐标系  
        /* Console.WriteLine("请输入x");

         int x = Convert.ToInt32(Console.ReadLine());
         Console.WriteLine("请输入y");
         int y = Convert.ToInt32(Console.ReadLine());
         if (x > 0 && y > 0)
         {
             Console.WriteLine("第一象限");
         }
         else if(x > 0 && y < 0)
         {
             Console.WriteLine("第二象限");
         }
         else if (x < 0 && y > 0)
         {
             Console.WriteLine("第三象限");
         }
         else
         {
             Console.WriteLine("第四象限");
         }*/
        //三角形
       /* int a1 = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("请输入边a1");
        int b1 = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("请输入边b1");
        int c1 = Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("请输入边c1");
        if (a + b > c && a + c > b && b + c > a)
        {
            Console.WriteLine("上述输入的三条边满足需求");
        }
        else
        {
            Console.WriteLine("上述输入的三条边不满足需求");
        }*/
        //闰年的条件 能被400整除  或者 能被4整除但是不能被100整除
        //(year%400==0 ||(year%4==0 && year%100!=0))
        //转绝对值  
        /* Console.Write("请输入一个非零整数:");
         int num = Convert.ToInt32(Console.ReadLine());
         if (num < 0)
         {
             Console.Write("这是一个负数。");
             Console.Write("绝对值为:{0}", -num);
         }
         else if (num > 0)
         {
             Console.Write("这是一个正数。");
             Console.Write("绝对值为:{0}", num);
         }
         else
         {
             Console.Write("该数为0");
         }*/
       /* Console.Write("请输入一个整数:");
        int num1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("请输入一个整数:");
        int num20 = Convert.ToInt32(Console.ReadLine());
        Console.Write("请输入一个整数:");
        int num21 = Convert.ToInt32(Console.ReadLine());
        if(num1>num2&&num1>num3)
        {
            Console.WriteLine(num1*num1);
        }
        else if (num20 > num1 && num20 > num21)
        {
            Console.WriteLine(num20*num20);
        }
        else if (num21 > num1 && num21> num20)
        {
            Console.WriteLine(num21*num21);
        }*/
        //switch  分支语句
        int num = Convert.ToInt32(Console.ReadLine());
        //switch和if一样都表示条件分支 不是函数  
        switch (num)  //会传一个参数 用于和下面case中的值进行比对  然后这里不用调用的程序到这里会执行
        {
            case 1:
            case 2:  //如果case之间没有其他语句表示说只要满足这两个case的其中一个都会执行case2中的代码
                Console.WriteLine(2);
                break;
            case 3:  
                Console.WriteLine(3);
                break;
            default: //默认分支,如果以上的case都比对不成功,那么就会执行defalut中的代码 
                Console.WriteLine("默认");
                break;
        }

    }

}

}