文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、注释符
1)、注销
2)、解释
二、C#的3种注释符
1)、单行注释 //
2)、多行注释 /要注释的内容/
3)、文档注释 /// 多用来解释类或者方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//将Hello World打印到控制台中
Console.WriteLine("Hello World");
//暂停当前的程序
Console.ReadKey();
/*多行注释
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
Console.WriteLine("Hello World");
* */
}
/// <summary>
/// 文本注释
/// </summary>
public class Person {
}
}
}
三、VS的常用快捷键
Ctrl+K+D:快速对齐代码
Ctrl+Z:撤销
Ctrl+S:保存(一定要经常保存!)
Ctrl+J:快速弹出智能提示
Ctrl+K+C:注释所选代码
Ctrl+K+U:取消对所选代码的注释
F1:转到帮助文档
折叠冗余代码:#Region 和#EndRegion
四、变量
用来在计算机当中存储数据。
举例说明:
存储整数100
数据类型:整数
在内存中开辟的空间应该是整数类型 int
存储变量的语法:
变量类型 变量名;
变量名=值;
"="号:在这并不表示等于的意思,而是赋值的意思,表示把等号右边的值赋值给等号左边的变量。
声明并且给变量赋值的简写形式:
变量类型 变量名=值;
五、数据类型
1)、整数类型:int 只能存储整数,不能存储小数。
2)、小数类型:double 既能存储整数,也能存储小数,小数点后面的位数 15~16位。
3)、金钱类型:decimal:用来存储金钱,值后面需要加上一个m.
4)、字符串类型:string,用来存储多个文本,也可以存储空,字符串类型的值需要被 双引号引来,
这个双引号必须是英文半角状态下的双引号
5)、字符类型:char,用来存储单个字符,最多、最少只能有一个字符,不能存储空。
字符类型的值需要用 单引号因起来。英文半角状态下的单引号。
//官方语言:声明或定义了一个int类型的变量
int number;//在内存中开辟了一块能够存储整数的空间
//官方语言:给这个变量进行赋值
number = 100;//把100存储到了这块空间内
//上述用一条语句表示
int number2 = 100;
//可以存放整数和小数
double d = 3.14;
//张三,李四,王五,赵六 abcdefg
string name = "张三";
string s = "";//字符串可以存储 空
//字符串 字符 羊肉串和羊肉
char gender='男';
decimal money = 5000m;
六、波浪线
1)、如果你的代码中出现了红色的波浪线,意味着你的代码中出现了
语法错误。
2)、如果你的代码中出现了绿色的波浪线,说明你的代码语法并没有错误,
只不过提示你有可能会出现错误,但是不一定会出现错误。警告线
六、变量的使用规则
如果你要是用变量的话,应该要先声明再赋值再使用。
七、变量命名规则:
首先要保证的就是这个变量的名字要有意义。
1 必须以“字母”或@符号开头,不要以数字开头。
2 后面可以跟任意“字母”、数字、下划线。
//有意义
int number1 = 10;
int number_2 = 10;
//无意义
int a = 10;
int b = 20;
注意:
1)你起的变量名不要与C#系统中的关键字重复.
2)在C#中,大小写是敏感的. HTML不区分大小写。
3) 同一个变量名不允许重复定义(先这么认为,不严谨)
给变量起名字的时候要满足两个命名规范:
1、Camel 骆驼命名规范。要求变量名首单词的首字母要小写,其余每个单词的首字母要大写。
highSchoolStudent
多用于给变量命名。
2、Pascal 命名规范:要求每个单词的首字母都要大写,其余字母小写。多用于给类或者方法命名。
HighSchoolStudent
/* 题目1. 定义一个变量存储一个人的年龄(18),然后发现这个人的年龄不是18岁,要把这个人的年龄修改成81岁(本题体会变量可以被重复多次赋值),最后把这个人的年龄输出到屏幕上?
*/
int age = 18;
age = 81;
Console.WriteLine("我的年龄是" + age+"岁。");
Console.ReadKey();
交换变量
/*
* 题目2:定义两个变量如:number1,number2分别赋值为10和5,写程序交换两个变量的值(两种方法都掌握)
*/
//不要使用此方法,这不属于交换
//int number1 = 10;
//int number2 = 5;
//Console.WriteLine("交换后,number1的值是{0},number2的值是{1}", number2, number1);
//Console.ReadKey();
//第一种方法
int number1 = 10;
int number2 = 5;
int temp = number1;
number1 = number2;
number2 = temp;
Console.WriteLine("交换后,number1的值是{0},number2的值是{1}", number1, number2);
Console.ReadKey();
//第二种方法,number2用6表示更加直观
int n1 = 10;
int n2 = 6;
n1 = n1 + n2;//n1=16,n2=6
n2 = n1 - n2;//n1=16,n2=10
n1 = n1 - n2;//n1=6,n2=10
Console.WriteLine("交换后,n1的值是{0},n2的值是{1}", n1, n2);
Console.ReadKey();
八、赋值运算符
=:表示赋值的意思,表示把等号右边的值,赋值给等号左边的变量。
由等号连接的表达式称之为赋值表达式。
注意:
每个表达式我们都可以求解除一个定值,对于赋值表达式而言,等号左边的变量的值,
就是整个赋值表达式的值。
int number=10;
int n = 10;
//重新赋值,原先的值会被取代
n = 50;
Console.WriteLine(n);
Console.ReadKey();
九、+号的作用
1)、连接:当+号两边有一边是字符串的时候,+号就起到连接的作用。
string name = "张三";
Console.WriteLine("你好,"+name);
Console.ReadKey();
2)、相加:两边是数字的时候
int n = 5;
Console.WriteLine(1+n);
Console.ReadKey();
//注意字符串与数字相加
Console.WriteLine(1+"5");
Console.ReadKey();
十、占位符
使用方法:先挖个坑,再填个坑。
使用占位符需要注意的地方:
1、你挖了几个坑,就应该填几个坑,如果你多填了,没效果。
如果你少填了,抛异常。
2、输出顺序:按照挖坑的顺序输出。
//不使用占位符
int n1 = 10;
int n2 = 20;
int n3 = 30;
Console.WriteLine("第一个数字是" + n1 + ",第二个数字是" + n2 + ",第三个数字是" + n3);
Console.ReadKey();
//使用占位符
int n1 = 10;
int n2 = 20;
int n3 = 30;
Console.WriteLine("第一个数字是{0},第二个数字是{1},第三个数字是{2}",n1,n2,n3);
//Console.WriteLine("第一个数字是" + n1 + ",第二个数字是" + n2 + ",第三个数字是" + n3);
Console.ReadKey();
/*题目3:
有个叫路飞的人在旅店登记的时候前台让他填一张表,这张表的里的内容要存到电脑上,有姓名、年龄、邮箱、家庭住址,悬赏金.之后把这些信息显示出来
我叫路飞,我住在海贼王岛,我今年19了,我的邮箱是lufei@qq.com,我的悬赏金30亿。
*/
string name = "路飞";
int age = 19;
string email = "lufei@qq.com";
string address = "海贼王岛";
string money = "30亿";
//Console.WriteLine("我叫" + name + ",我住在" + address + ",我今年" + age + "了,我的邮箱是" + email + ",我的悬赏金是" + money+"。");
Console.WriteLine("我叫{0},我住在{1},我今年{2}了,我的邮箱是{3},我的悬赏金是{4}。",name,address,age,email ,money );
Console.ReadKey();
十一、异常
指语法上并没有任何错误,只不过在程序运行的期间,由于某些原因出现了问题,使程序不能再正常的运行。可以理解为游戏bug。
十二、接受用户的输入
用Console.ReadLine()来接受用户的输入,下面用案例来表示。
Console.WriteLine("请输入你的姓名:");
//想要接受你输入的姓名
//接受用户在控制台的输入:例如:11,3.14,男,张三,所以用string
string name = Console.ReadLine();
Console.WriteLine("您的姓名是:{0}", name);
Console.ReadKey();
//题目4.问用户喜欢吃什么水果,例如用户输入“苹果”,你需要回复“这么巧啊,我也喜欢吃苹果”
Console.WriteLine("美女,你喜欢吃什么水果");
string fruit = Console.ReadLine();
Console.WriteLine("好巧啊,我也喜欢吃{0}", fruit);
Console.ReadKey();
//题目5:请用户输入姓名,性别和年龄,当用户输入结束后,显示“xx您好,您是xx生,您的年龄是xx”
Console.WriteLine("请输入您的姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入您的性别:");
string sex = Console.ReadLine();
Console.WriteLine("请输入您的年龄:");
string age = Console.ReadLine();
Console.WriteLine("{0}您好,您是{1}生,您的年龄是{2}岁", name, sex, age);
Console.ReadKey();
十三、转义符
转义符指的就是一个’'+一个特殊的字符,组成了一个具有特殊意义的字符。
\n:表示换行
":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键,放到字符串的两边没有效果。
\:表示一个\
//表示换行
Console.WriteLine("今天天气好晴朗,\n处处好风光。");
Console.WriteLine("\n");
//表示一个英文半角的双引号
Console.WriteLine("输入一\"\"个英文半角的双引号");
Console.WriteLine("\n");
//表示一个tab键的空格
Console.WriteLine("今天天气好晴朗,\t处处好风光。");
Console.WriteLine("\n");
//表示一个退格键,放到字符串的两边没有效果。
Console.WriteLine("\b梅西作为世界公认的第三任球王、历史第一人兼现役独一档时代超巨,也是历史上最全能的足球运动员,他年纪上来同样没有改变全能打法,所以整体表现非常出色。\b");
Console.WriteLine("\n");
//表示一个\
Console.WriteLine("经过了9个比赛日的争夺之后,\\本届世界杯小组赛前2轮比赛已经全部结束。在2轮小组赛过后,著名大数据分析网站FIveThirtyEight更新了本届世界杯的夺冠概率。\\巴西队仍旧处于领先位置,已经确定小组出线的3支球队均排在了前4位,梅西率领的阿根廷排名第5。");
注意:
\r\n:windows操作系统不认识\n,只认识\r\n
//windows操作系统不认识\n,只认识\r\n
string str = "今天天气好晴朗,\r\n处处好风光。";
System.IO.File.WriteAllText(@"G:\Demo\C#.txt", str);
Console.WriteLine("写入成功!");
Console.ReadKey();
运行截图:
@符号
1、取消\在字符串中的转义作用,使其单纯的表示为一个’’
2、将字符串按照编辑的原格式输出
//@取消\在字符串中的转义作用,使其单纯的表示为一个'\'
string path = @"C:\系统";
Console.WriteLine(path);
Console.WriteLine("\n");
//@将字符串按照编辑的原格式输出
Console.WriteLine(@"今天天气好晴朗,
处处好风光。");
Console.ReadKey();
十四、算数运算符
加 | 减 | 乘 | 除 | 模 |
---|---|---|---|---|
+ | - | * | / | % |
优先级:
先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算 int a=((1+5)+3)*2
注意:
小括号可以无限制的套用,但一定要成对出现.
/*题目6:计算半径为5的圆的面积和周长并打印出来.(pi为3.14)面积:pi*r*r; Perimeter(周长)*/
//等号两边的类型要保持一致
double r = 5;
double area = 3.14 * r * r;//面积有小数,用double类型
double perimeter = 2 * 3.14 * r;
Console.WriteLine("半径为5的圆的面积是{0},周长是{1}",area ,perimeter);
Console.ReadKey();
/*题目7:某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?*/
double T_shirt = 35;
double trousers = 120;
double totalMoney = 3 * T_shirt + 2 * trousers;
Console.WriteLine("小明应该付{0}元", totalMoney);
/*打8.8折后呢?*/
double realMoney = 0.88 * totalMoney;
Console.WriteLine("打8.8折后小明应该付{0}元", realMoney);
Console.ReadKey();
十五、类型转换
隐式类型转换:
我们要求等号两遍参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生
自动类型转换,或者称之为隐式类型转换。
两种类型兼容
例如:int 和 double 兼容(都是数字类型)
目标类型大于源类型
例如:double > int 小的转大的
int number = 10;
double d = number;//自动类型转换 隐式类型转换
Console.WriteLine(d);
Console.ReadKey();
显示类型转换:
1、两种类型相兼容 int–double
2、大的转成小的 double----int
语法:
(待转换的类型)要转换的值;
double d = 303.6;
//double-int 强制类型转换/显示类型转换
int n = (int)d;
Console.WriteLine(n);
Console.ReadKey();
总结:
自动类型转换:int---->double
显示类型转换:double—>int
int n1 = 10;
int n2 = 3;
double a = n1/n2;//结果为3
double b = n1*1.0 / n2;//结果为3.33333333333
Console.WriteLine("a为{0},b为{1}",a,b);
Console.WriteLine("{0:0.00}",b);//保留两位小数
Console.ReadKey();
总结
提示:这里对文章进行总结:用两道题目和一个思维导图展示。
/*题目8:编程实现计算几天(如46天)是几周零几天*/
int week = 46 / 7;
int day = 46 % 7;
Console.WriteLine("46天是{0}周零{1}天",week,day);
Console.ReadKey();
/*题目9:编程实现107653秒是几天几小时几分钟几秒?*/
int num = 107653;
//求出天数,一天是86400秒
int day = num / 86400;
//求完天数剩余秒数
int secs=num % 86400;
//求小时数
int hours = secs / 3600;
//求小时数剩余的秒数
secs = secs % 3600;
//求分钟数
int min = secs / 60;
//求分钟数剩余的秒数
secs = secs % 60;
Console.WriteLine("{0}秒是{1}天{2}小时{3}分钟{4}秒",num,day,hours,min,secs);
Console.ReadKey();