C#基础知识总结(二)
2021-06-28 10:07
标签:复杂 main ace 两种 程序 命名规则 情况下 意思 允许 摘要 第二篇主要讲:变量、连接符占位符等、转义字符、数据的计算、数据的转换、try-catch的简单熟悉、复合运算符和自加自减 一、变量 二、赋值符、连接符、占位符 2.连接符:+ 3.占位符(在字符串中使用):{0开始的数字} 三、数据的交换 四、转义字符 字符串中的转义符不再转义 五、算术 2.算术 算术运算符两边的数据类型要一致,结果类型也是一致的 不丢失数据和精度的情况才会做自动转换 六、类型的转换 2.Convert类提供了多种数据中间转换的方法,但是Convert转换 3.转换注意项 Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程 一切类型都可以转换成字符串 七、try-catch的简单熟悉 八、习题计算(熟悉算术运算符) 九、复合运算符和自加自减 2.自加 C#中一般情况下,一元运算符优先级大于二元运算符 3.复合运算符 C#基础知识总结(二) 标签:复杂 main ace 两种 程序 命名规则 情况下 意思 允许 原文地址:https://www.cnblogs.com/yezongjie/p/20181130CSharpBasicTwo.html
1.数据存储在内存中:内存叫做RAM,内存被分隔为一小格一小格的,每个小格有个地址。内存的特点是:断电后数据丢失
2.变量:变量代表着一块内存空间,我们可以通过名称向内存 存或读数据,有变量就不需要我们记忆复杂的内存地址
3.声明整数类型,并赋值:int number = 1000;
4.变量的简单类型
数据类型:
整型:sbyte,byte:1个字节(8位)
short,ushort:2个字节
int,uint:4个字节
long,ulong:8个字节
非整型:float,decimal,double…
非数据类型:char,string,bool…
5.数据类型精度:
double只有16个精度
decimal没有精度限制,但是一共可以保存29位数
decimal类型变量的声明与赋值:decimal dec = 3.4m;
6.声明变量的方式
先声明,再赋值:
int a;
a = 10;
声明并赋值:
int a = 10;
声明多个变量(多个变量名以逗号分隔,最后以分号结尾):
int a,b,c;
7.命名规则:Camel命名法
变量:开头小写,后面每个单词开头大写:studentName
方法名或者类名:开头大写,后面的每个单词开头大写:GetStudentName
1.赋值符:=
运算符有优先级
a=a+1;
a先加一,然后再赋值给自己
+在C#中有两种意义:
一种是数学上的加法算术:两边参与运算的类型都为数据类型,则为加法
另一种是连接的意思:两边参与运算的类型有一个为字符串时,则为连接
在字符串中使用
需要借助中间变量int a = 5;
int b = 10;
int temp;
temp = a;
a = b;
b = temp;
我们要在字符串中输入一些特殊的字符时,如引号,回车等,需要加上转义字符
\n:带边换行
\":代表字符串中的"
\b:backspace(删除前一个字符)
\\: \
还有很多其他的转义字符:一般是\加上其他的字符代表其他意思
注:字符串前面加@符号
字符串可以多行写
如果在加@符号的字符串中需要加字符串时,两个""代表"
1.算术运算符
二元运算符:+ - * / %
int类型和double算术类型计算,结果会转化为double
但是当运算符两边类型不同时,且类型兼容时,计算机自动做类型的转换(隐式转换)。
且计算的结果的类型,为不丢失精度的那个类型
所以decimal不能隐式转换为double,因为decimal的精度大于double
1.强制转换
程序不允许把高精度的数据类型转到低精度的数据类型
如果确实需要转换,需要用代码强制转换
格式:(目标类型)待转换的数据
如果强制转换的过程中,发生了精度丢失,不是四舍五入,而是直接丢失精度数据
不是强制转换,而是对待转换的数据进行加工
不管是隐式转换 还是 强制转换,都只能是数据之间的转换
不能在字符串和数据之间进行强制转换,只能通过Convert类来转换
1.try-catch使用方法
try
{
代码
}
catch
{
代码
}
如果try中的代码没有出现异常,则程序正常执行到try中的内容后,不会执行catch中的内容;如果try中的代码一旦出错,try中出错代码位置后面的代码都不会执行,程序立即跳到catch中去执行代码
输入一个天数,计算输入天数有几个月零几周零几天 1 class Program
2 {
3 static void Main(string[] args)
4 {
5 //输入天数,计算出有几周零几天
6 //Console.WriteLine("请输入需要计算的天数:");
7 //int days = Convert.ToInt32(Console.ReadLine());
8 //int weeks = days / 7;
9 //int day = days % 7;
10 //Console.WriteLine($"你输入的{days}包含{weeks}周零{day}天。");
11 //Console.ReadKey();
12
13 //输入天数,计算出有几个月零几周零几天
14 Console.WriteLine("请输入需要计算的天数:");
15 int days = Convert.ToInt32(Console.ReadLine());
16 int months = days / 30;
17 int weeks = ( days - 30 * months ) / 7;
18 int day = ( days - 30 * months ) % 7;
19 Console.WriteLine($"你输入的{days}包含{months}个月零{weeks}周零{day}天。");
20 Console.ReadKey();
21 }
22 }
1.运算符
一元运算符:只有一个操作数:a++,a--
二元运算符:两个操作数:a+b
三元运算符:三个操作数:a>b?a:b
a++是后加
++a是先加
int a = 3;
int b = 3;
int c = ++a * b++;
c最后为12,因为是4*3
+-*/%和=组合称之为复合运算符
如:+=,-=,*=
a=a+2;
等效于
a+=2;