第三章 字符串操作
一、String类型
文本字符串类型,常用类型
string str = "今天是个好天气,我被老师批评了一顿,魏子博";
Console.WriteLine(str.contains("魏子博")): //是否包含相关字符
Console.WriteLine(str.endswith("子博")): //以某个字符串结尾
Console.WriteLine(str.startswith("子博")): //以某个字符串开头
Console.WriteLine(str.indexof("个")): //个字第一次出现的位置,从0开始
Console.WriteLine(str.insert(3,"晴天真是")): //从某个位置插入字符串
Console.WriteLine(str.lastindexof("个")): //个字最后一次出现的位置,从0开始
Console.WriteLine(str.remove(3)): //删除位置后的字串串
Console.WriteLine(str.replace("魏子博","魏子博帅哥")): //替换字符串
Console.WriteLine("Abcd".toupper()): //转换为大写
Console.WriteLine("Abcd".tolower()): //转换为小写
Console.WriteLine(str.substring(3,5)): //截取位置3-5的内容
//格式化字符串:{0},{1},{2}
//format(字符串加占位符,值1,值2,值3,值4........值n)
string name = "赵俊杰";
int age = 88;
string str2 = string.format("我们的班长是{0},年龄:{1}",name.age);
//整出来这个格式化的字符串,控制台可以用,游戏也能用,winform也能用;
//传值更为方便。
Console.WriteLine(str2);
Console.ReadLine();
二、类型转换
类型包括:整数,浮点型,字符串
2.1 隐式转换(自动转换)
int age = 20;
double age2 = age; //double:浮点型,小数类型,范围比较大。
Console.WriteLine(age);
Console.WriteLine(age2);
Console.ReadLine();
2.2 显式转换
double height = 2.87;
int height2 = (int)height; //因为double类型范围比较大
//在大的类型前面加一个(小类型),不加的话出现的问题就是数据丢失了。
Console.WriteLine(height);
Console.WriteLine(height2);
Console.ReadLine();
2.3 类型转换
string s = "2222";
int num2 = int.parse(s); //字符串转换为整数型,parse(字串串参数)
int num3 = convert.toint32(s); //字符串转换为整数型,convert.toint32(字串串参数)
Console.WriteLine(num2);
Console.WriteLine(num3);
Console.ReadLine();
第四章 双重循环
一、双重循环5层星
双重循环:循环的嵌套,一般最多三层循环,要求大家精通双重循环面试题,掌握面试题的解决思路。
///<summary>
///*1
///**2
///***3
///****4
///*****5
///</summary>
//所有的这种面试题,外层循环控制行数:i代表行数
for(int i=1;i<=5;i++){
//Console.WriteLine("输出行数"+i);
//如何在第1行输出一个*,第二行**,第三行***
for(int j=1;j<=i;j++){ //j代表输出的*个数
Console.Write("*");
}
Console.WriteLine(); //一行完毕之后,换行
}
Console.ReadLine();
///<summary>
///*1
///***3
///*****5
///*******7
///*********9
///</summary>
for(int i=1;i<=5;i++){
for(int j=1;j<=i*2-1;j++){ //j代表输出的*个数
Console.Write("*");
}
Console.WriteLine(); //一行完毕之后,换行
}
Console.ReadLine();
二、等腰三角形
使用三次嵌套循环,制作等腰三角形。
///<summary>
/// *
/// ***
/// *****
/// *******
///*********
///</summary>
for (int i = 1; i <= 5; i++) //i为三角形的总行数
{
for (int j = 1; j <= 5 - i; j++) //循环输出空格
{
Console.Write(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) //循环输出*,j代表输出的*个数
{
Console.Write("*");
}
Console.WriteLine(); //一行完毕之后,换行
}
Console.ReadLine();
三、数组格式使用
数组概念:一组相同数据类型的集合;减少变量的定义;
数据格式;数据类型[] 数组名,比如int[] ages
数组定义:
int[] ages=new int[3];
string[] names=new string[42];
数组赋值:数组名[下标]=值;值一定要和数组类型一致;下标从0开始,到数组长度-1结束。
ages[0]=15;
names[0]=“李三”;
ages = new int[3]{15,16,17};
声明变量的同时赋值:
1、int[] ages = new int[3]{15,16,17};
2、int[] ages = {15,16,17};
//输入五个人的名字
string[] names = new string[5];
names[0]="李白1";
names[1]="李白2";
names[2]="李白3";
names[3]="李白4";
names[4]="李白5";
names = new string[5]{"李白1","李白2","李白3","李白4","李白5"};
foreach(string name in names){
Console.WriteLine(name);
}
Console.ReadLine();
for(int i =0;i<names.Length;i++){
Console.WriteLine(names[i]);
}