初学C#


初见Hello,World

第一句源代码:Console.WriteLine("Hello,World");;

认识.Net;

编译工具:Visual Studio;

主函数:Public static void main(string[] args);

输出语句:Console.WriteLine("Hello,world");


变量和数据类型

数据类型:常见的C#数据类型:char.string.int.double

变量:变量的语法:数据类型+空格+变量名+“;”;变量的赋值:变量名+“=”+数据+“;”

变量的命名:语法:数据类型+空格+名称

变量的使用技巧:变量的三要素:数据类型、变量名、变量值

数据的运算:double类型和int类型运算,返回类型为double

字符串运算:字符串运算的方式是拼接;拼接符号:“+”

输入语句:内容:Console.ReadLine();

类型转换:任何类型转换到string: 待转换的数据.ToString();

数字类型:整数用int,实数用double

11转义符“\”:··以反斜线"\"开头,后跟一个或几个字符

代码注释:单行注释,多行注释和文档注释

软件中的错误及调试:编译错误,运行错误和逻辑错误


运算符和表达式

认识运算符:一目运算符、二目运算符、三目运算符

小括号:类型转换、改变运算顺序、函数调用

算术运算符:

变量名++(--):1.计算返回结果,与变量相同;2.将变量的值增加1

++(--)变量名:1.计算返回结果,变量值加1;2.将变量的值增加1

赋值运算符: =;+=;-=;/=;%=

逻辑运算符:true和false

三目运算符:判断条件?操作数1:操作数2

表达式:int a=1+2

运算符优先级:优先级越高的运算符,会优先得到执行

健康计算器:

while(true)
{
//完成所有的提示工作并存入输入的变量;
Console.WriteLine("请输入你的性别(男或女):");
string input = Console.ReadLine();
if (input == "男" || input == "女")
{
Console.WriteLine("请输入你的身高(厘米):");
double height = double.Parse(Console.ReadLine());
Console.WriteLine("请输入你的体重(千克):");
double weight = double.Parse(Console.ReadLine());
//计算标准体重
double standarWeigtht = input == "男" ? (height - ) * 0.7 : (height - ) * 0.6;
if (weight < standarWeigtht * 0.9)
{
Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
Console.WriteLine("很遗憾!您的体重偏瘦,请注意补充营养!");
}
else if (weight > 1.1 * standarWeigtht)
{
Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
Console.WriteLine("很遗憾!您的体重偏胖,请注意多多锻炼!");
}
else
{
Console.WriteLine("标准体重的范围是:" + 0.9 * standarWeigtht + "-----" + 1.1 * standarWeigtht + "之间~");
Console.WriteLine("恭喜您!您的身材很健康,请继续保持~");
}
Console.ReadLine();
break;
}
else
{
Console.WriteLine("别开玩笑好嘛!请重新输入“男”或者“女”t");
}
}
}

健康计算器


流程控制

流程图:功能分析和代码书写分离;更加专注,便与解决复杂问题

if判断:代码格式:if(条件1){代码1}   else if  (条件2)  {代码2}   else  {代码N}

变量作用域:在大括号内,该变量有效,大括号外无效

收益计算器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/*
int sum = 0;
for (int i = 1; i <= 100;i++ )
{
sum += i;
}
Console.WriteLine(sum);
*/ /*
Console.WriteLine("请输入一个数:");
int input = int.Parse(Console.ReadLine());
switch(input)
{
case 1: Console.WriteLine("星期一");
break;
case 2: Console.WriteLine("星期二");
break;
case 3: Console.WriteLine("星期三");
break;
case 4: Console.WriteLine("星期四");
break;
case 5: Console.WriteLine("星期五");
break;
case 6: Console.WriteLine("星期六");
break;
case 7: Console.WriteLine("星期日");
break;
default:
Console.WriteLine("错误显示");
break; }
*/ Console.WriteLine("请输入您的存款金额(万):");
double input = double.Parse(Console.ReadLine());
Console.WriteLine("请输入您要存款的时间(年):");
int input2 = int.Parse(Console.ReadLine());
if (input2 <= )
{
Console.WriteLine("请重新输入时间:");
}
if (input2 == )
{ if (input <= )
{
Console.WriteLine("请重新输入金额!");
}
else if (input > && input < )
{
double money1 = input * 0.04 * ;
Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息为:" + money1 + "(万元)");
}
else
{
double money2 = 1.1 * input * 0.04 * ;
Console.WriteLine("恭喜你,存款成功,1年后到期," + "您的利息为:" + money2 + "(万元)");
} } if (input2 >= && input2 <= )
{
int time = (int)input2; if (input <= )
{
Console.WriteLine("请重新输入金额!");
}
else if (input > && input < )
{
double money1 = input * 0.048 * time;
Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money1 + "(万元)");
}
else
{
double money2 = 1.1 * input * 0.048 * time;
Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money2 + "(万元)");
} } if (input2 > )
{
int time = (int)input2; if (input <= )
{
Console.WriteLine("请重新输入金额!");
}
else if (input > && input < )
{
double money1 = input * 0.052 * time;
Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money1 + "(万元)");
}
else
{
double money2 = 1.1 * input * 0.052 * time;
Console.WriteLine("恭喜你,存款成功," + input + "年后到期," + "您的利息为:" + money2 + "(万元)");
} }
Console.ReadLine();
}
}
}

收益计算器

Switch选择:代码格式:switch()  {case 1:break;  case 2:break;}

While循环:代码格式:while(循环条件){循环体}  //循环体可以是任意功能,任意数量的代码

do While循环:先执行一次循环体

for循环:代码格式:for(表达1;表达式2;表达式3)  { 循环体}

查找问题:简单查找:在样本中,依次寻找目标数据


数组与集合

数组:数据类型 【】 变量名 =new 数据类型【长度】

数组的定长性:长度固定不变

数组的遍历:从数组的第一项开始,依次取完数组的所有项

交换排序:

 for (int i = ; i < arr.Length; i++)
{
for (int j = i + ; j < arr.Length; j++)
{
if (arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
} for (int i = ; i < arr.Length; i++)
{
Console.Write(arr[i]);
if (i < arr.Length) { Console.Write(","); }
}

交换排序

数组分析器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入数组的长度:");
int len = int.Parse(Console.ReadLine());
int[] arr = new int[len];
for (int i = ; i < arr.Length; i++)
{
Console.WriteLine("请输入第" + (i + ) + "项的值");
arr[i] = int.Parse(Console.ReadLine()); }
Console.WriteLine("数组所有项的值为:");
for (int i = ; i < arr.Length; i++)
{
Console.Write(arr[i]);
if (i < arr.Length) { Console.Write(","); }
}
Console.WriteLine("\n");
Console.WriteLine("数组从小到大排序后是:");
for (int i = ; i < arr.Length; i++)
{
for (int j = i + ; j < arr.Length; j++)
{
if (arr[i] > arr[j])
{
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
} for (int i = ; i < arr.Length; i++)
{
Console.Write(arr[i]);
if (i < arr.Length) { Console.Write(","); }
} //求是否为奇数
Console.WriteLine("\n");
Console.WriteLine("数组里的奇数有:");
for (int i = ; i < arr.Length; i++)
{
if (arr[i] % != )
{
Console.Write(arr[i]);
if (i < arr.Length) { Console.Write(","); }
}
} Console.WriteLine("\n");
Console.WriteLine("数组里的质数有");
for (int i = ; i < arr.Length; i++)
{
int n = arr[i];
bool isFind = false; for (int j = ; j < n; j++)
{ if (n % j == )
{
isFind = true;
break; } }
if (isFind == true)
{
//bushizhishu
}
else
{
Console.Write(n);
if (i < arr.Length) { Console.Write(","); }
}
} Console.ReadLine(); }
}
}

数组分析器

集合:不定长,占用内存多,遍历速度慢

数组能实现的所有功能,集合都能实现

foreach循环:只能用于遍历数组或集合

集合管理器:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 集合管理器
{
class Program
{
static void Main(string[] args)
{
List<int> numbers = new List<int>();
while (true)
{ Console.WriteLine("集合中现有内容如下:");
Console.WriteLine("=============================================="); //显示集合
if (numbers.Count == )
{
Console.WriteLine("集合中没有元素");
}
else //集合的遍历
{
foreach (int item in numbers)
{
Console.Write(item+"\t");
}
Console.WriteLine();//循环结束后让光标换行
}
Console.WriteLine("=============================================="); Console.WriteLine("1.添加数据");
Console.WriteLine("2.删除数据");
Console.WriteLine("3.修改数据");
Console.WriteLine("4.升序排序");
Console.WriteLine("0.退出程序");
Console.WriteLine("请选择(0-4):");
int num = int.Parse(Console.ReadLine());
if(num==)
{
break;
}
else if(num==)
{
Console.WriteLine("请输入要添加的数字:"); //添加数据
int input=int.Parse(Console.ReadLine());
numbers.Add(input);
}
else if(num==)
{
//删除数据
Console.WriteLine("请输入要删除的元素(相同元素只会删除第一个):");
int input=int.Parse(Console.ReadLine());
numbers.Remove(input); }
else if(num==)
{
//修改数据
if(numbers.Count==)
{
Console.Write("集合中没有任何数据可以修,按回车键继续。。。");
Console.ReadLine();
}
else{
int maxIndex=numbers.Count-;
Console.WriteLine("请输入你要修改的元素下标(0-"+maxIndex+"):");
int input1=int.Parse(Console.ReadLine());
if(input1<||input1>maxIndex)
{
Console.WriteLine("输入错误,下标超出范围,按回车键继续...");
Console.ReadLine();
}
else
{
Console.WriteLine("请输入新的数据:");
int input2=int.Parse(Console.ReadLine());
numbers[input1]=input2;
} }
}
else if(num==)
{
//升序排序
for (int i = ; i<numbers.Count-; i++)
{
for (int j = i+; j < numbers.Count;j++ )
{
if(numbers[i]>numbers[j])
{
int temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
} } }
}
else
{
Console.WriteLine("请重新选择!");
} Console.Clear();//清屏
} }
}
}

集合管理器


函数

认识函数:具有独立功能,并能通过名称重复使用的代码

作用域:一个变量,仅在他所定义的大括号中有效

标识符:变量名,函数名,类名,接口名,委托名,其他

声明带参数的函数:声明带参数的函数:static void 函数名(参数列表){//注释内容}

调用带参数的函数:函数编写时,参数为形参;函数调用 时,

参数为实参;实参的数量和类型必须和形参完全对应

声明带返回值的函数:static 返回类型 函数名(形参列表){//函数体}

如果一个函数不需要返回,那么它的返回类型就会void

当代码运行到return语句时,立即结束函数

返回return关键字后面的值,变量或表达式的结果

调用带返回值的函数:函数名(实参列表)

返回类型与函数声明的返回类型一致

函数签名:是一个函数的函数名、参数列表、返回类型的统称

根据它实现函数调用;根据它实现函数体

文档注释:符号:///;通常写到函数体外,用于描述函数体外的代码

函数重载(overload):是指多个函数可以使用同一个函数名,只要他们的参数列表不同

函数的相互调用:在任意一个函数中,都可以调用其他的函数

只要代码运行到调用函数的语句,就回去执行调用的函数体

递归函数:是指一个函数,直接或者间接的调用自身

递归必须有终止条件,否则,将会出现无限递归


C#的初学知识点的更多相关文章

  1. java初学知识点

    public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARG ...

  2. 初学Java 精简知识点总结

    面对Java丰富的知识资料,很多初学者难免觉得迷惘,该学什么,怎么去学?下面给大家讲Java基础知识做了精简总结,来帮助你梳理学习思路,赶快看看吧! 方法/步骤1 对象的初始化(1) 非静态对象的初始 ...

  3. JS初学的一些易错的知识点

    1.  false ,0 , "" ,undefined , null  在Boolean 环境下当成 false: null  在数值环境下当成 0: undefined 在数值 ...

  4. 初学ASP.NET 知识点

    1.C# 中的虚方法 和 C++中的作用一致,能让指向子类的父类指针优先到子类中寻找方法,而不是直接调用父类中的方法. 看一段例子回忆下: namespace ConsoleApplication1 ...

  5. 初学python - 零碎的知识点

    * 标识符命名规则 数字,字母,下划线组成,数字不能开头区分大小写 * 注释 单行:#:多行:‘ ‘ ‘ ,“”“: * 进制标识 b:二进制 o:八进制 d:十进制x:十六进制 转换:format( ...

  6. 初学JQuery相关知识点

    [简单的JQuery]注册事件的函数. $(document).ready(function(){}) [JQuery提供的函数]$.map(array,fn) 对数组array中每个元素调用fn函数 ...

  7. 初学HTML5做的小知识点

    新增的HTML5标签 语义化标签 :<header> 头标签      <nav> 导航标签      <section> 表示文档的结构.栏目      < ...

  8. javascript中的一些核心知识点以及需要注意的地方

    前言 近期杂事甚多,这些事情的积累对知识体系的提升有好处,但是却不能整理出来,也整理不出来 比如说我最近研究的Hybrid在线联调方案便过于依赖于业务,就算分享也不会有人读懂,若是抽一点来分享又意义不 ...

  9. 初学HTML5、初入前端

    学习HTML5是一个漫长的过程,当中会遇到很多技术与心态上的变化.刚开始学习,我们不能发力过猛,需要一个相对稳定的状态去面对.多关注一些自己感兴趣的网站和技术知识,建立自己的信心与好奇心,为以后的学习 ...

随机推荐

  1. 使用阿里百川HotFix

    前言:首先要弄懂HotFix是干嘛的,不然就别向下看了.这里仅仅根据官方文档的代码书写,亲测可用,不做理论指导. Android Studio集成: 添加maven仓库地址: repositories ...

  2. DOCKER 从入门到放弃(三)

    使用docker create [image-name] 创建一个容器 创建一个nginx镜像的容器,由于没有指定各项参数,容器实用默认参数,创建后并不会启动,并将容器的ID输出到终端,如果本地没有镜 ...

  3. css自定义动画在微信中无法执行的原因

    这是我去年年底遇到的一个问题, 在这个过程中我发现了一个比较有趣的问题. 我们在做抽奖的时候,微信分享到朋友圈的页面里,安卓机器无法执行页面中的自定义动画(元宝的位移,进入按钮的放大缩小等等).这让我 ...

  4. pandas教程1:pandas数据结构入门

    pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...

  5. 如何删除 SQL Server 表中的重复行

    第一种:有主键的重复行,就是说主键不重复,但是记录的内容重复比如人员表tab ,主键列id,身份证编号idcard当身份证重复的时候,保留最小id值的记录,其他删除delete a from tab ...

  6. 关于delete使用limit的一些注意事项

    在使用delete删除记录时,如果表里面存在多条相同的记录,但是此刻你只想删除一条记录,那么limit就派上了用场.但是使用limit的时候得注意: 如图,您如果想着删除第一个名字叫做张三的,如果你这 ...

  7. spark-2.2.0安装和部署——Spark集群学习日记

    前言 在安装后hadoop之后,接下来需要安装的就是Spark. scala-2.11.7下载与安装 具体步骤参见上一篇博文 Spark下载 为了方便,我直接是进入到了/usr/local文件夹下面进 ...

  8. Git:常用功能 - 命令行

    1. 正在某个分支进行开发,突然有个紧急BUG需要切换到其他分支进行修复? git add README.md # 将文件添加到暂存区 git stash save "v1.0.0 in d ...

  9. 【jquery】ajax请求

    1. defferred对象 实现链式回调函数编程. http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_d ...

  10. maven快速上手

    1.maven安装 首先下载apache-maven-3.3.3-bin.zip(版本可以自己根据自己想要的下载). 解压后如下:   接下来配置系统环境变量: 到此,maven安装好了,接下来输入 ...