一、循环内容回顾
while(循环条件)
{
循环体
}
do
{
循环体;
}while(循环条件);
for(表达式1;表达式2;表达式3)
{
//要执行的代码;
}
二、break continue
break:在循环语句中,遇到break会跳出整个循环。 break后面的语句永远都不会得到执行。
continue:在循环语句中,遇到continue会跳出当前循环
三、三元表达式
语法:
表达式1?表达式2:表达式3;
表达式1一般是关系表达式
执行过程:如果表达式1的值为true,那么表达式2的值就是整个三元表达式的值;
如果表达式1的值为false,那么表达式3的值就是整个三元表达式的值;
四、常量 变量
常量:恒定不变的固定值 关键字:const
常量定义格式: const 常量类型 常量名称=常量值;
const double pai = 3.14; //定义了一个常量
常量不能被重新赋值
五、枚举
语法:
[访问修饰符] enum 枚举名称
{
spring,
summer,
autumn,
winter
}
注意:1、枚举类型不能定义在方法的内部
2、枚举是一个类型
六、数组:一次性存储多个相同类型的变量
语法结构:
数组类型[] 数组名称=new 数组类型[数组长度];
int[] ages=new int[10];
//定义了一个int类型的数组,并为该数组开辟了十块连续的空间,我们称每一块为一个元素
数组元素的赋值:使用for循环为数组元素赋值、取值。
int类型的数组,创建完以后,如果不赋值,默认值为0;
string类型的数组,创建完以后,如果不赋值,默认值为null.
null与空的区别:null代表没有分配空间,空代表已分配空间,但是还未赋值
数组的长度:数组名.length
bool类型的数组,创建完以后,如果不赋值,默认值为false
练习一:从一个整数数组中取出最大的整数、最小的整数,总和,平均值
练习二:数组里面都是人的名字,分割成老杨|老马|老苏。。。
练习三:将一个整数数组的每一个元素进行如下处理:如果元素是正数则将这个元素的值加1;
如果元素是负数则将该元素减1;如果是0,不变
练习四:将一个字符串数组进行反序排列,例如 string strA={"wo","shi","好人"}转变成 strB={"好人","是","我"}
练习五:实现冒泡排序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Day6zy_machenxi
{
class Program
{
//用冒泡排序,对数组进行升序排列
static void Bubble(int[] a)
{
int z = 0;
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a.Length - i - 1; j++)
{
if (a[j] > a[j + 1])
{
z = a[j + 1];
a[j + 1] = a[j];
a[j] = z;
}
}
}
}
static void Main(string[] args)
{
#region 练习五:实现冒泡排序
int[] BubbleInts = { 1, 2, 3, 6, 5, 4 };
Bubble(BubbleInts);
Console.Write("\n5.冒泡排序后的结果为:");
for (int i = 0; i < BubbleInts.Length; i++)
{
Console.Write("{0} ", BubbleInts[i]);
}
Console.WriteLine();
#endregion
#region 练习四:将一个字符串数组进行反序排列,例如 string strA={"wo","shi","好人"}转变成 strB={"好人","是","我"}
string[] strA = { "我", "是", "好人" };
string temp;
for(int i = 0; i < strA.Length/2; i++)
{
temp = strA[i];
strA[i] = strA[strA.Length - 1-i];
strA[strA.Length - 1 - i] = temp;
}
Console.Write("\n\n4.反序排列后的字符串数组为:");
for (int i = 0; i < strA.Length; i++)
{
Console.Write(strA[i]);
}
Console.WriteLine();
#endregion
#region 练习三:将一个整数数组的每一个元素进行如下处理:如果元素是正数则将这个元素的值加1;
//如果元素是负数则将该元素减1;如果是0,不变
int[] ints = { 12, -2, 13, -41, 5, 0 };
Console.Write("\n\n3.处理前的数组为:");
for (int i = 0; i < ints.Length; i++)
{
Console.Write("{0} ", ints[i]);
}
Console.WriteLine();
for (int i = 0; i < ints.Length; i++)
{
if (ints[i] > 0)
{
ints[i] += 1;
}
else if (ints[i] < 0)
{
ints[i] -= 1;
}
}
Console.Write("处理后的数组为:");
for (int i = 0; i < ints.Length; i++)
{
Console.Write("{0} ",ints[i]);
}
Console.WriteLine();
#endregion
#region 练习二:数组里面都是人的名字,分割成老杨|老马|老苏。。。
string[] Names = { "老杨", "老马", "老子", "孔子", "孟子" };
string last = "";
int shuLiang = Names.Length;
for (int i = 0; i < Names.Length - 1; i++)
{
last += Names[i] + "|";
}
last += Names[shuLiang - 1];
Console.Write("\n\n2.分割后的人名为:");
Console.WriteLine(last);
#endregion
#region 练习一:从一个整数数组中取出最大的整数、最小的整数,总和,平均值
int[] salaryArr = new int[6]; //定义一个数组并分配空间
int[] salary = { 12, -2, 13, 41, 5, 6 }; //定义一个数组,并赋值
int[] sa = new int[] { 2, 3, 4, 5 }; //定义一个数组,并赋值
int max = salary[0]; //最大值
int min = salary[0]; //最小值
int sum = 0; //和
int avg = 0; //平均值
for (int i = 0; i < salary.Length; i++)
{
//怎样获取最大值 方式1
// max = salary[i] > max ? salary[i] : max;
if (salary[i] > max) //方式2
{
max = salary[i];
}
min = salary[i] < min ? salary[i] : min;
sum += salary[i];
}
avg = sum / salary.Length;
Console.WriteLine("\n\n1.当前数组的最大值为{0},最小值为{1},和为{2},平均值为{3}", max, min, sum, avg);
#endregion
Console.Read();
}
}
}