命名规范和命名规则
Camel命名法
首个单词的首字母小写,其余单词的首字母大写,如enemyHp;
pascal命名法
每个单词的首字母都大写,如EnemyHp
遇到单词的缩写则全部大写,如HP
一般变量使用camel命名法,方法和类用pascal命名法
字符串格式化输出
Console.WriteLine(格式字符串(含替代标记),替换值0,替换值1,替换值2,,,,,)
using System;
using System.Collections.Generic;
using System.Text;
namespace 命名规范和命名规则
{
class Program
{
static void Main(string[] args)
{
int a = 23, b = 45;
//23+45=68,以下式子用来表示本算数过程,但是贼鸡巴麻烦
Console.WriteLine(a + "+" + b + "=" + (a + b));
Console.WriteLine("{0}+{1}={2}",a,b,a+b);//0,1,2,用大括号和默认的数值能直接取得对应编号的值,这样的写法方便阅读
//括号的内容称之为替代标记,后面的称之为替代值
Console.WriteLine("两个值相加{0}+{0}+{2}",12,22,555); //一个值可以重复取用,也可以有用不到的值
}
}
}
数学运算符
using System;
using System.Collections.Generic;
using System.Text;
namespace 数学运算符
{
class Program
{
static void Main(string[] args)
{
/*数学运算符
* 加法 +
* 减法 —
* 乘法 *
* 除法 /
* 取模(求余) %
*/
int a = 23 + 54;
int b = 56 - 88;
int c = 4 * 55;
int d = 88 / 4;
int e = 89 % 4;
double f = 45 / 10.0;//当右边计算的数含有小数时结果也会含有小数,否则会不显示小数位的数字
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
}
}
}
练习题和赋值运算符
一个解决问题的程序又叫算法
如何通过一个算法取得一个两位数的十位数和个位数数字?
利用除法默认不显示小数点后数字的性质实现,个位数则通过求余实现
using System;
using System.Collections.Generic;
using System.Text;
namespace 练习题和赋值运算符
{
class Program
{
static void Main(string[] args)
{
int num = 47;
int geweishu = num % 10;
int shiweishu = num / 10;//利用除法会自动消除掉小数点后面的数
Console.WriteLine(geweishu);
Console.WriteLine(shiweishu);
Console.WriteLine("个位是{0},十位是{1}",geweishu,shiweishu);//多利用格式化输出吧v
}
}
}
常用的赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符,把右边操作数的值赋给左边操作数 | C = A + B 将把 A + B 的值赋给 C |
+= | 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 | C += A 相当于 C = C + A |
-= | 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 | C -= A 相当于 C = C - A |
*= | 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 | C *= A 相当于 C = C * A |
/= | 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 | C /= A 相当于 C = C / A |
%= | 求模且赋值运算符,求两个操作数的模赋值给左边操作数 | C %= A 相当于 C = C % A |
int a = 0;
a += 10;//+=表示a=a+10
Console.WriteLine(a);
a -= 5;//5
a *= 5;//25
a /= 5;//5
a %= 3;//2
Console.WriteLine(a);
自增和自减运算符
++ | 自增运算符,整数值增加 1 | A++ 将得到 11 |
---|---|---|
-- | 自减运算符,整数值减少 1 | A-- 将得到 9 |
前后顺序会影响++a代表先自增再赋值,a++代表先赋值再自增
using System;
using System.Collections.Generic;
using System.Text;
namespace 自增和自减运算符
{
class Program
{
static void Main(string[] args)
{
int a = 5;
//a++;
//a++;//自增运算符代表增加了一次,调用几次就增加几次,此处应为5+1+1=7
//Console.WriteLine(a);
//a--;//自减运算符,此处应该为7-1=6
//Console.WriteLine(a);
自增自减运算符可以放在变量前面也可以放在变量后面
//++a;
//--a;//单独使用没有区别但是用在长句里会有区别
//int b = a++;//此为先赋值再自增的情况
int c = ++a;//此为先自增再赋值的情况
//Console.WriteLine(a+":"+b);
Console.WriteLine(a++);//此时因为是先输出再赋值,所以会直接输出a=5但是输出结束后a已经变成6
Console.WriteLine(a);//因为上边的运算a已经变成6所以会输出两个a的值
}
}
}
关系运算符和布尔类型
using System;
using System.Collections.Generic;
using System.Text;
namespace 关系运算符和布尔类型
{
class Program
{
static void Main(string[] args)
{
//part1 布尔类型
bool a = true; //是的 真的 满足条件 1
bool b = false;//不是 假的 不满足条件 0
Console.WriteLine(a);
Console.WriteLine(b);//直接用ctrl+d就可以复制代码
}
}
}
关系运算符
常用的关系运算符
用于判断两个数字的大小
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 不为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (A > B) 不为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (A < B) 为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (A >= B) 不为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 | (A <= B) 为真。 |
//part2 关系运算符
bool a = 44 == 66;//用于判断左边是否等于右边
bool b = 44 < 66;
bool c = 44 > 66;
bool d = 44 >= 66;
bool e = 44 <= 66;
bool f = 44 != 66;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
逻辑运算符
下表显示了 C# 支持的所有逻辑运算符。假设变量 A 为布尔值 true,变量 B 为布尔值 false,则:
运算符 | 描述 | 实例 |
---|---|---|
&& | 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 | (A && B) 为假。 |
|| | 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 | (A || B) 为真。 |
! | 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 | !(A && B) 为真。 |
using System;
using System.Collections.Generic;
using System.Text;
namespace 逻辑运算符
{
class Program
{
static void Main(string[] args)
{
//&&与,和 ||或 !非
bool a = (3 < 4) && (9 < 6);//true && false,最后结果应该是false
bool b = (3 < 4) && (9 < 10);//两个条件都为真,所以结果应为True
bool c = (3 < 4) || (92 < 10);//true || false,只要一个为真结果为True
bool d = !(1 < 3);//自身结果为true,结果转换后为false
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
}
}
}
练习 怎么判断年龄区间
利用&&运算符判断两个数字比大小同时满足
int age = Convert.ToInt32(Console.ReadLine());
bool isYoung = 18 <= age && age <= 60;
Console.WriteLine(isYoung);
运算符的优先级
通过括号控制优先级是最简单的
using System;
using System.Collections.Generic;
using System.Text;
namespace 运算符的优先级
{
class Program
{
static void Main(string[] args)
{
int res = (3 + 2) * 4;//通过括号控制优先级是最简单的
Console.WriteLine(res);
}
}
}
练习题part
如何得到三位数的相反数位数字?
于得到三位数的相反数
int num = Convert.ToInt32(Console.ReadLine());
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
Console.WriteLine("{0}{1}{2}", ge, shi, bai);
解谜电波
于取得十位和千位的数字并且转换成字母
//23456
int num = Convert.ToInt32(Console.ReadLine());
int shi = (num / 10) % 10;//先把五位数变成四位数,这样十位就是各位了,然后再通过跟10求余得到此时的个位数
int qian = (num / 1000) % 10;//和上面同理
int numnew = qian * 10 + shi;
char c = (char)numnew;
Console.WriteLine(c);