首页 > 代码库 > 002.变量、类型转换、运算符

002.变量、类型转换、运算符

1、变量

命名规则:

a 只能是字母(a-z),数字(0-9),下划线(_)
b 不能用数字开头
c 不能是C#中的关键字

命名规范:

a 简短,有语义的单词或组合
b 骆驼命名法(从第二个单词开始,首字母大写)myName

使用步骤:

a 声明并赋值(例:int age=18)
b 使用(输入输出、判断、运算等...)
* 先赋值再使用

2、数据类型

整形和非整形:
整形:sbyte(有符号的-128~127) byte(0~255 )一个字节8位
short(-32768~32767)ushort(0~65535)2个字节16位
int(-2^63~2^63-1) uint(0~^32-1)long(-2^63~2^63-1)

非整形:
float:单精度浮点型 f
double:双精度浮点型 d
decimal: m

非数值:
char:存储单个字符
string:双引号引起来的任意长度的字符串
bool:存储true或false,或结果为bool值的表达式

a +连接符连接字符串
b 占位符{数字}数字:0~变量列表的数量-1
Console.WriteLine("格式化字符串", 变量列表);

补充(了解二进制):
十进制数计算特点:逢十进一
计算机的二进制:
236:3*10^2+3*10^1+6*10^0
01001001:0*2^7+1*2^6+1.......(二进制转成十进制)
八进制:缩短二进制
十六进制:颜色

3、运算符
+、-、*、/、&&、||、<、>、<=、>=、++(自增)、--(自减)、%(取余数)、!=
例:
int n=1,m=1;
//做后缀,先引用变量原来得值,然后再自增;(先运算再+1)int x=n;n++
int x=n++;
//做前缀,先执行自增运算再使用变量的值; (先+1再运算) m++;int y=m
int y=++m;
Console.WriteLine("x={0}\ny={1}",x,y);
Console.ReadKey();

逻辑运算符
&&(逻辑与):条件表达式1&&条件表达式2 同时满足(两个条件都为真,结果才为真)
||(逻辑或):条件表达式1||条件表达式2 或者(只要有一个条件为真,结果就为真)
! (逻辑非): !条件表达式,如果条件表达式为真,结果为假,如果条件表达式为假,结果为真
例: Console.WriteLine("输入成绩");
int writeScore = int.Parse(Console.ReadLine());
Console.WriteLine("输入成绩");
int labScor = int.Parse(Console.ReadLine());
bool isParse = writeScore >= 60 && labScor >= 60;
Console.WriteLine(isParse);
Console.ReadKey();

数值运算符
快捷运算符:+=、-=、*=、/=
例:
sum+=1等于sum=sum+1;

三元运算符
例:
Console.WriteLine("请输入一个数");
int num1=int.Parse(Console.ReadLine());
Console.WriteLine("请输入一个数");
int num2 = int.Parse(Console.ReadLine());
int max = num1 > num2 ? num1 : num2;
Console.WriteLine("两个数中最大的是{0}", max);
Console.WriteLine("请输入一个数");
int num3 = int.Parse(Console.ReadLine());
max = max > num3 ? max : num3;
Console.WriteLine("三个数中最大的数是:{0}",max);
Console.ReadKey();

关于逻辑运算符的练习:
接收键盘输入的年份,判断该年是否是闰年?
闰年的条件:年份能被4整出但是不能被100整除,或者能被400整除。
代码:
第一种方法

Console.WriteLine("请输入一个年份?");
int year = int.Parse(Console.ReadLine());
//bool isYear = year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
//Console.WriteLine(isYear);
//Console.ReadKey();
string isYear = year % 4 == 0 && year % 100 != 0 || year % 400 == 0?"闰年":"平年";
Console.WriteLine(isYear);
Console.ReadKey();

第二种方法

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
Console.WriteLine("{0}年是闰年", year);
}
else
{
Console.WriteLine("{0}是平年", year);
}

Console.ReadKey();

运算符分类:
a 一元运算符
b 二元运算符
c 三元运算符

4、类型转换
数值类型之间:
隐式转换(自动转换):类型兼容 目标类型大于源类型 (范围)从小的转成大的(转换不会失败也不会丢失精度)

显式转换(强制转换):可能失败,也有可能损失精度
强制转换的语法:
(目标类型)表达式;


字符串类型转换成其他类型-->XXX.Parse(string); XXX---类型
想要得到的数据类型.Parse()
例:
string str="1";
int i=int.Parse(str);
double i=double.Parse();
float i=float.Parse();

其他类型转换成字符串类型:-->XXX.ToString(); XXX---(表达式、值、变量名)
变量名.ToString();

任意类型转换
常用的Convert方法:
int i=Convert.ToInt32(15.22);(类似于四舍五入)
float f=Convert.ToSingle();
double d=Convert.ToDouble();
bool b=Convert.Boolean();

 

总结:

1.变量
数据类型 变量名=值

使用变量的时候必须先赋值
赋的值和变量的数据类型匹配 int i=2;double d=2.5;

变量的命名规则和规范

2.数据类型
数值 非数值
数值:整形 非整形
整形:styte byte short ushort int uint long ulong
非整形:float double decimal
非数值:char string bool

3.运算符
一元、二元、三元

算数运算符
比较运算符
条件运算符
赋值运算符
快捷运算符

优先级别:()>一元运算符(! ++ --)>算数运算符(*/%>+-)比较运算符(>、<、>=、<=优先于==、!=)>逻辑运算符(&&、||)>赋值和快捷运算符

4.类型转换
数值类型之间
隐式转换:(自动转换)double d=20;
显式转换:(强制转换)int i=(int)d;double d1=(double)i;

字符串<---->其它类型
XXX.Parse(string) string:必须是目标类型的有效表示格式 XXX:类型
XXX,ToString(); XXX:变量、表达式、值
Convert.ToInt();

作业:
1.温度转换器
华氏度=(摄氏度-32)*5/9,要求输入日期、摄氏度,输出"今天是***,温度是***华氏度";
double f=9.0/5*C+32

代码:
Console.Title = "温度转换器";
Console.WriteLine("欢迎使用温度转换器!");
Console.WriteLine("请输入今天的温度(摄氏度)");
double s = Convert.ToDouble(Console.ReadLine());
double f = 9.00 / 5 * s + 32;
Console.WriteLine("今天是:{0}\n今天的温度是{1}华氏度", DateTime.Now.Date, f);
Console.ReadKey();

2.分解整数
接收键盘输入的一个4位整数,分别输出个位、十位、百位、千位。
如:1234 分别输出 个位:4 十位:3 百位:2 千位:1
除10变成最低位取余

代码: Console.WriteLine("请输入一个四位数的整数!");
int number=Convert.ToInt32(Console.ReadLine());
int nb1=number%10;//个位
int nb2 = number / 10 % 10;//十位
int nb3 = number/100%10;//百位
int nb4 = number/1000;//千位
Console.WriteLine("个位数是{0},十位数是{1},百位数是{2},千位数是{3}", nb1, nb2,nb3,nb4);
Console.ReadKey();

 

002.变量、类型转换、运算符