第三章 运算符和表达式
课时20 认识运算符
1.运算符(操作符)
定义:是一个用于运算的符号,作用于一个或多个操作数。
操作数:参与运算的数据
2.运算符分类(A,B两类)
A.按操作数的数量
一元(目)运算符 → 作用于一个操作数
二元(目)运算符 → 作用于两个操作数
(理解:一个运算符,例如:1+1=2 ''+'表示运算符,1和1是操作数)
三元(目)运算符 → 作用于三个操作数
代码表示的意思:
double类型转化为int类型再转换为string类型
Double a=1.2;
String b =(int)a;
1)变量类型为小数1.2 2)变量名为a 3)将1.2赋值给a
示例:
double类型转化为int类型 将1赋值给int
Int a=1;
String b =a.ToString();
4)Int(任何类型)再转换为string类型 写法:_.ToString 得到a.ToString
5)String b+a.ToString
注意:
_.ToString中的.为调用符号
B.按运算符的功能
算数运算符 → 用于数学运算
逻辑运算符 → 用于判断真假
位运算符 → 用于二进制运算
其他
课时21 常见的运算符号:小括号
1.常见运算符:小括号
书写方式:() 成对的英文小括号
功能作用:类型转换 改变运算顺序 函数调用(了解)
A.类型转换
示例理解:
Long a=1;
Int b=a;
Short c=b;
Byte d=c;
1)依据 知晓其取值范围:long>int>short>byte
2)代码意思 取值范围大赋值给取值范围小的 → 表示显示转换
3)所以该进行类型转换
4)大转小取小
B.改变运算顺序
示例理解:
String a=1+(2+”3”);
1)小括号里优先 得到“23”
2)从左往右计算 得到123
课时22常见的运算符:算术运算符
1.常见的运算符:+,-,*,/,%,++,- -
2.加加运算
x++ 后加加,先加后用
++x 前加加,加完再用
示例:
Int x=1;
X++;
++x;
X=X++; →x=1,但是运算时值为2
X=++x; →x=2
4.运算顺序:++ - - → * / % → + -
课时23常见运算符:赋值运算
1.常见运算符
+=,-=,*=,/=,%=
2.赋值运算符
示例理解:
int x=1
x +=x+1 等效 x=x+(x+1)
-=,*=,/=,%=
备注:其他一样
赋值运算示例理解:
Int x,y;
X=y=1;
1)int 定义两个变量x 和 y
2)将1赋值给y,再把y赋值给x
课时24 常见运算符:逻辑运算符
1.逻辑运算符
1)定义:用于判断条件是否成立的运算
(用真和假表示判断结果)
2)常见逻辑运算符: == , != ,> ,>= ,< ,<= ,&&(并且) ,||(或者) ,!(非)
以上运算返回类型:bool 指ture,或者fales
示例理解:
int a=1, b=2;
bool c=a== b;
1)int定义了两个值a,b 值分别为1,2
2)左右两边为布尔类型:bool a==b
&&(并且运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =a > b;
bool e= c && d
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=a>b 为假
4)bool e=c&& d 最后为假
||(或者运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =a > b;
bool e= c || d
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=a>b 为假
4)bool e=c||d 最后为真
!(非运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =!b;
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=!c 求反则为假
25.课时 常见运算符:三目运算符
1.三目运算符(三元运算符)
1)需要三个操作数参与运算
2)书写方式:操作数1? 操作数2: 操作数3
备注:操作数是bool布尔类型 操作数2和3为相同类型 中间的符号为英文符号
3)返回结果
a如果操作数1判定结果为真,则将操作数2作为返回结果
b如果操作数1判定结果为假,则将操作数3作为返回结果
代码理解:
int a= 3;
int b= a % 2;
bool c= b== 0;
string d=c?”偶数”:”奇数”;
1)int 定义一个变量a,将3赋值给a
2)int 定义一个变量a,将3%2的余数2.5 赋值给b
3)判断b== 0为T还是F,再将F赋给c
4)string 定义一个变量d,将F赋给d
5)判定结果为F,将奇数作为返回结果
备注:%只用于整数间的运算,%除完后的余数
课时26位运算符
1.位运算符:用于对数字进行二进制运算
二进制是:逢二进一 支持:0和1两个数字
十进制是:逢十进一 支持:0--9十个数字
2.位运算符
& 与
|或
^异或
<<左移
>>右移
~取补
& 与 |
11取1,其他取0 |
| 或 |
00取0,其他取1 |
^ 异或 |
相同曲0,不同取1 |
<< 左移 |
左移指定的位数 |
>> 右移 |
右移指定的位数 |
~ 取补 |
1变0,0变1 |
27 表达式
1.表达式是:一条有意义的语句,并且该语句至少包含一个操作数和一个操作符
理解:红框中的表达式,表示在做加法运算。
上图中的都为表达式
2.每一个表达式都有一个返回类型
a++ |
返回类型:与变量a相同 |
a=1+2 |
返回类型:与变量a相同 |
Console.ReadLine() |
返回类型:string |
a&&b |
返回类型:bool |
a==b |
返回类型:bool |
int.Parse(input) |
返回类型:int |
Console.WriteLine() |
返回类型:void(无) |
bool a=true |
返回类型:void |
表示输出语句,无返回结果
变量定义语句,无返回类型
3.每一个表达式都可以与其他表达式进行运算,只要类型符合要求
示例理解:
String result=a + “_”+b+”=”+c;
Console.WriteLine(result);
运算后Console.WriteLine(a + “_”+b+”=”+c);
第一次进行运算的结果
第二次进行运算的结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入第一个数:");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入第二个数:");
double b = double.Parse(Console.ReadLine());
string result = a > b ? "第一个数大" : "第二个数大";
Console.Write(result);
}
}
}
28 运算符优先级
1.运算符的优先级
A.优先级越高的运算符,会优先得到执行
B.优先级相同的运算符,从左到右依次执行
举例
上表 对初学者意义不大
2.使用多个运算符的常见场景
1)赋值运算
2)数学运算
3)类型转换和函数调用
4)逻辑运算
5)三目运算
6)其他运算
赋值运算的理解:
1)先计算表达式结果
2)赋值运算,永远最后运行
数学运算的理解:
1)先运行括号,有嵌套则由里往外运行
2)再运行乘,除,求余
3)最后运行加减
类型转换和函数调用的理解:
示例:
(int)double.Pparse(a)
1)先进行函数调用
2)将变量a转换为double类型,得到double类型的返回结果
3)将double返回结果强制转化给int
代码理解:
int.Prase(a.ToString())
1)将变量a转化为string(字符串)类型,得到string类型
2)将得到的string类型转化为int类型
逻辑运算
逻辑运算时,将&&和||符号两端的表达看作一个整体,都为bool类型
代码理解:
示例:
a>b&&c>d
1)a>b和c>d的返回类型是bool,本身是表达式
2)将左右两端返回类型bool进行bool类型中的&&(并且)运算
理解代码:
1)a>b&&c>d
a大于b并且c大于d
2)a>b&&c>d&&a>c
a大于b并且c大于d并且a大于c
三目运算
1)书写方式: 表达式1?表达式2:表达式3
表达含义:表达式1返回类型是bool;表达式2和3的类型相同
2)表达式1返回结果为真取表达式2,否之取表达式3
代码理解:
示例:
a > b ? a + “.00”:b.ToString()
如果a>b,则取a拼接“00”的结果,否则取b的字符串结果
其他
使用小括号或分开书写来控制运算顺序
小括号具有最高的优先级
可以使用小括号将需要优先执行的代码括起来
示例:
int result=( a + b ) > c ? a+ b : c;
有三个int类型的变量a,b,c,如果a+b的值大于c,则取a+b的值,否则取c的值
29 课时 健康计算器
运行代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/*标准体重计算公式
男:(身高-80)*0.7
女:(身高-70)*0.6
健康:在标准 体重10%范围内
偏瘦:低于标准体重10%
偏胖:高于体重10%
*/
Console.Write("请输入性别(男 或 女):");
string input = Console.ReadLine();
Console.Write("请输入身高(厘米)");
//获取用户输入,然后把用户输入的身高转化为int类型,保存到变量height中
int height = int.Parse(Console.ReadLine());
Console.Write("请输入体重(千克):");
//获取用户输入的体重,将其转化为int类型,存放到weight中
int weight = int.Parse(Console.ReadLine());
//计算用户的健康状况
//计算用户的标准体重
double standardWeight=input=="男"?(height-80)*0.7:(height-70)*0.6;
//计算健康体重的最小值和最大值
double minHealthWeight=standardWeight*0.9;
double maxHealthWeight = standardWeight * 1.1;
//根据健康体重的最小值和最大值,得到用户的健康状况
string result=weight>=minHealthWeight && weight<= maxHealthWeight?
"身体非常健康,继续保持":
(weight<minHealthWeight?"偏瘦,请多补充营养":"偏胖,请少吃多运动");
Console.WriteLine(result);
Console.ReadLine();
}
}
}
第三章 运算符和表达式
课时20 认识运算符
1.运算符(操作符)
定义:是一个用于运算的符号,作用于一个或多个操作数。
操作数:参与运算的数据
2.运算符分类(A,B两类)
A.按操作数的数量
一元(目)运算符 → 作用于一个操作数
二元(目)运算符 → 作用于两个操作数
(理解:一个运算符,例如:1+1=2 ''+'表示运算符,1和1是操作数)
三元(目)运算符 → 作用于三个操作数
代码表示的意思:
double类型转化为int类型再转换为string类型
Double a=1.2;
String b =(int)a;
1)变量类型为小数1.2 2)变量名为a 3)将1.2赋值给a
示例:
double类型转化为int类型 将1赋值给int
Int a=1;
String b =a.ToString();
4)Int(任何类型)再转换为string类型 写法:_.ToString 得到a.ToString
5)String b+a.ToString
注意:
_.ToString中的.为调用符号
B.按运算符的功能
算数运算符 → 用于数学运算
逻辑运算符 → 用于判断真假
位运算符 → 用于二进制运算
其他
课时21 常见的运算符号:小括号
1.常见运算符:小括号
书写方式:() 成对的英文小括号
功能作用:类型转换 改变运算顺序 函数调用(了解)
A.类型转换
示例理解:
Long a=1;
Int b=a;
Short c=b;
Byte d=c;
1)依据 知晓其取值范围:long>int>short>byte
2)代码意思 取值范围大赋值给取值范围小的 → 表示显示转换
3)所以该进行类型转换
4)大转小取小
B.改变运算顺序
示例理解:
String a=1+(2+”3”);
1)小括号里优先 得到“23”
2)从左往右计算 得到123
课时22常见的运算符:算术运算符
1.常见的运算符:+,-,*,/,%,++,- -
2.加加运算
x++ 后加加,先加后用
++x 前加加,加完再用
示例:
Int x=1;
X++;
++x;
X=X++; →x=1,但是运算时值为2
X=++x; →x=2
4.运算顺序:++ - - → * / % → + -
课时23常见运算符:赋值运算
1.常见运算符
+=,-=,*=,/=,%=
2.赋值运算符
示例理解:
int x=1
x +=x+1 等效 x=x+(x+1)
-=,*=,/=,%=
备注:其他一样
赋值运算示例理解:
Int x,y;
X=y=1;
1)int 定义两个变量x 和 y
2)将1赋值给y,再把y赋值给x
课时24 常见运算符:逻辑运算符
1.逻辑运算符
1)定义:用于判断条件是否成立的运算
(用真和假表示判断结果)
2)常见逻辑运算符: == , != ,> ,>= ,< ,<= ,&&(并且) ,||(或者) ,!(非)
以上运算返回类型:bool 指ture,或者fales
示例理解:
int a=1, b=2;
bool c=a== b;
1)int定义了两个值a,b 值分别为1,2
2)左右两边为布尔类型:bool a==b
&&(并且运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =a > b;
bool e= c && d
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=a>b 为假
4)bool e=c&& d 最后为假
||(或者运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =a > b;
bool e= c || d
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=a>b 为假
4)bool e=c||d 最后为真
!(非运算)理解:
int a =1, b= 2;
bool c =a != b;
bool d =!b;
1)int定义了两个值a,b 值分别为1,2
2)bool c=a !=b 表示1<2 为真
3)bool d=!c 求反则为假
25.课时 常见运算符:三目运算符
1.三目运算符(三元运算符)
1)需要三个操作数参与运算
2)书写方式:操作数1? 操作数2: 操作数3
备注:操作数是bool布尔类型 操作数2和3为相同类型 中间的符号为英文符号
3)返回结果
a如果操作数1判定结果为真,则将操作数2作为返回结果
b如果操作数1判定结果为假,则将操作数3作为返回结果
代码理解:
int a= 3;
int b= a % 2;
bool c= b== 0;
string d=c?”偶数”:”奇数”;
1)int 定义一个变量a,将3赋值给a
2)int 定义一个变量a,将3%2的余数2.5 赋值给b
3)判断b== 0为T还是F,再将F赋给c
4)string 定义一个变量d,将F赋给d
5)判定结果为F,将奇数作为返回结果
备注:%只用于整数间的运算,%除完后的余数
课时26位运算符
1.位运算符:用于对数字进行二进制运算
二进制是:逢二进一 支持:0和1两个数字
十进制是:逢十进一 支持:0--9十个数字
2.位运算符
& 与
|或
^异或
<<左移
>>右移
~取补
& 与 |
11取1,其他取0 |
| 或 |
00取0,其他取1 |
^ 异或 |
相同曲0,不同取1 |
<< 左移 |
左移指定的位数 |
>> 右移 |
右移指定的位数 |
~ 取补 |
1变0,0变1 |
27 表达式
1.表达式是:一条有意义的语句,并且该语句至少包含一个操作数和一个操作符
理解:红框中的表达式,表示在做加法运算。
上图中的都为表达式
2.每一个表达式都有一个返回类型
a++ |
返回类型:与变量a相同 |
a=1+2 |
返回类型:与变量a相同 |
Console.ReadLine() |
返回类型:string |
a&&b |
返回类型:bool |
a==b |
返回类型:bool |
int.Parse(input) |
返回类型:int |
Console.WriteLine() |
返回类型:void(无) |
bool a=true |
返回类型:void |
表示输出语句,无返回结果
变量定义语句,无返回类型
3.每一个表达式都可以与其他表达式进行运算,只要类型符合要求
示例理解:
String result=a + “_”+b+”=”+c;
Console.WriteLine(result);
运算后Console.WriteLine(a + “_”+b+”=”+c);
第一次进行运算的结果
第二次进行运算的结果
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入第一个数:");
double a = double.Parse(Console.ReadLine());
Console.Write("请输入第二个数:");
double b = double.Parse(Console.ReadLine());
string result = a > b ? "第一个数大" : "第二个数大";
Console.Write(result);
}
}
}
28 运算符优先级
1.运算符的优先级
A.优先级越高的运算符,会优先得到执行
B.优先级相同的运算符,从左到右依次执行
举例
上表 对初学者意义不大
2.使用多个运算符的常见场景
1)赋值运算
2)数学运算
3)类型转换和函数调用
4)逻辑运算
5)三目运算
6)其他运算
赋值运算的理解:
1)先计算表达式结果
2)赋值运算,永远最后运行
数学运算的理解:
1)先运行括号,有嵌套则由里往外运行
2)再运行乘,除,求余
3)最后运行加减
类型转换和函数调用的理解:
示例:
(int)double.Pparse(a)
1)先进行函数调用
2)将变量a转换为double类型,得到double类型的返回结果
3)将double返回结果强制转化给int
代码理解:
int.Prase(a.ToString())
1)将变量a转化为string(字符串)类型,得到string类型
2)将得到的string类型转化为int类型
逻辑运算
逻辑运算时,将&&和||符号两端的表达看作一个整体,都为bool类型
代码理解:
示例:
a>b&&c>d
1)a>b和c>d的返回类型是bool,本身是表达式
2)将左右两端返回类型bool进行bool类型中的&&(并且)运算
理解代码:
1)a>b&&c>d
a大于b并且c大于d
2)a>b&&c>d&&a>c
a大于b并且c大于d并且a大于c
三目运算
1)书写方式: 表达式1?表达式2:表达式3
表达含义:表达式1返回类型是bool;表达式2和3的类型相同
2)表达式1返回结果为真取表达式2,否之取表达式3
代码理解:
示例:
a > b ? a + “.00”:b.ToString()
如果a>b,则取a拼接“00”的结果,否则取b的字符串结果
其他
使用小括号或分开书写来控制运算顺序
小括号具有最高的优先级
可以使用小括号将需要优先执行的代码括起来
示例:
int result=( a + b ) > c ? a+ b : c;
有三个int类型的变量a,b,c,如果a+b的值大于c,则取a+b的值,否则取c的值
29 课时 健康计算器
运行代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/*标准体重计算公式
男:(身高-80)*0.7
女:(身高-70)*0.6
健康:在标准 体重10%范围内
偏瘦:低于标准体重10%
偏胖:高于体重10%
*/
Console.Write("请输入性别(男 或 女):");
string input = Console.ReadLine();
Console.Write("请输入身高(厘米)");
//获取用户输入,然后把用户输入的身高转化为int类型,保存到变量height中
int height = int.Parse(Console.ReadLine());
Console.Write("请输入体重(千克):");
//获取用户输入的体重,将其转化为int类型,存放到weight中
int weight = int.Parse(Console.ReadLine());
//计算用户的健康状况
//计算用户的标准体重
double standardWeight=input=="男"?(height-80)*0.7:(height-70)*0.6;
//计算健康体重的最小值和最大值
double minHealthWeight=standardWeight*0.9;
double maxHealthWeight = standardWeight * 1.1;
//根据健康体重的最小值和最大值,得到用户的健康状况
string result=weight>=minHealthWeight && weight<= maxHealthWeight?
"身体非常健康,继续保持":
(weight<minHealthWeight?"偏瘦,请多补充营养":"偏胖,请少吃多运动");
Console.WriteLine(result);
Console.ReadLine();
}
}
}