2、C#基础整理(运算符、数据类型与转换、var关键字)

时间:2021-01-01 05:41:41

·运算符

数学运算符:+ - * / %

比较运算符:<   >   =   <=  >=   !=  返回bool值

逻辑运算符:&&并且、||或者,两者运行顺序无先后

逻辑非"!": 只作用于紧跟的代码,数学运算符(在有括号的情况下成立)<优先级<比较运算符

运算顺序:"(* / %)">"(+ -)", 逻辑运算符,赋值运算符“=”

自增“++”自减“--”:写在变量前就先++后赋值,优先级>加减乘除模;写在变量后就先赋值后++,优先级<加减乘除模。如:

            int a = ;
int b = ;
int c = ++a + b;
int d = a++ + b;
Console.WriteLine(c +","+ d+","+a);

c,d,a的输出结果分别是1,1,2

条件运算符 (比较表达式)?(满足表达式:语句一):(不满足表达式:语句二)

其他赋值运算符:+= -= /= *= %=

·数据类型

值类型

int,long,double,float,decimal

1.sbyte--有符号 byte--无符号(正数)255
2.int long short--有符号 uint ulong ushort--无符号
3.enum枚举 struct结构体

引用类型

1.class 委托 dynamic 接口 object string
2.object基类 所有类型的父类(统称)

3.string分段方法:string.Join("分隔符",string数组)

常量(const)

const使变量转换为常量,方法:const int = 1

隐式类型

var myInt= 0;var myBool = true……(强类型数据,通过var来代替正式的数据类型名)

匿名类型

var student = new {name = "李明", Age = 19}

=>class student{ public string name{get;set}  public int age{get;set}}  student s = new student{name = "李明",age = 19}

用自动属性封装各个数据。

·类型转换

1、值类型转为值类型:强制转换。例:

int i = ; int s = ;
double jieguo = (double)i/s; double i1 = 4.5; int s1 = ;
double jieguo1 = i1 / (double)s1;

2、值类型转换成引用类型:显式转换。例:

//转换为字符串ToString
string j = i.ToString();
Console.WriteLine(j);
//j现在是字符串形式

3、引用类型转换为值类型:隐式转换(需要在值类型的承受范围内,如“1.23”就不能转换成int整数型)。例:

string st = "1.35";
double dd = double.Parse(st);
double ds = Convert.ToDouble(st);//另一种方法 int ss = int.Parse(st);//Wrong!不能运行
int ii = (int)double.Parse(st);//转换为整型时需要先转换为double型,默认取floor值 Console.WriteLine(dd);//结果是1.35
Console.WriteLine(ii);//结果是1

·练习:

1、从控制台输入底面半径和高,求圆柱的表面积

Console.WriteLine("请输入底边半径和高:");
double di = double.Parse(Console.ReadLine());
double h = double.Parse(Console.ReadLine());
double dimianji = 3.14 * r * r;
double cemianji = * 3.14 * r * h;
double biaomianji = dimianji * + cemianji;
Console.WriteLine("圆柱的表面积是:{0}",biaomianji);

查看答案

2、(含if语句的)从控制台输入一个月份,如果这个月份是1~6月,就输出“这是上半年”,否则输出“这是下半年”

Console.WriteLine("请输入一个月份:");
int mon = int.Parse(Console.ReadLine());
bool pan = mon<=;
if (pan == true)
Console.WriteLine("这是上半年");
else
Console.WriteLine("这是下半年");

查看答案