网站首页 > 精选教程 正文
- 结构
语法:
访问修饰符 struct 结构名
{
定义结构成员;
}
定义的目的是解决下面问题:
①为了存储一个人的信息,要声明一组变量,当我们要存n个人的信息时,就要声明n组变量,太麻烦了。
②存储一个人信息的这几个变量间没有关系,容易记混。
注意:定义好一个结构体后,就可以直接声明相应的变量了。
声明好变量后,通过 变量名.成员名 来访问结构的成员。
重点:声明枚举是声明的是一组具体的值,声明结构体是声明的一组变量。
例:
namespace ConsoleApplication4
{
public struct Person //定义名字为Person的结构体 相当于类
{
public string name; //定义结构体变量,相当于类的属性name
public char sex; //定义结构体变量,相当于类的属性sex
public int age; //定义结构体变量,相当于类的属性age
}
class Program
{
static void Main(string[] args)
{
Person zhangSan; //声明结构体的对象zhangSan,相当于类的对象
zhangSan.name = "张三"; //给结构体的变量赋值,相当于给类的对象的属性赋值;
zhangSan.sex = '男';
zhangSan.age = 16;
Person liSi;
liSi.name = "李四";
liSi.sex = '女';
liSi.age = 15;
Console.WriteLine("{0}是{1}生,今年{2}岁了,{3}是{4}生,今年{5}岁了。",
zhangSan.name, zhangSan.sex, zhangSan.age, liSi.name, liSi.sex, liSi.age);
Console.ReadKey();
}
}
}
二、计算机单位:
位:计算机中最小单位bit ,比特, b,1位有两个具体的值0和1,这个“位”的位置上不是1,就是0。
字节:8个位代表一个字节,Byte即B,1B扥估8b,计算机能够处理的最小单位,就是把8个二进制位分成一组,这一组组成一个字节。一个字节的值最大是255,即FF(16进制),最小值是0,即00(16进制)。相当于4个2进制位表示1个16进制位。
1KB=1024B
1MB=1024KB
1GB=1024MB
1TB=1024GB
网络带宽的传输速度bps即bit per second,通常我们说10Mb,50Mb,100Mb的网速,实际上4Mb带宽最大速度为512KB。
三、数组:
语法:
数据类型[] 数组名 = new 数据类型[数组长度];
例: int[] score=new int[5];
声明一个长度为5的数组,数组名是score;通俗点数就是声明了一个数组,里面包含5个int类型的变量,数组名叫score,里面的5个类型的变量叫数组的元素。
作用:帮我们一次声明多个同类型的变量,这些变量在内存中是连续存储的。
访问数组:通过下标(索引)来访问数组的元素:数组名[编号]
例如我们要向第0个元素赋值一个3,可以这样写:score[0]=3;
Int类型数组一旦声明,里面的每一个元素被初始化成0;
生成数组的3种方式:
①int[] nums=new int[3]{5,38,9}; //元素个数和声明个数必须一致
②int[] nums=new int[]{5,38,9}; //声明个数可以省略
③int[] nums={5,38,9}; //声明数组时,直接对其进行赋初值
获取数组长度:数组名.Length
四、Console.Clear(); //清屏
- 把一个数组里面的元素倒过来排序。
例:1,9,7,8,3,6,2倒过来2,6,3,8,7,9,1
解析:n个元素进行交换。①交换n/2次②在一个循环中,第i个元素与第length-1-i个元素进行交换。
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int[] arry = new int[7] {1,9,7,8,3,6,2 }; //定义7个元素的数组
int temp=arry[0]; //定义交换数据时的中间变量
for (int i = 0; i < arry.Length/2; i++) //交换次数 交换方法
{
temp=arry[i];
arry[i]=arry[arry.Length-1-i];
arry[arry.Length - 1 - i] = temp;
}
for (int i = 0; i < arry.Length; i++) //循环遍历输出
{
Console.Write(arry[i]);
if (i==arry.Length-1)
{
break;
}
Console.Write(",");
}
Console.ReadKey();
}
}
}
结果:
猜你喜欢
- 2024-11-13 面试:聊一聊 Java 数组默认的排序算法,我懵了
- 2024-11-13 golang2021数据格式(6)数组逆置 golang数组转字符串
- 2024-11-13 使用DeepClone沿数组对角线翻转180度
- 2024-11-13 深入理解 JavaScript 数组方法:从零实现 reverse 方法
- 2024-11-13 程序员面试算法题之数组[3],反转整数
- 2024-11-13 Vue短文:如何使用v-for反转数组的顺序?
- 2024-11-13 Java重学—进阶知识 java重点知识回顾
- 2024-11-13 关于数组,你必须要知道的几大算法
- 2024-11-13 python经典案例:将一个数组逆序输出
- 2024-11-13 shell中如何逆序打印数组的内容,或者反转一个数组?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)