开发 md文件 笔记
创建时间:2018年7月18日17:29:17
笔记来源:慕课网(略过非重点)
关键字 class ,这个关键字的用途是声明类。
关键字 namespace ,这个关键字的用途是声明“命名空间”。
关键字 using ,这个关键字的用途是导入命名空间。
关键字 static (静态的)、 void (无返回值)、 string (字符串类型)。常常在Main()方法的声明中看到:static void Main(string[] args)
注意:所有关键字都是由小写字母组成的,C#语言中,大小写是严格区分的。
例子
C# 15行
C# 15行
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(String[]args)
{
Console.WriteLine("今日事,今日毕。");
}
}
}
注释,是代码中的一些“说明性文字”。注释本身不会参与程序的编译和运行,仅仅供程序员阅读。
注释分为:单行注释、多行注释、文档注释。
单行注释的符号是2条斜线(请注意斜线的方向),2条斜线右侧的内容就是注释,左侧的代码不会受影响。
多行注释以“/*”开始,以“*/”结束,之间的内容就是注释,可以包含多行。
文档注释写在类、方法或属性(以后会学到)的前面,它的符号是3条斜线“///”。
注意:代码中的Console.WriteLine()会换行,Console.Write()不会换行
例子
C# 24行
C# 24行
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
///定义Program类方法
class Program
{
///主方法
static void Main(string[] args)
{
/*
*说明:
* WriteLine和Write区别(多行注释)
*/
Console.WriteLine("积跬步,至千里");//打印并换行(单行注释)
Console.WriteLine("积跬步,至千里");//打印并换行(单行注释)
Console.Write("积跬步,至千里");//打印不换行(单行注释)
Console.Write("积跬步,至千里");//打印不换行(单行注释)
}
}
}
常量,顾名思义,就是“不会改变的量”。
语法: const+常量类型
注意:常量在声明时赋值,之后是不能修改的。
例子
C# 17行
C# 17行
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
const string CITY = "布宜诺斯艾利斯";//常量,城市
const string NAME = "列奥波尔多·福图纳托·加尔铁里·卡斯特利";//常量,姓名
Console.WriteLine(NAME+"出生在"+CITY+"的一个工人家庭");//使用常量
}
}
}
变量能够存储数据,并且与常量不同,变量存储的数据可以修改。
使用变量分为3步:声明、赋值、使用。
声明变量的语法:数据类型 变量名;
给变量赋值的语法:变量名=值;
例子
C# 19行
C# 19行
using System;
using System.Collections.Generic;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
string hobby;
hobby="剑道";
//声明变量保存爱好
//给爱好变量赋值
Console.WriteLine("我爱好"+hobby);//打印变量
}
}
}
交换也是算法一种
例子
C# 22行
C# 22行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
string boy = "秀丽";//男孩名字
string girl = "伟强";//女孩名字
string temp;//中间变量
//把男孩的名字赋值给temp
temp=boy;
//把女孩的名字赋值给男孩
boy=girl;
//把temp中的名字赋值给女孩
girl = temp;
Console.WriteLine("男孩叫"+boy+" 女孩叫"+girl);
}
}
}
char:存储用 '' (单引号)括起来的一个字符
string:存储用“”(双引号)括起来的一串字符
int:存储整数
double:存储小数
注意:类型相同才能赋值
bool是特殊的类型,只会输出false或true
例子
C# 17行
C# 17行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
string name = "曹少钦"; //姓名,string类型
char sex = '男'; //性别,char类型
int age = 19; //年龄,int类型
double height = 1.72; //身高,double类型
Console.WriteLine("我叫{0},是{1}生,今年{2}岁,身高{3}米。", name, sex, age, height);
}
}
}
自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型.
强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换
注意:double 型强制转换为int型将失去小数部分
例子
C# 15行
C# 15行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
double d = 2.5;
int x = (int)(d + 1);
Console.WriteLine(x);
}
}
}
标识符:程序中的变量名、常量名、类名、方法名等;
规则:
标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符。
变量名不能用数字开头。
不能用关键字当变量名。
例子
C# 16行
C# 16行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
int _num1 = 5;//第一个加数
int _num2 = 7;//第二个加数
int sum=_num1+_num2;//求和
Console.WriteLine("和是{0}",sum);//打印结果
}
}
}
括号
一元运算符:算术运算,逻辑运算,赋值运算等
注意:优先级相同的运算符从左向右计算(赋值运算符相反)。
例子
C# 16行
C# 16行
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int x=1;
bool a = (++x * x) > 3;
bool b =a;//赋值
Console.WriteLine(a==b);
}
}
}
加:[+] 加号有2个用途:当用加号连接两个数字时,会计算出这两个数字的和。
当加号两边包含字符串的时候,会把两边的表达式连接成新的字符串。减:[-] 减号的作用就是减法。
乘:[*] 乘号的作用是求2数的乘积。
除:[/] 除号的作用是求2数相除的商。
但是,2个整数相除,结果仅保留整数部分,小数部分会被舍去。取余:[%] 的作用是求两个数字相除的余数(求某数是否能被另外一个数整除)
自加运算符和自减运算符:[++,--] 变量的自加和自减
比较运算符:[>,>=,<,<=,==,!=] 比较数字大小,或者比较数字相等的运算符
C# 17行
C# 17行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
double salary = 6000.00;//基本工资
double prize = 3200.00;//奖金
double tax = 4500.00;//交税
Console.WriteLine("我的工资奖金总额是{0}元",salary+prize);
Console.WriteLine("我的税后收入是{0}元",salary+prize-tax);
}
}
}
C# 14行
C# 14行
using System;
namespace studyConsole
{
internal class Program
{
public static void Main(string[] args)
{
int year = 2015;//年份
Console.WriteLine(year%4);//求年份除以4的余数
}
}
}
C# 22行
C# 22行
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
int x = 5;
int y = 5;
int z = 5;
//x++;//如果消除此行注释,先赋值给变量x然后进行加1,即此步执行完毕后x就是6,否则x就是5
//Console.Write(x++);//如果消除此行注释,先赋值给变量x然后进行加1,即此步执行完毕后x就是6,否则x就是5,因此会在控制台打印出5而不是6,因为此段未执行完毕
//++x;//如果消除此行注释,先进行加1然后赋值给变量x,即此步不管是否执行完毕x都是6
//Console.Write(++x);//如果消除此行注释,先进行加1然后赋值给变量x,即此步不管是否执行完毕x都是6,因此会在控制台打印出是6
Console.Write(x);//上步已执行自加运算,因此此时输出应为6
Console.Write(++y);
Console.Write(++z);
}
}
}
C# 17行
C# 17行
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
double x = 3.5;
int y = 3;
//布尔运算符只会输出true或false
Console.WriteLine((int)x>y);//3>3,不满足条件就是false
Console.WriteLine((int)x<=y);//3<3或3=3,满足一个条件结就是rue
}
}
}
逻辑运算符:[逻辑非( ! )、逻辑与( && )、逻辑或( || )] 逻辑非用来对某一个 bool 类型表达式取反,逻辑运算符用来连接多个 bool 类型表达式,实现多个条件的复合判断。&& 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。
C# 15行
C# 15行
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(true||false);//输出True
Console.WriteLine(true&&false);//输出False
Console.WriteLine(!false);//输出True
}
}
}
"=":对不同的变量,数字,字符串或对象等进行赋值
"+=","-=","=","/","%=":加,减,乘,除,取余赋值
C# 17行
C# 17行
using System;
namespace Test
{
class Program
{
static void Main(string[] args)
{
double x, y;
x = y = 2;//从右向左赋值,x、y的值都是2,虽然C#支持,但不建议这样赋值
x /= 0.5;//除等于
y -=2;//减等于
Console.WriteLine(x-y);//输出4
}
}
}
条件表达式 ? 分支1 : 分支2
C# 15行
C# 15行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int year = 2015;//年份
//请填写代码
Console.WriteLine("今年是{0}",year%4==0?"闰年":"平年");
}
}
}
if,if...else
if括号内部条件结果为bool类型,只会存在true或者false;
如果为true时才会执行if括号后的花括号内部语句;
否则结束if语句;
C# 17行
C# 17行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int score = 96;//分数
//判断
if(score>95){//分支1
Console.WriteLine("奖励一辆自行车");
}
}
}
}
if括号内部条件结果为bool类型,只会存在true或者false;
如果为true时才会执行if括号后的花括号内部语句;
否则执行else后花括号内语句;
C# 23行
C# 23行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int age = 17; //年龄
if (age > 17) //条件,bool类型
{
//分支1
Console.WriteLine("你是成年人");
}
else
{
//分支2
Console.WriteLine("你是小盆友");
}
}
}
}
C# 23行
C# 23行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
double price = 4388; //手机的售价
double salary = 4978.67; //本月实发工资
//请在这里补充条件判断
if (salary >= price)
{
Console.WriteLine("这月工资够买手机!");
}
else
{
Console.WriteLine("这月工资不够买手机!");
}
}
}
}
if条件语句包含一个或多个if,if...else条件结构的语句
C# 36行
C# 36行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
char sex = '男'; //性别
int age = 21; //年龄
if (sex == '女') //请填写条件
{
if (age >= 20)
{
Console.WriteLine("达到法定婚龄啦");
}
else
{
Console.WriteLine("没有达到哟");
}
}
else
{
if (age >= 22)
{
Console.WriteLine("达到法定婚龄!");
}
else
{
Console.WriteLine("没有达到!");
}
}
}
}
}
C# 31行
C# 31行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
string job = "科员";
if (job == "局长")
{
Console.WriteLine("发双黄月饼");
}
else if (job == "处长")
{
Console.WriteLine("发蛋黄月饼");
}
//请输入
else if (job == "科长")
{
Console.WriteLine("发枣泥月饼");
}
//请输入
else
{
Console.WriteLine("发五仁月饼");
}
}
}
}
switch 中的(变量)只能是3种类型:
整型(如 int )、字符型( char )、字符串类型( string )。
C# 28行
C# 28行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
string job = "处长"; //职务
switch (job)
{
case "局长":
Console.Write("发双黄月饼");
break;
case "处长":
Console.Write("发蛋黄月饼");
break;
case "科长":
Console.Write("发枣泥月饼");
break;
default:
Console.Write("发五仁月饼");
break;
}
}
}
}
程序连续的重复一个步骤称为“循环”。循环可以简化我们的代码,减少冗余。
C# 21行
C# 21行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int y = 5;
while (y <= 5) //请输入
{
Console.Write(y + " ");
//请输入
--y;
if (y <= 0)
break;
}
}
}
}
- for 循环 ( ; ; ) 中的两个分号是不能缺少的。
- for循环运行时,首先进行变量声明和赋值;
- 接下来判断循环条件,若条件为 true ,则执行循环体一次,若条件为 false ,则结束循环;
- 执行循环体后,进行变量自加。然后会进入下一次循环。
C# 16行
C# 16行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
for (int i = 1; i <= 12; i++) //请填写代码
{
Console.WriteLine(i + " ");
}
}
}
}
C# 19行
C# 19行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int x =2;
do
{
x++;
Console.Write(x+" ");
}
while(x>2&&x<=4);
}
}
}
小结
当程序执行到到 continue; 的时候,会立即停止本次循环体,直接进入下一次循环
C# 19行
C# 19行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
for (int x = 1; x < 10; x++)
{
//请添加代码,过滤3和8
if (x == 3 || x == 8)
continue;
Console.Write(x);
}
}
}
}
break 关键字可以用在循环中,作用是“结束循环”。
C# 19行
C# 19行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
for (int x = 1; x < 10; x++)
{
//请添加代码,过滤3和8
if (x == 3 || x == 8)
break;
Console.Write(x);
}
}
}
}
在一个循环体中包含另一个循环,称为“嵌套循环”。
当2个循环嵌套的时候,外层循环体执行一次,内层循环体执行 n 次( n 是内层循环的次数)。
C# 21行
C# 21行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
for (int y = 1; y <= 7; y++)
{
for (int x = 1; x <= y; x++)
{
Console.Write(x);
}
Console.WriteLine();
}
}
}
}
数组的概念在![C#的数组]二级目录中
- for 循环使我们可以通过索引访问数组元素;而 foreach 循环则可以不依赖索引而读取每一个数组元素。
C# 18行
C# 18行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
string[] t = new string[] {"C", "Sh", "a", "rp"};
//遍历字符串数组t
foreach (string i in t)
{
Console.Write(i);
}
}
}
}
- 用于存储大量的变量值,例如成千上万个数值
索引:通过索引的不同区分内部变量值,按顺序命名- 数组的索引从 0 开始递增
- 数组经过初始化以后,数组元素有默认的初始值
double 类型为 0.0 , int 类型为 0 ,
char 类型为 'a' , bool 类型为 false ,
string 类型为 null- 数组对象.Length可以返回此对象的长度,也就是存储变量的个数(因此可以用此遍历一个数组)
C# 21行
C# 21行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
int[] age = new int[4]; //声明并初始化长度为4的整形数组
//为数组元素赋值
age[0] = 18;
age[1] = 20;
age[2] = 23;
age[3] = 17;
if (age.Length > 0)
Console.WriteLine("四名同学的年龄是::{0},{1},{2},{3}",
age[0], age[1], age[2], age[3]);
}
}
}
C# 22行
C# 22行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
//声明“职位”数组,初始化为:"经理","项目主管","技术总监","财务主管"
string[] job = new string[4];
job[0] = "经理";
job[1] = "项目主管";
job[2] = "技术总监";
job[3] = "财务主管";
for (int i = 0; i < job.Length; i++)
{
Console.WriteLine(job[i]); //打印职位
}
}
}
}
二维数组,就是以数组作为元素的数组。
C# 14行
C# 14行
using System;
namespace TEST
{
internal class Program
{
public static void Main(string[] args)
{
char[,] ch = {{'我', '是', '软'}, {'件', '工', '程'}, {'师', '啦', '!'}};
Console.WriteLine("{0}{1}{2}", ch[1, 1], ch[1, 2], ch[2, 0]);
}
}
}