///
/// 01:讲解变量
///
using System;
// 使用System命名空间下的类库
namespace HelloWorld // 命名空间关键字namespace,作用:对代码文件进行分类管理.
//语法:定义 namespace xx
//引入:using xx
{
class MainClass // class类关键字 class + classname + {}
{
// main函数:函数主入口,每个可执行的C#文件必须有一个main函数.
// 程序启动的时候编译器会自动调用该main函数.
// 一个完整的函数:public static 修饰词 + 返回值 +函数名{形参列表}
//{
//函数体
//}
// public:用public修饰的方法可以被外界访问
// static:用static修饰的方法是静态方法,不能在类的实例上执行,访问采用类名.方法名
// void:返回类型为空
public static void Main (string[] args)
{
// WriteLine 自动换行
// Write 不换行
Console.WriteLine (“Hello World!”);
// ReadLine 函数可以获取用户在键盘上的输入
// 注意:获取输入的类型为字符串(string)
string str = Console.ReadLine ();
Console.WriteLine (str);
Console.BackgroundColor
// 1.变量
// 1.1 变量的定义:语法格式 类型 + 变量名 + ;
// 1.2 预定义数据类型(15种)
// 值类型(13种)
// 引用类型(2种)
// 1.3 值类型
// 整型-->(int,short,long,uint,ulong)
// 浮点型-->(float单精度,double双精度,decimal(财务精度))
// bool-->true && false 没有0和1的概念
// char-->字符 ''表示
// 结构体 struct
// 1.4 引用类型
// object
// string
// 值类型存储于堆栈,引用类型存储于托管堆
int a = 4;
int b = a;
Console.WriteLine (a);
a = 9;
Console.WriteLine (b);
// 1.5变量的声明(先声明后初始化,)
int hp;//表示英雄的血量
hp = 100; // 变量必须初始化
Console.WriteLine (hp);
// 1.6变量的命名规则
// 1.变量必须先声明后使用
// 2.变量必须遵循命名规则
// 2.1 变量必须以字母或者下划线,不能以数字开头
// 3.在同一个作用域内不能重定义变量
// 4.变量应该以驼峰发命名规则
// 5.变量应该见名知意
// float shopPrice; // 驼峰
//
// int intNumOne = 0; // 匈牙利命名法
// // 同一条语句可以声明多个变量
// int x1, x2 = 4;
// Console.Write (x2);
//
// // 编译器自动推导
// var v = “你好”;
// var v1 = 12;
// var v2 = true;
Type nameType = v.GetType ();
Console.WriteLine (nameType);
//2. 变量的作用域
// 作用域冲突的例子
// int j =0;
// for(int i=0;i<5;i++)
// int j=20;
// 3.常量(关键字const)
// const int con = 100;
// con = 1000;
// short --> int16
// int --> int32
// long --> int64
//float --> system.Single
//double --> system.Double
//bool --> system.Boolean
//char --> system.Char
// int a1 = 10;
// int b1 = 10;
// var sum = a + b;// sum的类型为 system.int32
// 2.精度低+精度高的运算
// int a2 =10;
// float f = 10.2f;
// var sum1 = a+f;
// 3.低精度转高精度(隐式转换)
// int c = 10;
// float f1 = c;
// // 4. 高精度转低精度(强制转换,丢失数据精度)
// float f2 = 10.88f;
// int a3 = (int)f;
//第一种转换方法,
// string s = “1024”;
// int a4 = int.Parse (s);
// Console.WriteLine (a4);
// 第二种转换方法
// Convert.ToInt32(s);
// Console.WriteLine(s);
// 以上两种转换方式都属于不安全的转换
//4.运算符(+ - * / ++ -- %)
// int a = 10;
Console.WriteLine (++a)
Console.WriteLine (a++)
// 课堂联系1:
// 从键盘上获取两个数,做四则运算
int num1, num2;
// num1 = Convert.ToInt32 (Console.ReadLine ());
// num2 = Convert.ToInt32 (Console.ReadLine ());
num1 = int.Parse(Console.ReadLine());
num2 = int.Parse(Console.ReadLine());
// 占位符
Console.WriteLine (“{0}{1}={2}”, num1, num2, num1 num2);
Console.WriteLine (“{0}+{1}={2}”, num1, num2, num1 + num2);
Console.WriteLine (“{0}-{1}={2}”, num1, num2, num1 - num2);
Console.WriteLine (“{0}/{1}={2}”, num1, num2, (float)num1 / num2);
//a += a -= a *= a;
//a = a*a=9 a = 3-9 = -6 a = 3-6 = -3
// 三大运算符 (算术运算符/关系运算符/逻辑运算符)
// 关系运算符 > >= != < <= ==
int a1 = 10;
int b1 = 9;
Console.WriteLine (“a>b:{0}”, a1 > b1);
// 逻辑运算符 ||逻辑或 &&逻辑与 !逻辑非
// 优先级:
// ()优先级最高
// 先算* / % 再算 + -
// = 优先级最低
// 一般来看表达式都是从右向左计算
// 唯一一个从左->右计算的是,表达式
// 三目运算符
// 表达式?值1:值2;
}
}
}