C#变量与常量
2020-12-24 23:27
标签:应该 好的 world first 现在 习惯 数值 大致 sha 一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。 我们已经讨论了各种数据类型。C# 中提供的基本的值类型大致可以分为以下几类: C# 允许定义其他值类型的变量,比如 enum,也允许定义引用类型变量,比如 class。 C# 中变量定义的语法: 在这里,data_type 必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。variable_list 可以由一个或多个用逗号分隔的标识符名称组成。 一些有效的变量定义如下所示: 可以在变量定义时进行初始化: 变量通过在等号后跟一个常量表达式进行初始化(赋值)。初始化的一般形式为: 变量可以在声明时被初始化(指定一个初始值)。初始化由一个等号后跟一个常量表达式组成,如下所示: 一些实例: 正确地初始化变量是一个良好的编程习惯,否则有时程序会产生意想不到的结果。 System 命名空间中的 Console 类提供了一个函数 ReadLine(),用于接收来自用户的输入,并把它存储到一个变量中。 例如: 函数 Convert.ToInt32() 把用户输入的数据转换为 int 数据类型,因为 Console.ReadLine() 只接受字符串格式的数据。 C# 中的两种表达式: lvalue:lvalue 表达式可以出现在赋值语句的左边或右边。 rvalue:rvalue 表达式可以出现在赋值语句的右边,不能出现在赋值语句的左边。 变量是 lvalue 的,所以可以出现在赋值语句的左边。数值是 rvalue 的,因此不能被赋值,不能出现在赋值语句的左边。下面是一个有效的语句: 下面是一个无效的语句,会产生编译时错误: 常量是固定值,程序执行期间不会改变。常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。 常量可以被当作常规的变量,只是它们的值在定义后不能被修改。 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。 整数常量也可以有后缀,可以是 U 和 L 的组合,其中,U 和 L 分别表示 unsigned 和 long。后缀可以是大写或者小写,多个后缀以任意顺序进行组合。 这里有一些整数常量的实例: 以下是各种类型的整数常量的实例: 一个浮点常量是由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。 这里有一些浮点常量的实例: 使用小数形式表示时,必须包含小数点、指数或同时包含两者。使用指数形式表示时,必须包含整数部分、小数部分或同时包含两者。有符号的指数是用 e 或 E 表示的。 字符常量是括在单引号里,例如,‘x‘,且可存储在一个简单的字符类型变量中。一个字符常量可以是一个普通字符(例如 ‘x‘)、一个转义序列(例如 ‘\t‘)或者一个通用字符(例如 ‘\u02C0‘)。 在 C# 中有一些特定的字符,当它们的前面带有反斜杠时有特殊的意义,可用于表示换行符(\n)或制表符 tab(\t)。在这里,列出一些转义序列码: 以下是一些转义序列字符的实例: 当上面的代码被编译和执行时,它会产生下列结果: 字符串常量是括在双引号 "" 里,或者是括在 @"" 里。字符串常量包含的字符与字符常量相似,可以是:普通字符、转义序列和通用字符 使用字符串常量时,可以把一个很长的行拆成多个行,可以使用空格分隔各个部分。 这里是一些字符串常量的实例。下面所列的各种形式表示相同的字符串。 常量是使用 const 关键字来定义的 。定义一个常量的语法如下: 下面的代码演示了如何在程序中定义和使用常量: 当上面的代码被编译和执行时,它会产生下列结果: 自己记录的时候就发现自己脑子里什么都没有,光看教程觉得有些繁琐 简单的就归纳为一个可以变化和一个不可以变化的量了 还是借(抄)鉴爽 想深入了解一些概念又看不懂,只好抄一些浅显一点的内容混日子这样子 C#变量与常量 标签:应该 好的 world first 现在 习惯 数值 大致 sha 原文地址:https://www.cnblogs.com/xqher/p/13403022.htmlC# 变量
类型
举例
整数类型
sbyte、byte、short、ushort、int、uint、long、ulong 和 char
浮点型
float 和 double
十进制类型
decimal
布尔类型
true 或 false 值,指定的值
空类型
可为空值的数据类型
bool valBool = true;//默认false
byte valByte = 128;//默认0 无符号八位整数 范围0 到 255 跟java中-128~127不同 不过总数也是2的8次方 sbyte的范围就与java的byte相符
decimal valDecimal = 6.6m;//128 位精确的十进制值,28-29 有效位数 (-7.9 x 1028 到 7.9 x 1028) / 100 到 28 0.0M 用来储存金钱 大概类似java的BigDecimal类?是基本类型的话应该效率比较高
sbyte valSByte = -128;//有符号八位整数 -128~127 sbyte=signed byte
uint valUInt = 233;//确保是正整数时才用uint声明 uint= unsigned int 无符号32位整数
float valFloat=6.18f;
var valVar = 1.1;//自动转换double string 或者float
string valString = "";
enum ENUM
{
}
class CLASS
{
}
C# 中的变量定义
int i, j, k;
char c, ch;
float f, salary;
double d;
int i = 100;
C# 中的变量初始化
variable_name = value;
int d = 3, f = 5; /* 初始化 d 和 f. */
byte z = 22; /* 初始化 z. */
double pi = 3.14159; /* 声明 Π的近似值 */
char x = ‘x‘; /* 变量 x 的值为 ‘x‘ */
接受来自用户的值
Console.WriteLine("insert two num to calculate.");
//readLine 获取用户输入(String) 再用toint32转换成int类型
int first = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"{first} and?");
int second = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"{first} + {second} ="+(first+second));
C# 中的 Lvalues 和 Rvalues
int g = 20;
10 = 20;
C# 常量
整数常量
212 /* 合法 */
215u /* 合法 */
0xFeeL /* 合法 */
078 /* 非法:8 不是一个八进制数字 */
032UU /* 非法:不能重复后缀 */
85 /* 十进制 */
0213 /* 八进制 */
0x4b /* 十六进制 */
30 /* int */
30u /* 无符号 int */
30l /* long */
30ul /* 无符号 long */
浮点常量
3.14159 /* 合法 */
314159E-5L /* 合法 */
510E /* 非法:不完全指数 */
210f /* 非法:没有小数或指数 */
.e55 /* 非法:缺少整数或小数 */
字符常量
转义序列
含义
\\
\ 字符
\‘
‘ 字符
\"
" 字符
\?
? 字符
\a
Alert 或 bell
\b
退格键(Backspace)
\f
换页符(Form feed)
\n
换行符(Newline)
\r
回车
\t
水平制表符 tab
\v
垂直制表符 tab
\ooo
一到三位的八进制数
\xhh . . .
一个或多个数字的十六进制数
namespace EscapeChar
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
Hello World
字符串常量
string a = "hello, world"; // hello, world
string b = @"hello, world"; // hello, world
string c = "hello \t world"; // hello world
string d = @"hello \t world"; // hello \t world
string e = "Joe said \"Hello\" to me"; // Joe said "Hello" to me
string f = @"Joe said ""Hello"" to me"; // Joe said "Hello" to me
string g = "\\\\server\\share\\file.txt"; // \\server\share\file.txt
string h = @"\\server\share\file.txt"; // \\server\share\file.txt
string i = "one\r\ntwo\r\nthree";
string j = @"one
two
three";
定义常量
const
实例
using System;
public class ConstTest
{
class SampleClass
{
public int x;
public int y;
public const int c1 = 5;
public const int c2 = c1 + 5;
public SampleClass(int p1, int p2)
{
x = p1;
y = p2;
}
}
static void Main()
{
SampleClass mC = new SampleClass(11, 22);
Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
Console.WriteLine("c1 = {0}, c2 = {1}",
SampleClass.c1, SampleClass.c2);
}
}
x = 11, y = 22
c1 = 5, c2 = 10