1、语句定义
1)广义(即各类编程语言对表达式的定义)
--表达一些将被执行的动作;
补充内容
--语句,是高级语言的语法;指令,是低级语言汇编语言机器的语法;
--高级语言:贴近于人类的思维 编译器将高级编程语言编译成低级编程语言 CPU就能读懂了;
--低级语言:贴近于计算机的语言,CPU直接读懂;
--举了两个实例进行说明:C与C#
2)狭义 (C#语言)
--程序的语句相同,控制流可能不同;
--语句功能:陈述算法思想、控制逻辑走向、完成有意义的动作;
--C#语句都以“;”结尾,但是以“;”结尾的不一定都是语句
例如--using System;using指令引入名称空间;
--语句都存在于方法体里;
3)注:result = Double.Parse(s);//报异常:System.FormatException:“输入字符串的格式不正确。”
2、语句详解--视频里全都举了例
1)语句包括:标签语句、嵌入式语句、声明语句
2)标签语句lable-statement
3)声明语句declaration-statement
--局部常量声明 声明或初始化之后值无法再改变
const int x = 100;
--局部变量声明 本地变量类型+本地变量声明器
//写法一:声明时在后追加了变量初始化器
int x = 100;
//写法二:声明时没有初始化,在后面对变量进行赋值
int x;
x = 100;
4)嵌入式语句embedded-statement
--表达式语句expression-statement
--块语句:block在只允许使用单个语句的上下文中编写多条语句
在方法体中的{}才是块语句
块语句后不用加;
编译器把块语句当成一条语句看待,无论块中含多少条子语句。
变量的作用域:在块语句外声明的变量,块内可以访问;但是块语句内声明的变量,块外不能访问
--选择【判断、分支】语句selection-statement :使用时最好把执行语句写在块语句中
包括:if语句、switch语句、switch
注意:常用于精准数值匹配,if常用于区间匹配
--try语句:用于捕捉在块执行期间发生的各种异常
三种模式:try 块 捕捉异常catch
try 块 结束异常finally
try 块 捕捉异常 结束异常
catch语句可以通用处理异常、精确处理异常
finally语句无论怎样都会执行
throw关键字[初学者一般用不上 可以当知识点记一记] 日后用上我会再编辑学习记录
--迭代(循环)语句iteration-statement
包括:while语句、 do语句、 for语句、foreach语句
while语句:按不同条件执行一个嵌入语句零次或多次
//举例--当输入的两个数的和为100时加一分,输入的两个数和不为100时游戏结束
int score = 0;
bool Continue = true;
while(Continue)
{
Console.WriteLine("Please input first number:");
string str1 = Console.ReadLine();
int x = int.Parse(str1);
Console.WriteLine("Please input second number:");
string str2 = Console.ReadLine();
int y = int.Parse(str2);
int sum = x + y;
if (sum==100)
{
score++;
Console.WriteLine("Corrent!{0}+{1}={2}",x,y,sum);
}
else
{
Console.WriteLine("Error!{0}+{1}={2}", x, y, sum);
Continue = false;
}
}
Console.WriteLine("Your score is{0}:",score);
Console.WriteLine("Game Over!");
do语句即do while语句:按不同条件执行一个嵌入语句一次或多次
//举例--当输入的两个数的和为100时加一分,输入的两个数和不为100时游戏结束
int score = 0;
int sum=0;
do
{
Console.WriteLine("Please input first number:");
string str1 = Console.ReadLine();
int x = int.Parse(str1);
Console.WriteLine("Please input second number:");
string str2 = Console.ReadLine();
int y = int.Parse(str2);
sum = x + y;
if (sum==100)
{
score++;
Console.WriteLine("Corrent!{0}+{1}={2}",x,y,sum);
}
else
{
Console.WriteLine("Error!{0}+{1}={2}", x, y, sum);
}
}
while(sum==0);
Console.WriteLine("Your score is{0}:",score);
Console.WriteLine("Game Over!");
for语句:常用于计数循环
//打印九九乘法表 换行 打印表格符\t
for(int a = 1; a<=9;a++)
{
for (int b = 1; b <= a; b++)
{
Console.Write("{0}*{1}={2}\t", a, b, a * b);
}
Console.Write("\n");
}
foreach语句:对集合进行遍历
--跳转语句jump-statement
包括:break语句、continue语句、goto语句、return语句、throw语句
注意:break和continue语句只在包含他们的块里面起作用,外面的不起作用
break语句:结束循环,不再循环
//当输入的两个数的和为100时加一分,输入的两个数和不为100时游戏结束
//同时加入,若输入为“end”退出游戏
int score = 0;
int sum=0;
do
{
Console.WriteLine("Please input first number:");
string str1 = Console.ReadLine();
if(str1.ToLower()==end)
{
break;
}
int x =0;
try
{
x = int.Parse(str1);
}
catch
{
Console.WriteLine("first number has problem");
continue;
}
Console.WriteLine("Please input second number:");
string str2 = Console.ReadLine();
if(str2.ToLower()==end)
{
break;
}
int y =0;
try
{
x = int.Parse(str2);
}
catch
{
Console.WriteLine("second number has problem");
continue;
}
sum = x + y;
if (sum==100)
{
score++;
Console.WriteLine("Corrent!{0}+{1}={2}",x,y,sum);
}
else
{
Console.WriteLine("Error!{0}+{1}={2}", x, y, sum);
}
}
while(sum==100);
Console.WriteLine("Your score is{0}:",score);
Console.WriteLine("Game Over!");
continue语句:放弃当前循环,开始新的循环
//当输入的两个数的和为100时加一分,输入的两个数和不为100时游戏结束
//输入不符合规则,重新输入
int score = 0;
int sum=0;
do
{
Console.WriteLine("Please input first number:");
string str1 = Console.ReadLine();
int x =0;
try
{
x = int.Parse(str1);
}
catch
{
Console.WriteLine("first number has problem");
continue;
}
Console.WriteLine("Please input second number:");
string str2 = Console.ReadLine();
int y =0;
try
{
y = int.Parse(str2);
}
catch
{
Console.WriteLine("second number has problem");
continue;
}
sum = x + y;
if (sum==100)
{
score++;
Console.WriteLine("Corrent!{0}+{1}={2}",x,y,sum);
}
else
{
Console.WriteLine("Error!{0}+{1}={2}", x, y, sum);
}
}
while(sum==100);
Console.WriteLine("Your score is{0}:",score);
Console.WriteLine("Game Over!");
goto语句:不是主流语句,不用了
return语句;
throw语句;
--using语句:讲接口时详述
--yield语句:讲集合时详述
--lock语句:多线程使用