C#学习day2

130 阅读5分钟

一、字符串类型

1. @符号在字符串中的使用(显示多行字符串)

### @符号 1取消转义 2可以输出多行字符串

###### /* string a = @"
   ###### shjskhjskak    ";
   ###### Console.WriteLine(a);
   

2. 字符串拼接

使用+号进行拼接 image.png

###### Console.WriteLine(a + "这是多行字符串");  //使用+符号进行字符串  字符串+数字  会做隐式转换

二、类型转换

image.png

//类型转换  Convert.ToInt32(要转的数据)
            /*  string num = "24";
              int num1 = Convert.ToInt32(num);
              Console.WriteLine(num1+3);
              //转字符串Convert.ToString()
              string num2 = Convert.ToString(num1);
              Console.WriteLine(num2 + 3);
              //转bool类型   除了0以外的数字转成bool类型都是true  。。。
              bool check1 = Convert.ToBoolean(43);
              Console.WriteLine(check1);*/

三、控制台输入

1.Read和ReadLine区别

    1. console.Read()每次只读取一个字符,获取控制台输入的字符,返回值是该字符对应的十进制数,也就是说返回值是一个整数类型
    1. console.ReadLine()每次读取一个字符串,获取控制台输入的字符串,返回值是一个字符串,如果输入的是数字则需要用Convert.ToInt32()转成整数
//输入   Read()  ReadLine()
            //Read()  获取控制台数入得一个字符  返回值的类型是整数类型  char是可以转成对应的十进制
            //int get1 = Console.Read();
            //Console.WriteLine("我是整数" + get1);

            //ReadLine()  获取控制台输入的字符串,返回值类型是字符串类型
            /*  string get2 = Console.ReadLine();  //会读取enter
              Console.WriteLine(get2 + 3);

2.练习题

定义三种水果变量的价格,用户提示输入,分别请输入购买水果的斤数,输入购买香蕉的斤数,输入购买橙子的斤数,最后计算出水果的总价

int ap = 3;
              int og = 4;
              int bn = 5;
              Console.WriteLine("请输入苹果购买的斤数:");
              int apple = Convert.ToInt32(Console.ReadLine());
              Console.WriteLine("请输入橘子购买的斤数:");
              int orange = Convert.ToInt32(Console.ReadLine());
              Console.WriteLine("请输入香蕉购买的斤数:");
              int banana = Convert.ToInt32(Console.ReadLine());

              Console.WriteLine(apple*ap + banana*bn + orange*og);

四、交换两个变量的值

1.## 交换值的前提是类型要一致

2.## 通过中间变量来做值的交换

//交换两个变量的值   python  a, b = b, a
            //需要借助一个中间变量  先存a的值
            //int num3 = 12, num4 = 14;
            //int num5 = num3;  //num5是中间变量

五、字符串格式化输出

//num3 = num4;
            //num4 = num5;
            //Console.WriteLine("{0} {1}", num3, num4); //格式化输出  {}表示占位 大括号中填的是编号  然后依次根据编号从后面的变量拿过来填到大括号中
            

练习题

结合算术运算符和输入,格式化输出,实现一个算法可以把任意一个两位数的个位数和十位数分离出来 比如73 分离出来十位数是7,个位数是3

//分离个十位
            //int num = Convert.ToInt32(Console.ReadLine());
            //int num01 = num / 10;
            //int num02 = num % 10;
            //Console.WriteLine("十位数是{0}, 个位数是{1}", num01, num02);

六、关系运算符

图片.png

//关系运算符  判断 结果是布尔类型  <><=>= ==判断相等 !=不等
            //Console.WriteLine(0 != 1);
            //赋值运算符  = += -= *= /= 
            // num3 += 4; //num3=num3+4

七、赋值运算符

image.png

八、逻辑运算符

image.png

//逻辑运算符 与&&(并且,左右都是布尔值)  或||    非!
            //与&& 有一假则为假,两边都为真才是真
            //或||  一真就为真,全为假才为假
            //非! 表示取反 

九、运算符优先级image.png

练习题

从键盘输入一个三位数的正整数,按数字的相反顺序输出

//三位数交换
            /*Console.WriteLine("请输入三位的正整数:");
            int num = Convert.ToInt32(Console.ReadLine());
            int num01 = num / 100;
            int num02 = num / 10 % 10;
            int num03 = num % 10;
            int num04 = num03 * 100 + num02 * 10 + num01 * 1;
            Console.WriteLine(num04);
            Console.WriteLine("{0}{1}{2}", num03, num02, num01);*/

十、条件分支

//条件分支
            //双分支
            /*if (3 > 2)  //括号中填的是条件  为真执行if中的语句,为假执行else语句
            {
                Console.WriteLine("nice");

            }
            else  //else 另外一种情况
            {
                Console.WriteLine("so so");
            }*/

            //多分支  if...else if..else if...else   else是不需要写条件的,其他都要写条件
            /*int year = Convert.ToInt32(Console.ReadLine());
            if (year >= 60)
            {
                Console.WriteLine("The old, free");
            }else if(14<=year && year<60)
            {
                Console.WriteLine("The adult, fee 15");
            }else if(0<year && year < 14)
            {
                Console.WriteLine("The young, fee 7.5");

            }
            else
            {
                Console.WriteLine("Warning:invaild input!");
            }
*/

练习题

image.png

1.
/*int grade = Convert.ToInt32(Console.ReadLine());
            if (grade >= 90 && grade <= 100)
            {
                Console.WriteLine("A");
            }
            else if (70 <= grade && grade <= 89)
            {
                Console.WriteLine("B");
            }
            else if (60 <= grade && grade <= 69)
            {
                Console.WriteLine("C");

            }
            else if (grade < 60 && grade > 0)
            {
                Console.WriteLine("D");
            }
            else
            {
                Console.WriteLine("Warning:invaild input!");
            }*/
            
2.
/*Console.WriteLine("输入坐标值:");
            int x1 = Convert.ToInt32(Console.ReadLine());
            int y1 = Convert.ToInt32(Console.ReadLine());
            if (x1>0 && y1>0)
            {
                Console.WriteLine("第一象限");
            }
            else if (x1 < 0 && y1 > 0)
            {
                Console.WriteLine("第二象限");
            }
            else if (x1 < 0 && y1 < 0)
            {
                Console.WriteLine("第三象限");

            }
            else if (x1 > 0 && y1 > 0)
            {
                Console.WriteLine("第四象限");
            }
            else if (x1 == 0 && y1 == 0)
            {
                Console.WriteLine("在原点上");
            }
            else
            {
                Console.WriteLine("在坐标轴上");
            }*/
3.
/*int a = Convert.ToInt32(Console.ReadLine());
            int b = Convert.ToInt32(Console.ReadLine());
            int c = Convert.ToInt32(Console.ReadLine());
            if (a+b>c || a+c>b || b+c>a)
            {
                Console.WriteLine("可以构成三角形");
            }
            
            else
            {
                Console.WriteLine("不能构成三角形");
            }*/
4.
/*int year = Convert.ToInt32(Console.ReadLine());

            if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
            {
                Console.WriteLine("是闰年");
            }

            else
            {
                Console.WriteLine("不是闰年");
            }
*/
5.
 /* int num = Convert.ToInt32(Console.ReadLine());
             if (num>0)
             {
                 Console.WriteLine("该数为正数");
                 Console.Write("该数绝对值为:");
                 Console.WriteLine(num);

             }

             else if(num<0)
             {
                 Console.WriteLine("该数为负数");
                 Console.Write("该数绝对值为:");
                 Console.WriteLine(-num);
             }
             else
             {
                 Console.WriteLine("该数既不是负数也不是正数");
             }
6.
/* Console.Write("输入第一个数:");
             int num1 = Convert.ToInt32(Console.ReadLine());
             Console.Write("输入第二个数:");
             int num2 = Convert.ToInt32(Console.ReadLine());
             Console.Write("输入第三个数:");
             int num3 = Convert.ToInt32(Console.ReadLine());
             //int temp;

             if (num1 > num2)
             {
                 if(num1 > num3) {
                     Console.Write("第一个数为最大值,其平方为:");
                     Console.WriteLine(num1*num1);
                 }
                 else
                 {
                     Console.Write("第三个数为最大值,其平方为:");
                     Console.WriteLine(num3*num3);

                 }

             }
             else
             {
                 if (num2 > num3)
                 {
                     Console.Write("第二个数为最大值,其平方为:");
                     Console.WriteLine(num2*num2);
                 }
                 else
                 {
                     Console.Write("第三个数为最大值,其平方为:");
                     Console.WriteLine(num3*num3);

                 }
             }
 */
            /*Console.Write("输入第一个数:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.Write("输入第二个数:");
            int num2 = Convert.ToInt32(Console.ReadLine());
            Console.Write("输入第三个数:");
            int num3 = Convert.ToInt32(Console.ReadLine());
            int max;
            if (num1 > num2)
            {
                max = num1;
            }
            else
            {
                max = num2;
            }
            if (num3 > max)
            {
                max = num3;
            }
            Console.WriteLine("最大值为:{0} 其平方数为:{1}", max, max * max);
*/
7.
/*Console.Write("输入第一个字母:");
            char capt1 = Convert.ToChar(Console.ReadLine());
            Console.Write("输入第二个字母:");
            char capt2 = Convert.ToChar(Console.ReadLine());

            if (capt1 > capt2)
            {
                Console.WriteLine("{0}<{1}", capt1, capt2);

            }
            else if (capt1 < capt2)
            {
                Console.WriteLine("{0}>{1}", capt1, capt2);
            }
            else
            {
                Console.WriteLine("{0}={1}", capt1, capt2);
            }*/

             
      
 */
            
            

十一、switch分支语句

//```
//switch和if一样都表示条件分支 不是函数 
switch 分支语句  一定会有判断  然后代码会按顺序执行
            /*   switch (判断值)  //会传一个参数 用case中的值进行比对  然后这里不用调用的程序到这里会执行

               {
                   case 值1:  //每个case用冒号隔开
                       执行语句1;
                       break;  //每一句break结束
                   case 值2:
                       执行语句2;
                       break;
                   ...
                   default:  //默认分支,如果以上的case都比对不成功,那么就会执行defalut中的代码 

                       执行默认语句;
                       break;
               }*/
 int day = Convert.ToInt32(Console.ReadLine());
            switch (day)
            {
                case 1:
                case 2:
                    Console.WriteLine("周一,周二vr课");
                    break;
                case 3:
                    
                /*case 3:
                    Console.WriteLine("周三,数据结构");
                    break;*/
                case 4:
                    Console.WriteLine("周四,c++");
                    break;
                case 5:
                    Console.WriteLine("周五,nice");
                    break;
                default:
                    Console.WriteLine("周六,rest");
                    break;

            }

------------------------------结束----------------------