变量的作用域
目前创建的变量基本都是局部变量,
什么是局部变量,
顾名思义,只在局部的代码里面起作用的变量就叫局部变量
在一个方法里面创建的变量是不能在其他方法使用的
一对{ }基本就代表一个作用域
在子作用域里面是可以访问父作用域里面的变量的
while循环的作用域
for循环的优势:
for循环可以很方便的控制循环的次数;
当知道循环的次数时,一般使用for循环 ;
当知道首尾关系时,也尽量使用for循环;
当知道有一个终止条件,不知道循环什么时候终止时,用while循环;
所有使用while循环的基本都可以用for循环来做
do while是先执行一次循环体,再进行条件的判断
while是先进行条件的判断,条件不满足的话,一次循环体都不会执行
int num = new Random().Next(1, 1000001);
Console.WriteLine("输入 -> {0}", num);
bool isPrimeNum = true;
for (int i = 2; i < num; i++)
{
if (num % i == 0 && num != i)
{
isPrimeNum = false;
break;
}
}
Console.WriteLine("输出 -> {0}", isPrimeNum && num != 1 ? "yes" : "no");
int num = new Random().Next(1, 100001);
//num = Convert.ToInt32(Console.ReadLine());
num = 123400;
Console.WriteLine("输入 -> {0}", num);
//获得输入数字的位数
int temp = num;
int count = 0; //num位的个数
int digit = 1; //10^(count-1)
while (temp != 0)
{
temp /= 10;
count++;
digit *= 10;
}
digit /= 10;
//开始反转数字
int result = 0; //最终结果
int multiply = 1; //反转后每一位对应新数的倍率
for (int i = 0; i < count; i++)
{
result += num / digit % 10 * multiply;
digit /= 10;
multiply *= 10;
}
Console.WriteLine("输出 -> {0}", result);
我用的这个思路~~~~没有老师的简洁~~~
float hight = new Random().Next(1, 100); //获取随机测试数据 Console.WriteLine("初始高度:{0}", hight); float sum = 0f; for (int i = 0; i < 10; i++) { sum += (float)(hight + hight / 2.0); hight /= 2; Console.WriteLine("第{0}次反弹,弹起高度 -> {1}", i, hight); } Console.WriteLine("经过的总距离 -> {0}", sum);
ToLower();ToUpper();trim()
int[] arry = new int[]{};
bool a = true;// 是的,真的,满足,1
bool b = false;//否的。假的,不满足,0
Console.WriteLine(a);
Console.WriteLine(b);
快捷键复制某行代码,点击前面,ctrl+d
符号 条件
==
>
<
>=
<=
a++; //a自己增加1
int b=a++;//先赋值再自增
int b=++a;//先自增再赋值
有这两个不同
a--;//a自己减少1
--a;
static int max(int []max)
{
int Max =0;
for(int i =0; i<max.Legth-1;i++)
{
if(max[i]<max[i+1])
{
Max = max[i+1];
}
}
return Max;
}
static double max(double []max)
{
double Max =0;
for(int i =0; i<max.Legth-1;i++)
{
if(max[i]<max[i+1])
{
Max = max[i+1];
}
}
return Max;
}
int zs = max(new int []{});
double xs = max(new double []{});
Console.WriteLine("int:"+zs);
Console.WriteLine("doubel:"+xs);
start:
int age = Convert.ToInt32(Console.ReadLine());
if(16<=age && age <=30)
{
if (age % 2 != 0)
{
Console.WriteLine("年龄符合");
}
else
{
Console.WriteLine("年龄不符合");
goto start;
}
}
else
{
Console.WriteLine("请重新输入年龄");
goto start;
}
个位和10位输出
利用求整和余数实现
//如果是百位呢?以此类推 587
int bai = 587 / 100;
int shi = 587 / 73;
int ge = 587 % 580;
Console.WriteLine("百位{0},十位{1},个位{2}",bai,shi,ge);
//赋值就是把右边的值赋予左边
int c=a+b;
a+=10;//简化写 完整的是a=a+10;
int d=45/10; 两边的数字都是整数(45和10),结果也是整数。
如果要结果d=4.5得小数,必须是是两个数有1个或者两个都是小数。并且int类型是整数类型,更改为double类型。其方法是:
double d=45/10.0
double d=45.0/10
double 45.0/10.0
求余的符号是%
int e=45%10
结果e的余数是5
委托是一种存储方法的数据类型,可以用委托代替方法,但前提是委托的返回值类型和参数要与方法相同才行,将方法名赋值给委托就可以像方法调用一样了
结构体内可以放函数,函数可以直接访问结构体的参数
方法名、类名单词首字母大写,变量名第一个单词小写,第二个单词的首字母大写
结构体是一种数据类型,用法和其他数据类型相似
3 8
11
11
11 3 8
22
编译就是把我们写的代码翻译成机器可以识别的文件
C#编译
代码——>程序集(exe dll)
程序集在运行的时候会编译成机器指令(JIT及时编译 )