C# 笔记(Day3)

1.字符读取

Console.WriteLine(); 默认读取到的是字符串 Convert.ToInt32 万能转换,转换为整数 Convert.ToInt32(Console.ReadLine()); 数字类型 Console.Read(); 返回的是int整数

//假设有个隧道,隧道以字符 ‘#’ 结束,挖矿的过程中,会遇到钻⽯ ‘*’ 和美⾦ ‘1’ ~ ‘9’ ,让矿⼯⼩六挖到隧道的尽头,假设每个钻⽯价值500美⾦,统计⼩六挖到了价值多少美⾦的收获?
            char b;
            int sum = 0;
            do
            {
                b = (char)Console.Read();
                if (b >= '0' && b <= '9')
                {
                    int num = b - '0';
                    sum += num;
                }
                else if (b == '*')
                {
                    sum += 500;
                }
            } while (b != '#');
            Console.WriteLine(sum);

2.循环中的continue

continue; 终止当前循环进入下次循环 break; 终止循环,不再执行

// 取1-100的奇数
            for (int i = 1; i <= 100; i++)
            {
                if (i % 2 == 1)
                {
                    Console.WriteLine(i);
                }
            }
            for (int i = 1; i <= 100; i++)
            {
                if (i % 2 == 0)
                {
                    continue; // 终止当前循环进入下次循环
                }
                Console.WriteLine(i);
            }

3.循环嵌套

循环里面套循环,就是循环嵌套.特点:外层循环一次,内层循环循环全部

// 输出4行*每行10个
            for (int i = 0; i < 4; i++) // 控制行
            {
                for (int j = 0; j < 10; j++) // 控制个数
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
// 输入两个整数n和m,输出n行m列的*阵
            int n = Convert.ToInt32(Console.ReadLine());
            int m = Convert.ToInt32(Console.ReadLine());
            for (int i = 0;i < n; i++)
            {
                for(int j = 0;j < m; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

4.随机猜数字

随机数的生成 Random Random random = new Random(); 随机数是伪随机,利用算法计算出来的,真正的随机数是随机出来的,不带算法的,无法预测的的,但是伪随机我们可以直接使用,再视觉上形成一个随机数.

// 随机数,随机出来的数字进行比较,让玩家猜数字,如果猜的数字⽐随机数⼩,输出猜⼩了,如果猜的数字⽐随机数⼤,输出猜⼤了,猜中的话,输出猜中了,并结束游戏,没有猜中的话,就让玩家⼀直猜。
  			Random random = new Random();
			int num  = random.Next(1,101);
            while (ture)
            {
                Console.WriteLine("请输入1-100之间的数字");
                int num1 =Convert.ToInt32(Console.ReadLine());
                if (num1 > num)
                {
                    Console.WriteLine("你猜的太大了");
                }
                else if (num1 < num)
                {
                    Console.WriteLine("你猜的太小了");
                }
                else
                {
                    Console.WriteLine("哟,竟然猜对了");
                    break;
                }
            }

5.数组

数组 Array 数组声明,数组声明的时候也要注意类型 声明了一个int整数类型的数组,只能放整数类型的数据,数据与数据之间用,号隔开

int[] ages = { 18, 25, 3, 50, 880, 95 , 10 ,850};

如何访问数组中的数据,可以通过数组名加上下标(索引)进行访问 数组的数据中每一个数据都有一个下标(索引),注意:是从0开始的依次递增

注意:不能访问索引不存在的数据,会报错,例如超出索引

Console.WriteLine(ages[5]);

如何更改数组中的某个数据? 通过数组名加上下标(索引)进行更改

  ages[4] = 25;
   Console.WriteLine(ages[4]);

数组的创建方式

// 1.直接书写,创建,只是声明了一个数组,并没有添加数据,也不知道数组的长度.注意:这种方式创建的数组声明与赋值要在同一行完成.
           int[] age;
// 2.通过new关键字创建一个数组,[10]代表数组长度,创建了一个长度为10的数组
           int[] age2 = new int[10];

// 3.通过new创建,后面更上{},添加数组中的数据,明确了数组中的数据,不指定数组长度,可以有任意个数据
           int[] age3 = new int[] {1,2,3,4,5,6,7,8,9,10};
// 4.通过new创建,[4]指定数组长度,数组中的数据个数要与长度相对于
           int[] age4 = new int[4] { 1,2,3,4};

注意:不能访问索引不存在的值,索引是从0开始的,数组的长度是从1开始的

如何获取一个数组的长度:Console.WriteLine(ages.Length);

遍历数组

for (int i = 0; i < ages.Length; i++)
            {
                Console.WriteLine(ages[i]);
            }
             // foreach ages是要遍历的数组,item是数组中的每一项数据
             foreach (int item in ages)
            {
                Console.WriteLine(item);
            }

倒序遍历数组的每一项数据

for (int i = ages.Length-1; i >= 0 ; i--)
            {
              Console.WriteLine(ages[i]);
            }

 

// IndexOf 检测数组中是否包含某个数据,如果有就返回索引,如果没有就返回-1,只能查到第一个

    Console.WriteLine(Array.IndexOf(ages, 80));

// LastIndexOf 查找指定数组中的最后一次出现的位置,如果有返回索引,如果没有返回-1

    Console.WriteLine(Array.LastIndexOf(ages,80));

// Reverse 将数组中数据颠倒顺序,反转

			Array.Reverse(ages);
            foreach (int item in ages)
            {
               Console.WriteLine(item);
            }

// Clear 清除
            Array.Clear(ages); // 只传入一个数组为参数,会将整个数组的数据清除掉
            Array.Clear(ages,2,5); // 三个参数值,1.代表数组,2.代表从那个索引开始清除,3.清除几个数据.(包含开始的位置)
            foreach (int item in ages)
            {
                Console.WriteLine(item);
            }

// GetValue 获取数组中指定位置的数据
      Console.WriteLine(ages.GetValue(5));

// Array.Sort() 排序
			Array.Sort(ages);
            foreach (int item in ages)
            {
               Console.WriteLine(item);
            }

6.字符串

// string 类型   String 类

// 字符串两边使用双引号包裹的,+在字符串中是拼接字符串

     string str = "  sFDJL j66hf" + "s12AD FDkh  ";

// 如何获取字符串的长度 Length
		int len = str.Length;
		Console.WriteLine(len);
// 如何获取字符串中的每一个字符
  for (int i = 0; i < str.Length; i++)
            {
                Console.WriteLine(str[i]);
            }
            foreach (char item in str)
            {
                Console.WriteLine(item);
            }

// 倒序输出字符串中每一个字符
 for (int i = str.Length-1; i >= 0; i--)
            {
                Console.WriteLine(str[i]);
            }

// 字符串的方法

// ToLower 将字符串中大写字符转为小写字符,数字不会受影响,返回的是一个新的字符串,不会对原来的字符串进行修改
  Console.WriteLine(str);
  string str1 = str.ToLower();
  Console.WriteLine(str1);

// ToUppe 将字符串中小写字符转为大写字符,数字不会受影响,返回的是一个新的字符串,不会对原来的字符串进行修改
  string str2 = str.ToUpper();
  Console.WriteLine(str2);

// Trim 去除字符串两边的空格,中间的不会受影响,返回一个新的字符串,原来的字符串不会受影响
  string str3 = str.Trim();
  Console.WriteLine(str3);

// TrimStart 去除字符串前面的空格,返回一个新的字符串,原来的字符串不会受影响
  string str4 = str.TrimStart();
  Console.WriteLine(str4);

// TrimEnd 去除字符串后面的空格,返回一个新的字符串,原来的字符串不会受影响
  string str5 = str.TrimEnd();
  Console.WriteLine(str5);

// Split 通过指定的字符分割字符串,分割后会返回一个新的数组,所以需要定义一个数组类型的变量进行接收,返回的是字符串类型的数组
  string strr = "20 50 60 70 80 90 100";
  string[] staarr = strr.Split(' ');
  foreach (string item in staarr)
   {
      Console.WriteLine(item);
   }

// 输入一组数据,用空格隔开,求这组数据中的和,要计算,类型就要是整数
			string userstr = Console.ReadLine();
            string[] staarray = userstr.Split(' ');
            int[] arr = new int[staarray.Length];
            int sum = 0;
            for (int i = 0; i < staarray.Length; i++)
            {
                int num = Convert.ToInt32(staarray[i]);
                arr[i] = num;
            }
            foreach (int item in arr)
            {
                sum += item;
            }
            Console.WriteLine(sum);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值