while循环 一般做 未知次数的循环
for 循环 一般做已知次数的循环
//int a = 0;
//while (a < 1)
//{
// Console.WriteLine(a);
//}
//for (定义一个初始变量;循环的条件;初始变量的自增或者自减/
//在每次循环结束的 自身变化)
//for (int i = 0; i < 10; i++)
//{
// Console.WriteLine(i);
//}
for和while 的基础语法格式;
for ( ; ; ) { }
while(true) { }
//for 嵌套
//原理: 先看外部条件是否成立 如果不成立 整个for结果
//如果成立 才能对内部for进行判断和执行 直到外部循环
//不成立时,结束
for (int i = 0; i < 10; i++)
{
Console.WriteLine(1);
for (int j = 0; j < 10; j++)
{
Console.WriteLine(2);
for (int k = 0; k < 10; k++)
{
Console.WriteLine(3);
for (int l = 0; l < 10; l++)
{
while (l < 10)
{
Console.WriteLine(5);
}
Console.WriteLine(4);
break;
}
}
}
}
*continue and break;
循环10次, 输出9个1
for (int i = 1; i <= 10; i++)
{
Console.WriteLine(1);
if (i == 10)
{
break;
}
}
1245
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue;
}
Console.WriteLine(i);
}
1 - 100 的偶数
for (int i = 1; i <= 100; i++)
{
if (i % 2 != 0)
{
continue;
}
Console.WriteLine(i);
}
do~~~while 不管条件成立与否,至少会循环一次
while 首先判断条件成立; 执行循环
int score = 50;
do
{
Console.WriteLine("学习中。。。");
Console.WriteLine("考试!"); // 输出5次
score += 2;
} while (score < 60);
随机数实例:类似问题拓展延伸
//先实例一个随机数;根据 初始值判断循环次数,不固定!
Random random = new Random();
//Next 左闭 右开 区间
int score2 = random.Next(1, 101);
do
{
Console.WriteLine("学习中。。。");
Console.WriteLine("考试!"); //
Console.WriteLine(score2);
score2 += 2;
}
while (score2 < 60);
方法延展:goto 语句 跳转语句 模拟循环逻辑 / goto 语句跳转标签
goto
是C#中的一种跳转语句,它允许你无条件地将程序控制从一个位置转移到另一个位置。虽然 goto
可以在某些情况下有用,但它通常被认为是一种不推荐使用的编程技巧,因为它可能导致代码难以理解、维护和调试。在许多情况下,使用结构化的控制流程(如循环和条件语句)通常更容易理解和维护。
以下是 goto
语句的一般语法:
labelName:
// 一些代码
goto labelName; // 跳转到标签处
labelName: // 一些代码 goto labelName; // 跳转到标签处
以下是一个示例,演示了 goto
语句的使用:
int money = 100;
score_test:
Console.WriteLine("学习中。。。");
Console.WriteLine("考试!"); //
score += 2;
goshoping:
Console.WriteLine("我去购物!!");
money -= 50;
if (score < 60)
{
goto score_test;
}
if (money >= 50)
{
goto goshoping;
}
tips:虽然 goto
可以在某些情况下提供一种解决问题的方法,但应该非常小心使用它,以避免代码变得难以理解和维护。在实际编程中,应该尽量使用结构化的控制流程,如循环和条件语句,来提高代码的可读性和可维护性。
switch 条件判断语句
//每一个 case 都要对应一个 break;不然会贯穿 报错!!
---------------------------------------------------------------------------------------------------------------------------------
访问修饰符:是 C# 中常用的关键字
作用:所有类型 和 类型成员 都具有 可访问性级别
在C#中,访问修饰符(Access Modifiers)用于控制类、成员(字段、方法、属性等)以及嵌套类型的可访问性。不同的访问修饰符确定了这些成员对其他类或程序集的可见性和访问权限。以下是C#中主要的访问修饰符以及它们的详细介绍:
-
public
(公共):- 类内外都可以访问。
- 其他程序集中的代码可以访问。
- 通常用于表示公共接口或公共类成员。
-
private
(私有):- 只能在包含该成员的类内部访问。
- 无法从类的外部直接访问。
- 常用于实现封装和隐藏内部实现细节。
-
protected
(受保护):- 可以在包含该成员的类和派生类中访问。
- 无法从类的外部直接访问。
- 用于允许派生类访问基类的成员。
-
internal
(内部):- 可以在同一个程序集中的任何类中访问。
- 对于其他程序集中的代码来说,该成员是不可见的。
- 用于限制只有同一程序集内的代码可以访问。
-
protected internal
(受保护内部):- 可以在同一程序集中的任何类中访问。
- 也可以在派生类中访问。
- 对于其他程序集中的代码来说,该成员是不可见的。
- 结合了
protected
和internal
的特性。
-
private protected
(私有受保护):- 只能在同一程序集中的派生类中访问。
- 对于同一程序集中的其他类和其他程序集的代码来说,该成员是不可见的。
需要注意的是,访问修饰符可以应用于类、类的成员(字段、方法、属性等),以及嵌套类型(类或结构)。这些修饰符帮助你控制类和成员的封装程度,从而确保代码的安全性和可维护性。
类、结构体的默认修饰符是internal。
类中所有的成员默认修饰符是private。
接口默认修饰符是internal。
接口的成员默认修饰符是public。
枚举类型成员默认修饰符是public。
委托的默认修饰符是internal。
此外,还有一些特殊的访问修饰符,如internal protected
,但它们的使用相对较少,通常在特定情况下才使用。
总之,访问修饰符是C#语言中非常重要的概念,用于控制代码的可见性和访问权限,以确保代码的正确性和安全性。