using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace P01Review
{
class Program
{
//全局变量如果没有初始化也没有复制,那么编译器会给它默认值:
// 数值类型默认值:0
// bool 默认值:false
// string 默认值:null //1.2全局变量(类的成员变量)
static int count; static void Main(string[] args)
{
Switch();//调用方法
Console.ReadLine();
} static void Switch()
{
//1.根据 用户 输入的狗的类型,显示不同狗的价格
Console.WriteLine("请输入您喜欢的狗狗的类型:");
string strDogType = Console.ReadLine();
decimal price = 0m; //if (strDogType == "苏格兰牧羊犬")
//{
// price = 3000m;
//}
//else if (strDogType == "德国牧羊犬")
//{
// price = 5000m;
//}
//else if (strDogType == "萨摩耶")
//{
// price = 4000m;
//}
//else
//{
// price = 0m;
//} //switch语法 主要用来 判断 一个变量的值!
switch (strDogType)
{
//可以让 多个 case 条件 共享同一段代码~~~
case "苏格兰牧羊犬":
case "德国牧羊犬":
{
price = 3000m;
break;
}
case "萨摩耶":
{
price = 4000m;
break;
}
default://默认操作,相当于 if else 里的 else
{
price = 0m;
break;
}
}
//case 是一个独立的作用域,作用域中 创建的变量,在外部访问不到!
//Console.WriteLine(a);//访问不到 //int numCount =12;
//switch (numCount)
//{
// //错误:因为 case 后 是跟 一个 值! 用来 和 传入switch的numCount进行 判等比较;
// // 如此出 ,非要写一个 numCount>0 的表达式,那么 case 就会运行 表达式,并 把表达式 的 结果 拿来和 switch的变量 numCount 进行 判等比较
// // 【所以,简单的说,就是 switch case 不是用来 进行 范围比较的,而是用来 做 判等比较的!】
// //case numCount > 0:
// //break;
//} //swich中 可以传递的参数类型有: string字符串 ,数值, char字符,bool
#region swich中 可以传递的参数类型
bool isFinished = true;
switch (isFinished)
{
case true:
break;
case false:
break;
} int num = 110;
switch (num)
{
case 1:
break;
case 2:
break;
default:
break;
} char chr = '好';
switch (chr)
{
case '好':
break;
case '爱':
break;
case '你':
break;
case '信':
break;
}
#endregion Console.WriteLine("您选择的犬种为" + strDogType + ",价格:" + price);
} #region 10.0 逻辑判断 if...else if...else
/// <summary>
/// 10.0 逻辑判断 if...else if...else
/// </summary>
static void IfElse()
{
Console.WriteLine("请输入您最喜欢老师的名字:");
string strName = Console.ReadLine();
/*如果满足 if条件,则只执行 if里的代码
if (strName == "苍老师")//如果
{
Console.WriteLine("讨厌~~~");
}
else//否则:如果没有满足 if条件,则执行 else里的代码
{
Console.WriteLine("太讨厌了~~!你怎么能不像小林老师一样 最喜欢苍老师呢?");
}*/ //2.if..else if ..else 一种多个条件的判断逻辑,其中任意个判断成立的话,后面的判断都不需要 执行了!
if (strName == "苍老师")
{
Console.WriteLine("禽兽~~~");
}
else if (strName == "波老师")
{
Console.WriteLine("禽兽中的禽兽~~~");
}
else if (strName == "龙泽老师")
{
Console.WriteLine("禽兽中的禽兽中的战斗机~~~");
}
else {
Console.WriteLine("不认识~~~~~~~");
}
}
#endregion #region A.课堂练习 void ClassEx()
/// <summary>
/// A.课堂练习
/// </summary>
static void ClassEx()
{
//1.接收 学员的分数 和 名字
Console.WriteLine("请输入您的名字:");
string strName = Console.ReadLine(); Console.WriteLine("请输入您的分数:");
int intScore = Convert.ToInt32(Console.ReadLine()); string strScore = "E";
//if = 如果 , else = 否则 ,else if = 否则 如果 if (intScore <= 60)
{
strScore = "E";
}
else if (intScore > 60 && intScore <=70)
{
strScore = "D";
}
else if (intScore > 70 && intScore <= 80)
{
strScore = "C";
}
else if (intScore > 80 && intScore <= 90)
{
strScore = "B";
}
else if (intScore > 90)
{
strScore = "A";
} string strMsg = string.Format("恭喜您【{0}】,分数为:{1}", strName, strScore);
Console.WriteLine(strMsg); }
#endregion #region 9.0 数值之间的 运算 void NumOperator()
/// <summary>
/// 9.0 数值之间的 运算
/// </summary>
static void NumOperator()
{
//两个 不同类型的 数值 进行运算,会自动 把低位的数值 转成 与其进行运算 的 高位 数值类型
int num = (int)(11 / 11.2); double num2 = 11 / 11.2;//运算时,11 会自动由int转成 double 然后再与 11.2进行运算,两个double运算的结果 还是 double // % 取模/求余
int res = 12 % 5; //2
int res1 = 23 % 2;//1 }
#endregion #region 8.0 字符串的连接 Format方法 -void StrContact()
/// <summary>
/// 8.0 字符串的连接 Format方法
/// </summary>
static void StrContact()
{
string strMsg0 = "Hi~~";
string strName = "小白";
string strShowLove = "I Love U~~~~";
string strMsg3 = strMsg0 + strName + strShowLove; //Console.WriteLine(strMsg + strMsg2);
Console.WriteLine(strMsg3); //1.0 拼接 字符串
string strMsg4 = "哈哈哈~~~" + strName + ",哈哈哈哈~~~" + strShowLove + "有病~~!";
//2.0 另一种拼接字符串的方式:string.Format方法
string strMsg5 = string.Format("哈 {1} 哈哈~~~{0},哈哈哈哈~~~有病~!{0}", strName, strShowLove);
Console.WriteLine(strMsg5); string strMsg6 = string.Format("{0} * {1} = {2}", 2, 50, 100);
Console.WriteLine(strMsg6); }
#endregion #region 7.0 数据转型(值类型的数据转型)
/// <summary>
/// 7.0 数据转型(值类型的数据转型)
/// </summary>
static void ConvertType()
{
//1.0 值类型:int/float/double/bool/decimal //2.将字符串转成 对应 值类型
Console.WriteLine("请输入一个整型:");
string strInt = Console.ReadLine();
int numInt = int.Parse(strInt);
int numInt2 = Convert.ToInt32(strInt); Console.WriteLine("请输入一个浮点型:");
string strFloat = Console.ReadLine(); float numFloat = float.Parse(strFloat);//11.1
float numFloat2 = Convert.ToSingle(strInt); Console.WriteLine("请输入一个双精度浮点型:");
string strDouble = Console.ReadLine();
double numDouble = double.Parse(strDouble);//11.1
double numDouble2 = Convert.ToDouble(strDouble); Console.WriteLine("请输入一个bool型:");
string strBoole = Console.ReadLine();
bool boolRes = bool.Parse(strBoole);
bool boolRes2 = Convert.ToBoolean(strBoole); float ss = 11.1f;
decimal de = 11.1m;
double dd = 11.1; }
#endregion #region 6.0 总结 Console的知识点 void ConsolePoint()
/// <summary>
/// 6.0 总结 Console的知识点
/// </summary>
static void ConsolePoint()
{
Console.Write("哈哈哈\n");//相当于 Console.WriteLine("哈哈哈");
}
#endregion #region 5.1 购买道具 void BuyAKnife()
/// <summary>
/// 5.1 购买道具
/// </summary>
static void BuyAKnife()
{
Console.WriteLine("欢迎光临【新疆刀具店】");
Console.WriteLine("1-西瓜刀(50); 2-东洋刀(200); 3-杀猪刀(300)");
//1.接收用户要购买的 刀具名称
string strDaoName = Console.ReadLine();//接收用户的输入
//2.接收用户要购买的 数量
Console.Write("请输入您要购买的数量:");
string strNum = Console.ReadLine();
//2.1将接收到的 【数值字符串】 转成 整型 变量
int num = int.Parse(strNum);
//3.根据刀具的类型名称,结合 购买数量 计算总价
int price = 0;//总价格
if (strDaoName == "西瓜刀")
{
price = 50 * num;
}
if (strDaoName == "东洋刀")
{
price = 200 * num;
}
if (strDaoName == "杀猪刀")
{
price = 300 * num;
}
//4.如果购买的数量 超过了 10 把,那么总价 打8折;超过30把,总价 打6折;
if (num > 10 && num <= 30)//当要判断多个条件满足时,可以使用 && 符号 来连接多个表达式, 10< x <=30
{
//50 * 0.8 -> 整数和浮点数进行运算的结果 还是浮点数 = 40.0
price = (int)(price * 0.8);//所以,此处 需要 将 运算的double类型的结果 转成 int类型,然后 设置给 int类型的 price 变量
}
if (num > 30)
{
price = (int)(price * 0.6);
}
Console.WriteLine("您要购买" + num + "把【" + strDaoName + "】成功,总价格【" + price + "】~~");
}
#endregion #region 5.0 购买玩具 void GetUserInput()
/// <summary>
/// 5.0 购买玩具
/// </summary>
static void GetUserInput()
{
//1.买 玩具
//1.1展示玩具
string toyNames = "1.玩具狗(20元/个);2.玩具熊(80元/个);3.遥控飞机(200元/个);";
Console.WriteLine("请选择您喜欢的玩具:" + toyNames);
//1.2接收用户 想购买的 玩具名称
//调用 Console.ReadLine() 方法,此方法 会【返回】用户在控制台输入的 字符串
string strUsrToyName = Console.ReadLine();//接收用户输入的一行字符串,并存入 字符串变量 strUserChoose //a.询问用户购买数量
Console.Write("请问您要购买的数量是:");
//a1.接收用户输入的 数量-【数值 字符串】
string strCount = Console.ReadLine();
//a2.将 【数值 字符串】 转成 【数值】,并存入 整型 变量中
int count = int.Parse(strCount);//int.Parse方法 专门用来 将 【数值字符串】 转成 【整型】 //b.并根据 数量 和 不同玩具的价格 显示总价
//b0.总价格
int price = 0;
//b1.如果 用户购买的 是 玩具狗,那么 就用玩具狗的价格 20 * 购买数量
if (strUsrToyName == "玩具狗")//如果满足if的条件,就会执行 if大括号里的代码;如果不满足,就跳过if的大括号
{
price = 20 * count;//根据 购买数量 计算 总价格
}
//b2.如果 用户购买的 是 玩具熊,那么 就用 玩具熊 的价格 80 * 购买数量
if (strUsrToyName == "玩具熊")
{
price = 80 * count;//根据 购买数量 计算 总价格
}
//b3.如果 用户购买的 是 遥控飞机,那么 就用 遥控飞机 的价格 200 * 购买数量
if (strUsrToyName == "遥控飞机")
{
price = 200 * count;//根据 购买数量 计算 总价格
} //1.3将玩具交给用户
//Console.Write("恭喜您,成功购买了:");
//Console.WriteLine(strUserChoose);
//注意:字符串之间使用 + ,起到的连接作用:结果会生成一个新的字符串
string strMsg = "恭喜您,成功购买了:" + count + "个【" + strUsrToyName + "】,总价:" + price;
Console.Write(strMsg); }
#endregion #region 4.0 命名规范 void NamedRules()
/// <summary>
/// 4.0 命名规范
/// </summary>
static void NamedRules()
{
////1.关于变量 的初始化
////1.1 局部变量:定义在函数中的变量,一定要给值
//int a = 1;
////a = 1;
//Console.WriteLine(a);
//Console.WriteLine(count); //-------------命名规范-如果不符合,编译器会报错!-----------------
//1.Rule01:命名规范-首字母必须是 英文字母 或 下划线,可以使用 中文--但是,强烈不推荐使用!会被歧视!
string name = "小白";
//string 姓名 = ""; //-------------命名规则:程序员之间共同遵守的约定,但是编译器不在乎!-----------------
//2.Rule02:要有意义,通过变量名称就能看出 变量里存的是什么值
//3.Rule03:当存在多个 单词的时候,首字母小写,其它单词的首字母大写!
string xueXiaoMing = "";
//4.Rule04:如果是【全局变量】,则一般以 _开头,如:int _age =1;
}
#endregion #region 3.0 一次性定义多个变量 void DeclareManyVar()
/// <summary>
/// 3.0 一次性定义多个变量
/// </summary>
static void DeclareManyVar()
{
string strName = "小林林";
int age = 18;
bool sex = false;//一般使用bool值来保存性别:男-true,女-false //一次性声明多个变量:类型必须一致! -不推荐使用
string strName2 = "周林林", strName3 = "胡凌浩", strName4 = "江佳恒", strName5 = "伍湖", strName6 = "张扬波";
}
#endregion #region 2.0 局部变量和全局变量
static void Hello()
{
//2.局部变量 只能在方法内部使用,并有效;出了方法,就访问不到了!
int a = 11;
//int a = 123; 变量名,不能与 【其它】 变量相同:当前方法里的【其它】, //3.当局部变量和全局变量 同名时,编译器允许通过,但是具体访问到的,优先访问 局部变量
int count = 12;
//如果 方法 和 类中 有同名的 变量,那么 方法里的代码 会使用 方法中的 变量(就近原则)
Console.WriteLine(count);
} #endregion
}
}

  

C#基础篇三流程控制1的更多相关文章

  1. python 学习之 基础篇三 流程控制

    前言: 一. python中有严格的格式缩进,因为其在语法中摒弃了“{}”来包含代码块,使用严格的缩进来体现代码层次所以在编写代码的时候项目组要严格的统一器缩进语法,一个tab按键设置为四个空格来缩进 ...

  2. C#基础篇三流程控制2

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace P01R ...

  3. shell重温---基础篇(流程控制&if判断&for&while&循环操作)

        和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search( ...

  4. PHP丨PHP基础知识之流程控制WHILE循环「理论篇」

    昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...

  5. 李洪强iOS开发Swift篇—06_流程控制

    李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...

  6. Java基础语法(4)-流程控制

    title: Java基础语法(4)-流程控制 blog: CSDN data: Java学习路线及视频 1.程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定 ...

  7. Java基础语法与流程控制

    Java基础语法与流程控制 跟着狂神学Java的第二天O(∩_∩)O~,养成一个总结的习惯 志同道合的小伙伴可以一起学习狂神的视频 本节地址:https://www.kuangstudy.com/co ...

  8. Java基础语法02——流程控制

    流程控制:顺序结构.分支结构(if-else.switch-case).循环结构(for.while.do-while)

  9. Swift中文教程(三)--流程控制

    原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...

随机推荐

  1. ubuntu-server-12.04.2安装配置jdk

    原文链接:http://blog.csdn.net/amymengfan/article/details/9958461 我选择的是离线安装,这需要先下载好jdk安装包(下载地址:http://www ...

  2. How to temporally disable IDE tools (load manually)

    It is possible to prevent the IDE Tools from being loaded automatically when starting Visual Studio. ...

  3. 在window平台下,自己DIY编译OpenSSL,Libcurl ,来支持HTTPS传输协议

    1 缘起 原来就了解些libcurl,一直没有机会在项目实际使用libcurl.   恰好最近一个云存储的项目,服务器使用openstack 恰好我负责现在的一个云存储SDK c++版本的开发中. 与 ...

  4. poj 2676 如何填满九宫格

    Sudoku Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java class ...

  5. FormatSQL

    核心提示:在一些论坛,常看到有人拼接SQL的时候,喜欢直接硬拼,结果就是出现一大堆加号和单引号,不仅写起来麻烦(你得小心该连续写多少个单引号),SQL的可读性也相当差....稍微好一点的方法是,使用Q ...

  6. Android-Java静态代码块&局部代码块

    静态代码块: 静态代码块什么时候执行,是由当前类被加载进内存的时候,什么时候当前类被加载进内存? 答:例如 描述好了Student对象,当 new Student(); 的时候,第一步:是把Stude ...

  7. Android-Kotlin-空值处理&字符串比较&常量

    空值处理: [案例一:] 1.Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过: 描述Car汽车对象: package cn.kotlin.kotlin_base01 /** * ...

  8. acdream 20140730 D题

    今天见识到了“数学上来先打表”............ #include<iostream> using namespace std; #include<iomanip> #d ...

  9. petapoco 新手上路

    PetaPoco是一个轻量级ORM框架 用法可参考http://www.toptensoftware.com/petapoco/  https://github.com/CollaboratingPl ...

  10. JS学习笔记6_事件

    1.事件冒泡 由内而外的事件传播(从屏幕里飞出来一支箭的感觉) 2.事件捕获 由表及里的事件传播(力透纸背的感觉) 3.DOM事件流(DOM2级) 事件捕获阶段 -> 处于目标阶段 -> ...