/*
* 01:讲解变量
*/
// 1.单行注释
/* 2.多行注释 */
/// <summary>
/// 3.文档注释
/// </summary>
using System; // 使用System命名空间下的类库
/* 命名空间关键字namespace,作用:对代码进行分类管理,
* 语法:定义 namespace xx
* 引入:using xx
*/
namespace HelloWorld {
// class关键字是类关键字 class + 类名 {}
// mian函数是函数的主入口,每个可执行的C#文件都必须有一个Main函数,在程序启动的时候编译器会自动调用该main函数
class MainClass {
/* 一个完整的函数包含:修饰词 + 函数返回值 + 函数名(形参列表){
* 函数体
}*/
// public:公开的,公有的意思;用public修饰的函数(方法)表示该方法在任何地方都可以访问到该方法(类的外部)
/*
* static:静态的意思,用static修饰的方法称为静态方法
* 特点:表示改方法不能在类的实例上执行。如果想访问用static修饰的方法;采用的方式:类名.方法名
*/
/*
*void表示该方法没有返回值,如果有返回值,直接返回适当的类型。
*比如说,该方法返回值是1;那么返回值应该写int
*/
public static void Main (string[] args) {
// 输出函数 WriteLine函数输出完自动换行 Write函数输出完不会换行
// 输入函数 ReadLine函数可以获取用户在键盘上的输入
// 注意:获取输入的类型为字符串(string)
Console.WriteLine ("输入一个S值");
string s = Console.ReadLine ();
Console.WriteLine ("这是我刚才在终端输入的" + s);
Console.WriteLine ("Hello World!");
/* 1.变量
* 1.1变量的定义:语法格式为 类型 + 变量名 = 初始值
* 1.2预定义数据类型(15种)
* 值类型:13种
* 引用类型:2种
* 1.3值类型
* 整型-->(int,short,long,uint,ushort,ulong)
* 浮点型-->(单精度:float,双精度:double,财物精度:decimal)
* bool-->(true && false)
* char-->字符(''表示)
* 结构体(struct)
* 1.4引用类型
* object
* string
* 1.4.1 值类型存储与堆栈,引用类型存储与托管堆
* 1.5变量的声明(先声明后初始化)
* 变量必须被初始化
* 1.6变量命名规则
* a变量必须先声明后使用
* b变量必须遵循命名规则
* 变量必须以字母;_或者@符号开头,不能以数字开头
* c在同一个作用域不能重读定义变量
* d变量应该以驼峰法命名规则
* e变量应该见名知意
* int intNumOne = 0;匈牙利命名法
* 1.7同一条语句可以声明多个变量(变量的类型必须一样)
* int x1,x2,x3 = 0;(用逗号隔开)
* int x5,bool b1;这一行声明了两个不同的变量,所以这句就是错的
*/
/*
*2.变量的作用域(变量起作用的区域)
*3.变量——>可以改变的量
* 常量——>不可以改变的量(关键字const)
* const int a = 100;
* 常见的值类型
* short --> system.int16
* int --> system.int32
* long --> system.int64
* ushort --> system.int16
* uint --> system.int32
* ulong --> system.int64
* 浮点类型
* float --> system.Single
* doubel --> system.double
* 布尔类型
* bool --> system.boolean
* 字符类型
* char --> system.char
*/
int hp; // 表示英雄的血量
hp = 100;
Console.WriteLine (hp);
// 1.同类型运算后还是之前的类型
int a = 10;
int b = 20;
var sum = a + b; // sum的类型为system.int32
Console.WriteLine (sum);
// 2.低精度 + 高精度 = 高精度
int a1 = 10;
float f = 10.2f;
var sum1 = a1 + f;
Console.WriteLine (sum1);
// 3.低精度转高精度(隐式转换)
int a2 = 10;
float f1 = a2;
Console.WriteLine (f1);
// 4.高精度转低精度(强制转换),会丢失数据精度
float f2 = 10.88f;
int a3 = (int)f2;
Console.WriteLine (a3);
// 第一种转换方法,将字符串转换成值类型
string s1 = "1024";
int a4 = int.Parse(s);
Console.WriteLine (a4);
// 第二种转换方法
int a5 = Convert.ToInt32(s1);
Console.WriteLine (a5);
// 以上两种转换方法都属于不安全的转换
// 5.运算符(+,-,*,/,%,++,--)
// ++:1.先自加(++a 先自加再进行运算) 2.后自加(a++ 先参与运算后再自加)
int a6 = 10;
Console.WriteLine (++a6);
int a7 = 10;
Console.WriteLine (a7++);
/*课堂练习一
从键盘上取两个值参与四则运算
int intNum = 0;
int intNum2 = 0;
Console.WriteLine ("请输入两个数:");
intNum = int.Parse (Console.ReadLine());
intNum2 = int.Parse (Console.ReadLine());
Console.WriteLine ("你输入的两个数为{0},{1}",intNum,intNum2);
Console.WriteLine ("和值为:{0}", intNum + intNum2);
*/
/*练习二
int a = 3;
a += a -= a *= a;
Console.WriteLine(a); // a = -3
*/
/* 练习三
int i = 1;
Console.WriteLine ((++i) + (++i) + (i++)); // 2 + 3 + 3 = 8
Console.WriteLine ((++i) + (i++) + (++i)); // 5 + 5 + 7 = 17
*/
/*
// 三大运算符(算术运算符,关系运算符,逻辑运算符)
// 关系运算符 > >= != < <= ==
int a = 10;
int b = 9;
Console.WriteLine ("a>b:{0}", a > b); // T
Console.WriteLine ("a>b:{0}", a >= b); // T
Console.WriteLine ("a>b:{0}", a != b); // T
Console.WriteLine ("a>b:{0}", a < b); // F
Console.WriteLine ("a>b:{0}", a <= b); // F
Console.WriteLine ("a>b:{0}", a == b); // F
*/
/*
// 逻辑运算符(&&逻辑与,||逻辑或,!逻辑非)
// 逻辑与(全真为真,一假则假)
int a = 10;
int b = 9;
Console.WriteLine (a < 9 && b == 9); //T
// 逻辑或(一真为真,全假为假)
int a = 10;
int b = 9;
Console.WriteLine (a < 9 && b == 9); //T
// 逻辑非(取反)
int a = 10;
Console.WriteLine (a > 9); // T
Console.WriteLine (!(a > 9)); // F
*/
/*
int a = 10;
int sum = 0;
sum += a; // sum = sum +a;
*/
/*
小括号提升优先级()
运算法则:先算* / %后算+ - ;“=”的优先级是最低的
一般来看表达式都是从右向左进行计算。表达式才会是从左向右计算
*/
/*
三目运算符(?:)
表达式?值一:值二
如果表达式成立的话返回 值一;不成立返回 值二
int a = 0;
a = 10 > 9 ? 10 :9;
Console.WriteLine(a); // a = 10
*/
// string.Format()
}
}
}
C#中的变量和常量;运算符
最新推荐文章于 2021-08-16 07:07:53 发布