水仙花数(必须是三位数):百位数字的立方+十位数字的立方+各位数字的立方=当前数字本身
for(int i=100; i <=999; i++)
{
int bai=i/100;
int shi=i%100/10;
int ge=i%10;
if (bai*bai*bai+shi*shi*shi+ge*ge*ge==i)
{
Console.WriteLine(i);
}
}
输出乘法口诀
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0}*{1}={2}\t", j, i, i * j);
}
Console.WriteLine();}
}
Console.ReadKey();
类型转换:Convert/Parse/TryParse
(int)变量名[强制类型转换]:
该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,单是从long类型转换到int类型的时候就需要使用显示转换,也就是该数据类型转换方式,否则会产生编译错误
该方式对于浮点数会做无条件的舍去,失去精度
改方法也可以记性object到int的转换,但是,object的值要赋予int类型的值,否则会产生编译错误,而object为null的时候回出错
并且,不能用来处理char类型到int类型的转换,否则返回的值是ASCII代码,并不是你想要的结果
int.Parse(string雷星星变量):
该方法是讲数字内容的字符串转换为int类型,如果字符串内容为空或者null,则会抛出ArgumentNullException异常,如果自发货窜内容不是数字,则会抛出FormatException异常,如果字符串内容所表示的数字超出int类型可以表示的范围,则抛出OverFlowException异常
使用该方法的啥时候只能处理字符串内容,而且字符串内容只能是int类型可以表示的范围之内
int.TryParse(string s,out int result):
该方式也是讲数字内容的字符串转换为int类型,但是该方式比int.Parse优越的地方就是他不会抛出异常,如果转换成功则返回true,如果转换失败则返回false,最后一个返回参数是输出值,如果转换成功则输出相应的值,如果转换失败则返回0
Convert.ToInt32(string s):
该方式不仅可以将字符串转换为int类型,还可以将其他类型的值转换为int类型,如果变量为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转换成int的时候回造成程序错误
该方式对于浮点数会四舍五入
改方式同样不能护理char类型,否则返回的也是ASCII码
求1-100的质数
质数:只能被1和自己整除的数,2是最小的质数,负数不是质
bool show = true;
for (int i = 2; i <= 100; i++)
{
for (int j = 2; j < i; j++)
{
if (i % j == 0)//不是质数
{
show = false;
break;//不是质数则跳出当前循环不在继续内层循环
}
}
if (show)
{
Console.WriteLine(i);
}
show = true;
}
Console.ReadKey();
三元运算符;
变量=表达式1?表达式2:表达式3
先判断表达式1是否正确,如果正确则变量值为表达式2的结果,否则为表达式3的结果
ps:表达式2的运算结果和表达式3运算结果与变量三者的类型要保持一致
int b=6>4?6:4;//如果6大于4,则为b赋值6,否则则为b赋值4
产生随机数,需要用到Random
while (true)
{
Random rd = new Random();
int s = rd.Next(100, 999);
Console.WriteLine(s);
Console.ReadKey();
}
时间种子:
代码
for(int i=0;i<100;i++)
{
Random rd = new Random();
int s = rd.Next(100, 999);
Console.WriteLine(s);
}
Console.ReadKey();
与代码
Random rd = new Random();
for(int i=0;i<100;i++)
{
int s = rd.Next(100, 999);
Console.WriteLine(s);
}
Conosole.ReadKey();
运行之后产生的结果大不相同,前面一个在循环里面创建对象,会导致产生的随即数出问题,而后一个在循环之外创建对象,则可以正常产生随机数
常量:
被关键字const修饰的变量,常量一旦声明则不能重新赋值
枚举:
枚举类型和int类型相互兼容,可以直接使用强类型转换相互转换,默认的枚举类型从0开始
public enum Sex
{
男 = 1,
女 = 2,
}
//枚举强制转换为intint sw = (int)Sex.男;
Console.WriteLine(sw);
//int强制转换为枚举
int b = 1;
Sex sec = (Sex)b;
Console.WriteLine(sec);
//将枚举转换成字符串
Sex se = Sex.男;
Console.WriteLine(se.ToString());
//将字符串转换成枚举
string na = "2";
Sex se2 = (Sex)Enum.Parse(typeof(Sex), na);
Console.WriteLine(se2);
Console.ReadKey();
结构类型:为了一次创建多个不同类型的变量
ps:此处的不再称为变量,而是字段
public struct Person{
public string _name;//这里称为字段,而不是变量,在命名字段的时候前面加个下划线
public int _age;
public char _gender;
}
//使用如下:
Person per1;
per1._gender = '男';
per1._name = "张三";
per1._age = 18;
Int32是一个结构,可以查看到