C# 基础

作者: icessun | 来源:发表于2018-07-24 22:06 被阅读17次

C# 的源代码都是以 . cs 结尾的。

namespace 命名空间

C# 是由一个个类组成,类是最小的单元,命名空间来管理类。

严格区分大小写。


程序的基本样式:

namespace Test // 命名空间

{

class Program // 类  最小单元

{

    static void Main(String[]args)   // 程序入口

    {

        Console.WriteLine("今日事,今日毕。");

    }

}

}


文档注释: ///; 只能写在类、方法、属性的前面。不能用来注释单个变量

代码中的Console.WriteLine()与之前的Console.Write()不同,后者不换行,而前者会在打印之后换行。

常量在声明时赋值,之后是不能修改的。const: const double PI = 3.14

声明变量的语法:数据类型 变量名; double:双精度 999.99

Console.WriteLine("我今天吃{0},明天吃{1}。",today,tomorrow); // 格式化输出

字符类型:char (单引号) 字符串:string (双引号)

自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型。

以3.5+8为例,显然数字8的精度较低(int),而3.5的精度较高(double),所以,8会自动转换为double型,即转换为3.5+8.0进行运算,结果为11.5。

强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换; double 型强制转换为int型将失去小数部分

int i=(int)3.0;

2个整数相除,结果仅保留整数部分,小数部分会被舍去。 /: 除法

取余运算符%的作用是求两个数字相除的余数。 %常常用来检查一个数字是否能被另一个数字整除。 如果输出0,表示没有余数,即number能够被2整除(是偶数);如果输出1,表示有余数,即number不能被2整除(是奇数)。


如果与其他运算在同一语句中,++写在变量前面或后面,算法不一样,请看下例:

Console.WriteLine(age++);作用等同于下面两句:

Console.WriteLine(age);//先打印

age=age+1;//后自加

Console.WriteLine(++age);作用等同于下面两句:

age=age+1;//先自加

Console.WriteLine(age);//后打印


比较运算的结果,都是布尔类型( bool )

逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。C#中的逻辑运算符包括:逻辑非( ! )、逻辑与( && )、逻辑或( || )。


优先级相同的运算符从左向右计算(赋值运算符相反)。

C#运算符的优先级请参考下面的顺序:

①括号。括号优先级最高。

②一元运算符。有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。

③*(乘)、/(除)、%(取余)。

④+(加)、-(减)。

⑤>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。

⑥==(等于)、!=(不等于)。

⑦&&(逻辑与)。

⑧||(逻辑或)。

⑨赋值运算符。包括:=、+=、-=、*=、/=、%=。


[图片上传失败...(image-271c6f-1532441123921)]

流程图是程序步骤的图形化表示方法。

条件表达式 ? 分支1 : 分支2

for 循环 ( ; ; ) 中的两个分号是不能缺少的。 特别适合于“已知循环次数”的循环。

[图片上传失败...(image-722c00-1532441123922)]

[图片上传失败...(image-40b083-1532441123922)]

do...while 循环第一次执行循环体是没有经过条件判断的,也就是说会无条件的执行一次循环体

[图片上传失败...(image-41277-1532441123922)]

当程序执行到到 continue; 的时候,会立即停止本次循环体,直接进入下一次循环。 可以使用 continue 关键字,在循环中剔除一些特殊的数据。

break 关键字还可以用在循环中,作用是“结束循环”。

嵌套循环

2个循环嵌套的时候,外层循环体执行一次,内层循环体执行 n 次( n 是内层循环的次数); 内层体被执行的总次数 = 内层循环次数 * 外层循环次数。


数组:

专门存储一组相同数据类型的数据。

数据类型[ ] 数组名 = new 数据类型[长度];

数组经过初始化以后,数组元素有默认的初始值, double 类型为 0.0 , int 类型为 0 , char 类型为 'a' , bool 类型为 false , string 类型为 null 。

多种声明的方式:

[图片上传失败...(image-10bd9c-1532441123922)]

循环条件必须能够遍历每一个数据

开关变量的使用:

[图片上传失败...(image-5b53ed-1532441123922)]

for 循环使我们可以通过索引访问数组元素;而 foreach 循环则可以不依赖索引而读取每一个数组元素。

[图片上传失败...(image-875c50-1532441123922)]

[图片上传失败...(image-b587eb-1532441123922)]

迭代变量 x 只能用于读取数组 num 中的值,但是不能给数组元素赋值

对于一些类似于数组的数据组织方式,它们中有一些是没有元素索引的,对于这些元素,只能通过 foreach 遍历。

二维数组,就是以数组作为元素的数组。

[图片上传失败...(image-39f860-1532441123921)]

int[,] arr = new int[2,3]; //包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素

我们可以用二维数组管理相关的数据,比如有 4 名同学参加语文和数学两门考试,我们用二维数组存储他们的成绩,每位同学的 2 门课分数,存储在一个一维数组中:

[图片上传失败...(image-6f6970-1532441123921)]

[图片上传失败...(image-1c5e83-1532441123921)]

string[,] info = new string[8, 2] { { "吴松", "89" }, { "钱东宇", "90" }, { "伏晨", "98" }, { "陈陆", "56" }, { "周蕊", "60" }, { "林日鹏", "91" }, { "何昆", "93" }, { "关欣", "85" } };

[图片上传失败...(image-274d90-1532441123921)]

相关文章

  • c#集合

    C#基础知识简单梳理

  • 黑马训练营Asp.Net第2期完整版

    初级 .Net入门教程_.Net入门视频教程|黑马程序员 C#基础教程_C#基础视频教程_黑马程序员 .Net基础...

  • Winform

    C# WinForm实践开发教程 C# WinForm实践开发教程——第一章 Windows编程基础C# WinF...

  • C#/.Net学习资料

    C#开发轻松入门——基础入门(慕课网) 零基础学C#(一)——基础入门(网易云课堂明日科技) 45分钟C#快速入门...

  • C#/.net学习资料

    C#开发轻松入门——新手基础入门(慕课网) 零基础学C#(一)——新手基础入门(网易云课堂明日科技) 45分钟C#...

  • 链接合集

    微软framework开源c#基础+设计模式

  • .NET Core C# 初级篇 1-1 基础类型介绍

    .NET Core CSharp初级篇 1-1 本节内容是对于C#基础类型的存储方式以及C#基础类型的理论介绍 基...

  • C#学习笔记

    C#中的线程(一)入门 C#中的线程(二) 线程同步基础 C#中的线程(三) 使用多线程 20190130补充: ...

  • Unity 之如何写出强壮的代码

    【反射】 Unity C#基础之 反射反射,程序员的快乐 Unity C#基础之 特性,一个灵活的小工具 【多线程...

  • Unity C#基础之 多线程的前世今生(下) 扩展篇

    在前面两篇Unity C#基础之 多线程的前世今生(上) 科普篇和Unity C#基础之 多线程的前世今生(中) ...

网友评论

      本文标题:C# 基础

      本文链接:https://www.haomeiwen.com/subject/ltfumftx.html