for(表达式1;表达式2;表达式3)
{
循环体;
}
表达式1:定义的循环变量
表达式2:关系表达式
循环条件
表达式3:可以使循环条件不成立的条件
执行过程:首先执行表达式1.再执行表达式2 。如果表达式2的结果为true 那么则执行循环体,如果为false
则跳出for循环
执行完循环体后,再执行表达式3,再执行表达式2,如果表达式2为true 则继续执行循环体
如果表达式2 为false
则跳出循环
for(int i=0;i<10;i++)
{
for(int
j=0;j<10;j++)
{
for(int
k=0;k<10;k++)
{
Console.WriteLine("大病初愈");
}
}
}
3中转换数字的方法
Conver.ToInt32("字符串")
int.Parse("字符串")
上面两种转换,一旦转换不成功,报异常
int.TryParse("字符串",out
int类型)
返回一个bool类型,来告诉用户这次转换是否成功,如果成功的话,转换成功后的值存放在咱们自己定义的int的类型的变量,返回的bool类型的结果是true
如果转换失败。咱们自己定义的int类型的变量是0,跟咱们给int类型赋的初值没关系,返回的bool类型的变量是false
2、三元表达式 表较数字大小
输入姓名
表达式1?表达式2:表达式3
执行原理:表达式1一定是一个关系表达式,如果表达式1
的值为true,那么表达式2的值就是整个三元表达式的值
如果表达式1
的值为false,那么表达式3的执行就是整个三元表达式的值
注意:表达式2和表达式3的类型一定相同,并且和整个三元表达式的结果的类型也相同
//Console.WriteLine("请输入数字1");
//int number1 =
Convert.ToInt32(Console.ReadLine());
//Console.WriteLine("请输入数字2");
//int number2 =
Convert.ToInt32(Console.ReadLine());
//if (number1 >
number2)
//{
// Console.WriteLine("这两数中比较大的是{0}",
number1);
//}
//else
//{
//
Console.WriteLine("这两个数字钟比较大的是{0}",number2);
//}
//执行原理:表达式1一定是一个关系表达式,如果表达式1
的值为true,那么表达式2的值就是整个三元表达式的值
// 如果表达式1 的值为false,那么表达式3的执行就是整个三元表达式的值
//注意:表达式2和表达式3的类型一定相同,并且和整个三元表达式的结果的类型也相同
//int
max= number1 > number2 ? number1 :
number2;
//Console.WriteLine("这两个数中比较大的数字是{0}",max);
//Console.ReadKey();
//Console.WriteLine("请输入姓名");
//string name =
Console.ReadLine();
//if (name ==
"老赵")
//{
//
Console.WriteLine("人才啊");
//}
//else
//{
//
Console.WriteLine("充其量就是一淫才");
//}
//string result = name == "老赵" ? "人才啊" :
"淫才啊";
//Console.WriteLine(result);
//Console.ReadKey();
Console.WriteLine("请输入数字1");
int number1 =
Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入数字2");
int number2 =
Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入数字3");
int number3 = Convert.ToInt32(Console.ReadLine());
// int
max=(number1>number2)&&(number1>number3)?number1:number2:number3;
int max = (max = number1 > number2 ? number1 : number2) > number3 ? max :
number3;
Console.WriteLine(max);
Console.ReadKey();
//Console.WriteLine("请输入一个名字");
//string name =
Console.ReadLine();
//string result = name == "Alice" ? "真漂亮" :
"丑死啦";
//Console.WriteLine(result);
//Console.ReadKey();
return:终止当前方法的执行
break:跳出当前循环
continue:回到当前循环的判断条件
3、输入随机数 随即显示这个人上辈子是干啥的
Random r = new Random();//创建Random这个类的对象
int number = r.Next(0,
5);//调用r的Next方法 ,能取到0-4,取不到5
// switch
(number)
//
{
// case
1:
// job =
"掏大粪";
//
break;
// case
2:
// job =
"卖春";
//
break;
// case
3:
// job =
"八大胡同老鸨";
//
break;
// case
4:
// job =
"汉奸";
//
break;
// case
5:
// job =
"军统大元帅";
//
break;
// }
// if (name ==
"end")
//
{
//
Console.WriteLine("程序结束");
//
break;
//
}
//
else
//
{
// Console.WriteLine("{0}上辈子是{1}",
name,
job);
// }
//}
//Console.ReadKey();
Random r =
new Random();
//定义一个随机数的类
string name = "";
//接收用户输入的姓名
int number = 0;
//定义一个变量,接收随机数
string job = "";
//定义一个变量来存储工作
while
(true)
{
Console.WriteLine("请输入你想知道的人");
name =
Console.ReadLine();
number = r.Next(1,5); //接收随机数
1-4之间
switch
(number)
{
case
1:
job =
"掏大粪";
break;
case
2:
job =
"拉车的";
break;
case
3:
job =
"卖水的";
break;
case
4:
job =
"卖春的";
break;
}
Console.WriteLine("{0}上辈子是{1}",name,job);
}
常量:
//变量
//声明方式:
//变量类型
变量名=值;
//变量可以重复赋值
//int number =
10;
//number = 20;
//常量
const
//不想值被改变
就把变量标记成常量
//声明方式
//const 变量类型
变量名=值;
//常量不能被重新赋值
const int number = 10;
//const int
number1 = 5;
//不可改变的
//const int number2 = 6; //不可改变的
//输入名字随机显示这个人上辈是什么样的人
//Random r = new
Random();
//int number =
0;
//string job =
"";
//while
(true)
//{
//
Console.WriteLine("请输入你想知道的人");
// string name =
Console.ReadLine();
// number =
r.Next(1,6);
4、为什么要使用枚举?
1)为了规范用户的输入
枚举的语法
[访问修饰符] enum
枚举名
{
值1,
值2,
值3,
值4......
}
把枚举写到命名空间下,说明这个命名空间下的所有的类都能够使用这个枚举
把枚举写到类中,说明这个类中所有的方法都能够使用这个枚举
使用枚举:
枚举类型 枚举名=枚举类型.枚举值;
namespace _05枚举
{
//public enum Gender
//{
// 男,//0
// 女,//1
//
春哥,//2
// 曾哥,//3
// 迟到哥//4
//}
class Program
{
static void Main(string[]
args)
{
//while
(true)
//{
//
Console.WriteLine("请输入你的性别");
// string gender =
Console.ReadLine();
// Console.WriteLine("您输入的性别是{0}",
gender);
//
Console.ReadLine();
//}
//Gender gender =
Gender.男;
//Gender gender2 =
Gender.女;
//Gender gender3 =
Gender.春哥;
//Gender gender4 =
Gender.曾哥;
//Gender gender5 =
Gender.迟到哥;
//Console.WriteLine("您输入的是{0}", gender);
枚举值和int类型之间的转换
//枚举是基于int类型的,也就说,可以把枚举强转为int类型
默认第一个枚举值是0,往后依次类推
namespace _03_枚举
{
///
<summary>
/// 定义一个枚举,,里边存储有 男女
/// </summary>
public enum Sex
{
男,
女
}
/// <summary>
///
定义一个QQ的状态
/// </summary>
public enum QQstal
{
上线,
繁忙,
隐身,
离开,
寂寞
}
class Program
{
static void Main(string[]
args)
{
//
避免用户随意输入
//Sex sex = Sex.男; //枚举类型 变量名=枚举类型 .
值
//Sex
sex1 =
Sex.女;
//Sex sex2 =
Sex.男;
//Sex sex3 = Sex.女;
QQstal
stal1 =
QQstal.上线;
QQstal stal2 =
QQstal.寂寞;
QQstal stal3 =
QQstal.离开;
QQstal stal4 =
QQstal.隐身;
QQstal stal5 = QQstal.繁忙;
Console.WriteLine(stal1);
Console.WriteLine(stal2);
Console.WriteLine(stal3);
Console.WriteLine(stal4);
Console.WriteLine(stal5);
Console.WriteLine("================================================");
int
stalnum1 =
(int)stal1;
int stalnum2 =
(int)stal2;
int stalnum3 =
(int)stal3;
int stalnum4 =
(int)stal4;
int stalnum5 = (int)stal5;
Console.WriteLine(stalnum1);
//可以强转为int类型
Console.WriteLine(stalnum2);
Console.WriteLine(stalnum3);
Console.WriteLine(stalnum4);
Console.WriteLine(stalnum5);
Console.ReadKey();
}
}
}
那句特殊的代码
namespace _04神奇的一句话
{
public enum
QQstal
{
在线,
离开,
繁忙,
寂寞
}
class Program
{
static void Main(string[]
args)
{
Console.WriteLine("请输入一个状态,在线/离开/繁忙/寂寞");
string zhuangtai =
Console.ReadLine();
try
{
QQstal q = (QQstal)Enum.Parse(typeof(QQstal), zhuangtai);
//转换
}
catch
{
Console.WriteLine("输入有误");
}
Console.ReadKey();
}
}
}
结构
[访问修饰符] struct
结构名
{
结构的成员;
}
变量和字段的最大区别:在程序运行的时候,变量只能存一个值,而字段可以存多个值
namespace _08结构
{
public enum
Gender
{
男,
女
}
public struct Person
{
//结构成员
//1、变量
public string
_name;//叫做字段
public int
_age;
public Gender
_gender;
//2、方法
}
class
Program
{
static void Main(string[] args)
{
//在计算机中分别的描述张三、李四、王五
//string
zsName =
"张三";
//char zsGender =
‘男‘;
//int
zsAge = 18;
//string lsName =
"李四";
//char lsGender =
‘男‘;
//int
lsAge = 15;
//string wwName =
"王五";
//char
wwGender=‘女‘;
//int wwAge = 19;
//一次性的声明多个不同类型的变量
//结构
// [访问修饰符] struct
结构名
//
{
//
结构的成员;
// }
Person
zsPerson;
zsPerson._name =
"张三";
zsPerson._age =
15;
zsPerson._gender = Gender.男;
Person
lsPerson;
lsPerson._name =
"李四";
lsPerson._age =
18;
lsPerson._gender = Gender.女;
//string zsName =
"张三";
//char zsGender =
‘男‘;
//int
zsAge = 18;
}
}
}
namespace _05结构练习
{
///
<summary>
/// 定义一个person的结构
/// </summary>
public struct
Person
{
public string _name;
public int
_age;
public Sex
_sex;
}
///
<summary>
/// 定义一个性别的枚举
///
</summary>
public enum Sex
{
男,
女
}
/// <summary>
///
定义一个mycolor结构
/// </summary>
public struct MyColor
{
public int
_red;
public int
_blue;
public int
_green;
}
class Program
{
static void Main(string[]
args)
{
//2
定义一个结构类型Person,有三个成员,分别为姓名,性别,年龄
//声明两个Person类型的变量,分别表示 张三 男 18岁/ 小兰 女
16岁
Person
zs;
zs._name =
"张三";
zs._age =
18;
zs._sex = Sex.男;
Person
xl;
xl._name =
"小兰";
xl._age =
16;
xl._sex = Sex.女;
//定义一个结构叫MyColor,有三个成员,分别定义为int类型的red,green,blue
//声明一个 MyColor类型的变量,并对其成员赋值.使MyColor可以表示成一个红色.
//MyColor
color;
//color._red =
255;
//color._blue =
0;
//color._green = 0;
//MyColor
color;
//color._red =
255;
//color._blue =
0;
//color._green = 0;
}
}
}
5、数组的声明 画图
数组:一次性声明多个相同类型的变量
数组的取值和赋值
数组元素的重新赋值
int[]
numbers = new
int[10];//声明了一个长度为10的数组
int[] numbers2 = { 1, 2, 3, 4, 5
};//这种声明方式,在声明的时候,就捎带这给数组赋值了
int[] numbers3 = new int[3] { 1, 2, 3
};//这种声明方式,也是在声明的时候,就赋值了,赋值的时候要注意数组的长度
int[] numbers4 = new int[] { 1, 2, 3, 4, 5
};//声明的时候,就赋值了
int[] numbers=new
int[10];
如果只是声明数组,但是不给数组赋值,默认数组中的每个元素的值都是0,前提:这是int类型的数组
如果一个数组的长度是10,那么索引从0-9
数组的长度-1
数组一旦声明了长度,那么这个数组的长度绝对不能再被改变
小练习
求数组的最大值和最小值
//求数组的最大值和最小值
//int[]
numbers = {4,6,7,345,54,4,235,-345,535,-35,35,0 };
//定义一个数组
//int max = 0;
//定义一个最大值接收
//int min = 0;
//定义一个最小值接收
//for (int i = 0; i < numbers.Length;
i++)
//{
// if (max <
numbers[i])
//
{
// max =
numbers[i];
//
}
//
if(min>numbers[i])
//
{
//
min=numbers[i];
// }
//}
//Console.WriteLine("最大值是{0},最小值是{1}",max,min);
//Console.ReadKey();
提示用户输入班级人数 然后循环的输入学员成绩
把学员的成绩循环的放到数组中 然后
求学员的总成绩和平均成绩
////提示用户输入班级人数 然后循环的输入学员成绩 把学员的成绩循环的放到数组中 然后求学员的总成绩
和平均成绩
//Console.WriteLine("请输入班级人数");
//int students = Convert.ToInt32(Console.ReadLine());
//接收班级人数
//int[] count = new
int[students];
//int sum =
0;
//for
(int i = 0; i < count.Length;
i++)
//{
// Console.WriteLine("请输入第{0}个人的成绩", i +
1);
//
//把用户输入的每一个成绩循环的放到数组的每一个元素中
// count[i] =
Convert.ToInt32(Console.ReadLine());
// sum +=
count[i];//循环的把每一个成绩加到sum里
//}
//Console.WriteLine("{0}个人的班级,总成绩是{1},平均成绩是{2}", students, sum, sum /
students);
//Console.ReadKey();
// 练习3:数组里面都是人的名字,分割成:例如:老杨|老苏|老邹…”
(老杨,老苏,老邹,老虎,老牛,老蒋,老王,老马
//
练习3:数组里面都是人的名字,分割成:例如:老杨|老苏|老邹…”
//(老杨,老苏,老邹,老虎,老牛,老蒋,老王,老马)
//string[] names = {"老杨","老苏","老周","老马","老牛","老蒋","老王","老马"
};
//string str =
"";
//for
(int i = 0; i < names.Length-1;
i++)
//{
// str = names[i] + "|";
;
//
Console.Write(str);
//}
//Console.Write(str+names[names.Length-1]);
//Console.ReadKey();
//将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,
//如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。
//将一个整数数组的每一个元素进行如下的处理:如果元素是正数则将这个位置的元素的值加1,
//如果元素是负数则将这个位置的元素的值减1,如果元素是0,则不变。
int[] numbers = {-1,-2,-3,-4,0,1,2,3,4
};
for
(int i = 0; i < numbers.Length;
i++)
{
if (numbers[i] >
0)
{
numbers[i] +=
1;
}
else if (numbers[i] <
0)
{
numbers[i] -=
1;
}
else
{
}
}
for (int
i = 0; i < numbers.Length; i++) //通过一个for循环
便利出来
{
Console.WriteLine(numbers[i]);
}
Console.ReadKey();
6、冒泡排序
int[] numbers={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 8
9
9 8 7 6 5 4 3 2 1 0
第一趟 8 7 6 5 4 3 2 1 0 9
比较了9次 i=0
第二趟 7 6 5 4 3 2 1 0 8 9
比较了8次 i=1
第三趟 6 5 4 3 2 1 0 7 8 9 比较了7次 i=2
第四趟 5 4
3 2 1 0 6 7 8 9 比较了6次 i=3
第五趟 4 3 2 1 0 5 6 7 8 9
比较了5次 i=4
第六趟 3 2 1 0 4 5 6 7 8 9 比较了4次 i=5
第七趟 2 1
0 3 4 5 6 7 8 9 比较了3次 i=6
第八趟 1 0 2 3 4 5 6 7 8 9
比较了2次 i=7
第九趟 0 1 2 3 4 5 6 7 8 9 比较了1次 i=8
外面循环是用来控制比较趟数的
for(int
i=0;i<numbers.Length-1;i++)
{
for(int
j=0;j<numbers.Length-1-i;j++)
{
if(numbers[j]>numbers[j+1])
{
交换变量
}
}
}
例如
int[] numbers = {1,2,3,4,5,6,7,8,9,0
};
//for
(int i = 0; i < numbers.Length-1;
i++)
//{
// for (int j = 0; j < numbers.Length-1-i;
j++)
//
{
// if (numbers[j] < numbers[j +
1])
//
{
// int temp =
numbers[j];
// numbers[j]
= numbers[j +
1];
// numbers[j +
1] = temp;
//
}
//
}
//}
//for
(int i = 0; i < numbers.Length;
i++)
//{
//
Console.WriteLine(numbers[i]);
//}
//Console.ReadKey();
for循环的过程 结构 冒泡排序,布布扣,bubuko.com
原文:http://www.cnblogs.com/fight2014/p/3637101.html