C Sharp
Anything one man can imagine, other men can make real.
for循环
我们在使用while循环或者do-while循环的时候,经常会忘记给循环变量自增,为了解决这个问题,我们有了更为简单的一种循环,叫做for循环,for循环专门处理已知循环次数的循环。
for(表达式1;表达式2;表达式3)
{
循环体;
}
//表达式1:一般为声明一个循环变量,用来记录循环的次数。
//表达式2:一般为循环条件。
//表达式3:一般为能够改变循环条件的代码。
执行过程:在第一次循环的时候,首先执行表达式1,再执行表达式2,然后跳过表达式3.直接执行循环体,执行完循环体之后,执行表达式3,执行表达式2,循环体,表达式3,表达式2,循环体。。。。。直到表达式2不成立之后,跳出for循环。
注:break只能够跳出当前循环,而不能跳出所有循环。
int.TryParse();
尝试着将一个字符串转换成int类型,如果转换成功的话,返回一个true,并且将转换成功后的值赋值给一个int类型的参数,如果转换失败的话,返回一个false,并且给这个int类型的参数赋值为0。
continue
在循环中,如果遇到break,则跳出当前循环。如果遇到continue,则立即停止本次循环,回到循环条件进行判断,如果循环条件成立,则继续执行循环。如果不成立,则跳出循环。单独把continue放到循环中没有意义,一般也跟着if语句配合着使用。
三元表达式
表达式1?表达式2:表达式3;
表达式1一般为一个关系表达式,如果关系表达式1的结果为true,那么表达式2的值就是整个三元表达式的值,否则,表达式3就是整个三元表达式的值。
要求
:表达式2和表达式3的结果类型必须一致,并且也要和整个三元表达式的结果类型一致。
常量
const 常量类型 常量名称=值;
枚举
[public] enum 枚举名
{
值1,
值2,
值3,
........
}
public
:访问修饰符。访问的权限,公开的,公共的,谁都能访问。
enum
:表示声明枚举的关键字。
枚举名
:必须要Pascal命名规范。每个单词的首字母都要大写。
枚举类型和int类型互相兼容,所以两种类型可以通过强制类型转换的语法互相转换。
枚举类型的值默认是从0开始的。
注:不管是将字符串类型的数字转换成枚举类型还是将int类型转换成枚举类型,结果都不会抛异常。但是,如果要转换的字符串,在枚举中,并没有所对应的值,这个时候会抛异常。
结构
一次性声明多个不同类型的变量
[public] struct 结构名
{
结构成员;
}
字段跟变量有一个本质的区别:字段可以存储多个值,而变量只能存储一个值。
数组
数组类型[] 数组名=new 数组类型[数组长度];
注意:数组的长度一旦声明了,就不能再被改变了。
声明数组的几种方式
推荐
1. int[] nums = new int[10];
2. int[] nums = {1, 2, 3, 4, 5};
不推荐
3. int[] nums = new int[4]{1, 2, 3, 4};
4. int[] nums = new int[]{1, 2, 3, 4}
今日代码
namespace ABC_Low_Level3
{
//枚举类型
public enum QQstate
{
OnLine,
OffLine,
Leave,
Busy,
Qme
}
//结构类型
public struct Person
{
public string _name;
public int _age;
public char _gender;
}
class Program
{
static void Main(string[] args)
{
/*2018.06.20--->for循环
* 传智播客基础班第五天
*/
//求水仙花数:100-999
for (int i = 100; i <= 999; i++)
{
//求百位
int a = i / 100;
//求十位
int b = (i % 100) / 10;
//求个位
int c = i % 10;
int multi = (a * a * a) + (b * b * b) + (c * c * c);
if (i == multi)
{
Console.WriteLine(i);
}
}
Console.ReadKey();
//打印乘法口诀表
for (int i = 1; i < 10; i++)
{
for (int j = 1; j < 10; j++)
{
int q = 0;
Console.Write("{0}*{1}={2}\t",i,j,q);
}
Console.WriteLine();
}
Console.ReadKey();
//打印1-100之间所有的质数
for (int i = 2; i <= 100; i++)
{
bool b = true;
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
b = false;
break;
}
}
if (b)
{
Console.WriteLine(i);
}
}
Console.ReadKey();
//将枚举类型转换为int类型
int n1 = (int)QQstate.OnLine;
Console.WriteLine(n1);
Console.WriteLine((int)QQstate.OffLine);
Console.ReadKey();
//将int类型转换为枚举类型
int y1 = 1;
QQstate s1 = (QQstate)y1;
Console.WriteLine(s1);
Console.ReadKey();
//将枚举类型转换为字符串类型,调用Tostring()
QQstate s = QQstate.OnLine;
Console.WriteLine(s.ToString());
Console.ReadKey();
//将字符串类型转换为枚举类型
QQstate e1 = (QQstate)Enum.Parse(typeof(QQstate), "1");
Console.WriteLine(e1);
Console.ReadKey();
//首先声明一个结构类型的变量
Person zsPerson;
zsPerson._name = "张三";
zsPerson._age = 19;
zsPerson._gender = '男';
}
}
}