C#_goto语句

goto语句

在程序中我们可以给代码加上标签,这样就可以使用goto语句直接跳到标签的地方去执行
goto语句的语法
goto<1labelName>;
标签定义
<1labelName>

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _18
{
class Program
{
static void Main(string[] args)
{
int labal = 5;
goto mylabe; //goto语句用来控制程序跳转到某个位置
labal++;//中间的代码就会被过滤掉,直接跳转到goto语句那
mylabe: Console.WriteLine(labal);
Console.ReadKey();
}
}
}

C#条件布尔运算符

布尔运算符-处理布尔值

运算符 类别 示例表达式 结果
一元 var1=!var2; 如果var2是false,varl的值是true,否则为false(逻辑非)
& 二元 var1=var2 & var3; 如果var2和var3都是true,var1的值就是true,否则为false(逻辑与)
l 二元 var1=var2 l var3; 如果var2或var3是true(或两者都是),var1的值就是true,否则为fale(逻辑或)
^ 二元 var1=var2 ^ var3; 如果var2或var3中有且仅有一个是true,var1的值就是true,否则为false(逻辑异或)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _17
{
class Program
{
static void Main(string[] args)
{
//条件布尔运算符
bool var1 = true;
bool var2 = false;
bool res =!var1;//!是取反操作,当var为true的时候,返回false,当var1为false的时候,var返回true
bool res1 = var1 & var2;//false
bool res2 = var1 | var2;//true
bool res3 = var1 ^ var2;//true
Console.WriteLine(res);
Console.WriteLine(res1);
Console.WriteLine(res2);
Console.WriteLine(res3);

Console.ReadKey();
}
}
}

条件布尔运算符

运算符 类别 示例表达式 结果
&& 二元 var1=var2 && var3; 如果var2和var3都是true,var1的值就是true,否则为false(逻辑与)
ll 二元 var1=var2 ll var3; 如果var2或var3是true(或两者都是),var1的值就是true,否则为fale(逻辑或)
1
2
3
4
5
6
7
bool var1 = true;
bool var2 = false;
bool res = var1 && var2;//false;&&而且 和单个&功能一样
bool res1 = var1 || var2;//true || 或 和单个|功能一样
Console.WriteLine(res);
Console.WriteLine(res1);
Console.ReadKey();

C#布尔运算符

##布尔运算符

运算符 类别 示例表达式 结果
== 二元 var1=var2==var3; 如果var2等于var3,var1的值就是true,否则为false
!= 二元 var1=var2!=var3; 如果var2不等于var3,var1的值就是true,否则为false
< 二元 var1=var2 < var3; 如果var2小于var3,var1的值就是true,否则为false
> 二元 var1=var2>var3; 如果var2大于var3,var1的值就是true,否则为false
<= 二元 var1=var2<=var3; 如果var2小于等于var3,var1的值就是true,否则为false
>= 二元 var1=var2>=var3; 如果var2大于等于var3,var1的值就是true,否则为false

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _16
{
class Program
{
static void Main(string[] args)
{
//布尔运算的大于等于
//int score = 99;
//bool res=score >= 50;//在这里>=就是一个比较运算符,用来比较score是否大于等于50,如果是的话返回true,否则返回false
//Console.WriteLine(res);


int num1 = 34;
int num2 = 55;
bool res1 = num1 == num2;//判断num1和num2是否相等,结果是false
bool res2 = num1 != num2;//true
bool res3 = num1 < num2;//true
bool res4 = num1 > num2;//false
bool res5 = num1 <= num2;//true
bool res6 = num1 >= num2;//false
Console.WriteLine(res1);
Console.WriteLine(res2);
Console.WriteLine(res3);
Console.WriteLine(res4);
Console.WriteLine(res5);
Console.WriteLine(res6);
Console.ReadKey();
}
}
}

C#算法小练习

练习1编写一个控制台应用程序,要求用户输入4个Int值,并显示他们的乘积

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _14
{
class Program
{
static void Main(string[] args)
{
编写一个控制台应用程序,要求用户输入4个Int值,并显示他们的乘积
string str = Console.ReadLine();
int num = Convert.ToInt32(str);
string str2 = Console.ReadLine();
int num2 = Convert.ToInt32(str2);
string str3 = Console.ReadLine();
int num3 = Convert.ToInt32(str3);
string str4 = Console.ReadLine();
int num4 = Convert.ToInt32(str4);
int res = num * num2 * num3 * num4;
Console.WriteLine(res);
}
}
}

练习2从键盘输入一个三位的正整数,按个十百位的顺序输出 也就是相反顺序,比如输入123,输出是321

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _14
{
class Program
{
static void Main(string[] args)
{
string str = Console.ReadLine();
int num1 = Convert.ToInt32(str);
int ge = num1%10; //一个数字跟10求余得到是这个数字的个分位
int shi=(num1 / 10) % 10;//一个数字跟10相除的话,相当于去年这个数字的个分位(abc/10=ab)
int bai = num1 / 100;
Console.WriteLine(ge + "" + shi + "" + bai);
}
}
}

练习3编写一个程序,输入梯形的上底 下底 和高,计算机出来梯形的面积并显示出来。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _14
{
class Program
{
static void Main(string[] args)
{
//梯形的面积(上底+下底)*高/2
Console.WriteLine("请输入上底");
string str = Console.ReadLine();
double num1 = Convert.ToDouble(str);
Console.WriteLine("请输入上底");
string str2 = Console.ReadLine();
double num2 = Convert.ToDouble(str2);
Console.WriteLine("请输入高");
string str3 = Console.ReadLine();
double num3 = Convert.ToDouble(str3);
Console.WriteLine("梯形的面积是:");
double res = (num1 + num2) * num3 / 2;
Console.WriteLine(res);
}
}
}

练习4计算半径为n的圆的周长和面积

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _14
{
class Program
{
static void Main(string[] args)
{
///周长=2n*PI 面积PI*n*n
Console.WriteLine("请输入圆的半径");
string str = Console.ReadLine();
double n = Convert.ToDouble(str);
Console.WriteLine("圆的周长是:" + (2 * n * 3.14));
Console.WriteLine("圆的面积是:" + (n * n * 3.14));
Console.ReadKey();
}
}
}

Unity3d_C#运算符的优先级

运算符的优先级

var1=var2+var3;
var=var2+var3var4;
var=(var2+var3)
var4;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _12
{
class Program
{
static void Main(string[] args)
{
int num = 12 + 90;
int num1 = 12 + 90*2/4%4;//在程序中的表达式中,运算符是有优先级的,先进行优先级高的运算符的运算
int num2 = (12 + 90) * 2;//我们可以通过(括号)来改变运算符的优先级,()内的运算总是最先执行
Console.WriteLine(num);
Console.WriteLine(num1);
Console.WriteLine(num2);
Console.ReadKey();
}
}
}

括号可以用来重写优先级 括号内的优先级最高

Unity3d_C#赋值运算符

赋值运算符

运算符 类别 示例表达式 结果
= 二元 var1=var2; var1被赋予var2的值
+= 二元 var1+=var2; var1被赋予var1与var2的和
-= 二元 var1-=var2; var1被赋予var1与var2的差
* = 二元 var1*=var2; var1被赋予var1与var2的乘积
/= 二元 var1/=var2; var1被赋予var1与var2相除所得的结果
%= 二元 var1%=var2; var1被赋予var1与var2相除所得的余数

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _11
{
class Program
{
static void Main(string[] args)
{
int num1 = 34;//这个是最常用 最基本的赋值运算符
num1 += 12; //相当于num1=num1+12 //此时num1的值是46
num1 -= 12; //相当于num1=num1-12 //此时num1的值是46-12=34
num1 *= 2; //相当于num1=num1*2 //此时num1的值是34*2=68
num1 /= 2; //相当于num1=num1/2 //此时num1的值是68/2=34
num1 %= 4; //相当于num1=num1%4 //此时num1的值是34%4=2
Console.WriteLine(num1);
Console.ReadKey();

}
}
}

Unity3d_C#接受用户输入的字符串

接受用户输入字符串以及将字符串变成整数型和浮点型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _009
{
class Program
{
static void Main(string[] args)
{
//读取用户的输入
//string str= Console.ReadLine(); //人键盘上读取输入的字符串
//Console.WriteLine(str);

//Convert转型
//string str = "123";
//int num=Convert.ToInt32(str);//Convert转型类里面的有个方法可以使整数的字符串转入为整数
//num++;
//Console.WriteLine(num);//结果是124

//string str = Console.ReadLine();
//int num = Convert.ToInt32(str);
//Console.WriteLine(num);

string str = Console.ReadLine();
double num = Convert.ToDouble(str);//将字符串转化为浮点
Console.WriteLine(num);

Console.ReadKey();
}
}
}

接受用户从控制台输入两个数字,并计算和,输出到控制台

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _10
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入第一个数字");
string str1 = Console.ReadLine();
int num1 = Convert.ToInt32(str1);
Console.WriteLine("请输入第二个数字");
string str2 = Console.ReadLine();
int num2 = Convert.ToInt32(str2);
Console.WriteLine("两个数字的和为");
int Sum = num1 + num2;
Console.WriteLine(Sum);

Console.ReadKey();
}
}
}

Unity3d_C#数学运算符

数学运算符-加减乘除求余

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _007
{
class Program
{
static void Main(string[] args)
{

int num1 = 45;
int num2 = 13;
int res1 = num1 + num2;//加
int res2 = num1 - num2;//减
int res3 = num1 * num2;//乘
int res4 = num1 / num2;//除
int res5 = num1 % num2;//求余
//加减乘除求余两边的操作数都是整数的话,结果还是整数,不过不能被整除的话,自动略去小数部分
Console.WriteLine("加法的结果:{0}\n减法的结果:{1}\n乘法的结果:{2}\n除法的结果:{3}\n求余:{4}",res1,res2,res3,res4,res5);
Console.ReadKey();
}
}
}

数学运算符更多的使用

1
2
3
4
5
6
7
8
9
10
11
//1.字符串相加,用来连接两个字符串,返回一个字符串
string str1 = "123";
string str2 = "Lu";
string str = str1 + str2;
Console.WriteLine(str);//运算结果是:123Lu

//2.当一个字符串跟一个数字相加的话,首先把数字转变成字符串,然后连接起来,结果是字符串
string str01 = "123";
int num01 = 456;
string res01 = str01 + num01;
Console.WriteLine(res01);//运算结果是:123456

关于数学运算的结果的类型

当两边的操作数类型一致的时候,返回的结果跟操作数的类型一样
当两边的操作数类型不一致的时候,返回的结果跟类型大的操作数保持一致,这样做编译器是为了保证结果可以存的下,因为如果其中有一个类型大的操作数,很可能结果也是一个比较大的数值这样小类型是存不下的。

数学运算符 自加和自减运算符

数学运算符

运算符 类别 示例表达式 结果
++ 一元 var1=++var2; var1的值是var2+1,var2递增1
一元 var1=–var2; var1的值是var2-1,var2递减1
++ 一元 var1=var2++; var1的值是var2,var2递增1
一元 var1=var2–; var1的值是var2,var2递减1

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _008
{
class Program
{
static void Main(string[] args)
{
//数学运算符_自加
//int num1 = 45;
//num1++;
//++num1; //++不管是放到操作数的前面还是后面,都是让操作数加1
//int res = num1++; //res的值=45 num1=46
//int res = ++num1; //res的值=46 num1=46
//如果++放到前面会先进行自增,然后再进行其余的运算;如果放在操作数后面,会先使用操作数进行运算,然后让操作数自增。
//Console.WriteLine(res+":"+num1);

//数学运算符_自减
int num1 = 45;
int res = num1--; //res的值是45 num1的值是44
int res2 = --num1;//res2的值是43 num1的值是43
Console.WriteLine(res + ":" + res2);
Console.ReadKey();
}
}
}

Unity3d_C#字面值_转义字符

转义字符

转义序列 产生的字符 字符的Unicode值
\‘ 单引号 0x0027
\“ 双引号 0x0022
\\ 反斜杠 0x005C
\0 0x0000
\a 警告(产生蜂鸣电脑会响一声) 0x0007
\b 退格 0x0008
\f 换页 0x000C
\n 换行 0x000A
\r 回车 0x000D
\t 水平制表符 0x0009
\v 垂直制表符 0x000B

字符Unicode值的作用

Unicode是一个16进制的数字,表示这个字符在内存中以哪个数字存储
也可以使用Unicode来代表一个转义字符(\u加上十六进制值)
“'s like”
等于
“\u0027s like”

实例

使用@不识别转义字符

如果我们不想去识别字符串中的转义字符,可以在前面加一个@符号(除了双引号其他转义字符都不在识别)

举例:”I’m a good man.\n\v You are bad girl\n”;
@字符的两个作用示例:
1.默认一个字符串的定义是放在一起的,如果想要占用多行。
2.用字符串表示路径
“c:\xxx\xx\xxx.doc”
使用@”c:\xxx\xx\xxx.doc”更能读懂

实例

如果需要加双引号的话,即在前面有@的情况下两个双引号代表一个双引号。
@””=”

致谢

Unity3d_C#声明变量,给它赋值,并使用它

变量

为什么使用变量?
计算机程序的运行其实就是对数据的操作,数据有数字、文字、图片这些
数据如何在计算机中存储?
通过变量,你可以把计算机内存中的变量,当成一个盒子,盒子里面存储着东西,可以放入或者取出。

声明变量需要指定类型和变量名

type name;
type表示使用什么类型的盒子,来存储数据
name表示存储这个盒子的名字
实例:(每一个声明都是一条语句,语句以;结束)

1
2
3
int age;//int整数类型盒子,age是盒子的名字
int hp;
string name;//字符串类型盒子,name是盒子的名字

实例1

按Ctrl+F5可运行时暂停,或者加多这条语句Console.ReadKey();按F5也可运行时暂停

变量类型有哪些?

简单类型-整数

类型 别名 允许的值
sbyte System.SByte 在-128~127之间的整数
byte System.Byte 在0~255之间的整数
short System.Int16 在-32768~32767之间的整数
usbort System.UInt16 在0~65535之间的整数
int System.Int32 在-2147483648~2147483647之间的整数
uint System.UInt32 在0~4294967295之间的整数
long System.Int64 在-9223372036854775808~9223372036854775807之间的整数
ulong System.UInt64 在0~18446744073709551615之间的整数

实例2

根据实际情况来选择合适的类型可节约内存,达到优化效果,比如视频点击量过亿的可以选择long类型;年龄可以选byte类型,年龄一般不超过255,除了史前动物。。

简单类型-小数

类型 别名 m的最小值 m的最大值 e的最小值 e的最大值 近似的最小值 近似的最大值
float System.Single 0 2的24次方 -149 104 1.5x10的-45次方 3.4x10的35次方
double System.Double 0 2的53次方 -1075 970 5.0x10的-324次方 1.7x10的308次方
decimal System.Decimal 0 2的96次方 -26 0 1.0x10的-28次方 7.9x10的28次方

实例3

简单类型-非数值类型

类型 别名 允许的值
char System.Char 一个Unicode字符,存储0~65535之间的整数
bool System.Boolean 布尔值;true成false
string System.String 一组字符

实例4

实例5

多变量声明和赋值

我们可以使用一条语句声明多个类型一样的变量
string name1,name2;
在多变量声明中,可以在变量后面跟上=,对其中的一个变量或者部分或者全部变量进行初始化

变量在使用之前必须初始化

怎么判断变量有没有使用,当你从变量的盒子里面取东西的时候
就是要使用这个变量的时候,初始化就是先往这个盒子里面放入东西,才能去取

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _006_变量的声明和赋值
{
class Program
{
static void Main(string[] args)
{
//Ctrl+K然后Ctrl+C这是一个组合快捷键可以注释选中行
//Ctrl+K然后Ctrl+U取消注释选中行
//变量在使用之前必须初始化
int age=20;//第一次给变量赋值,就叫做初始化
age = 25;//后面都是赋值
int hp, mp=90, exp=80;
hp = 100;
Console.WriteLine(hp);
}
}
}

感谢观看