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. 屏幕抓取程序 (位图DDB的例子)

    屏幕抓取程序的意思是将整个屏幕图显示在应用程序的用户区中,等价于截图.对桌面窗口的操作:首先得知道桌面窗口的宽和高,获取宽和高需要利用窗口的设备句柄,而获取设备句柄需要知道窗口句柄,这一系列的连串关系 ...

  2. Git和SourceTree配合使用

    Git介绍 git是当今最强大的本地的分布式代码版本管理工具. git的核心概念与操作:开发环境,本地仓库,远程仓库.他们的关系如下图: 与CVS及SVN的比较: CVS及SVN都是集中式的版本控制系 ...

  3. MCU_头文件编写

    头文件中一般放一些重复使用的代码,如:常量.变量.宏等的定义,函数的声明.当使用#include语句引用头头文件时,相当于将头文件中的内容复制到#include处. 头文件一般形式: #ifndef  ...

  4. MySQL表名大小写设置

    1 简介    在MySQL中,数据库对应数据目录中的目录.数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,取决于存储引擎).因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小 ...

  5. 如何实现php手机短信验证功能

    http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677 下载php源代码 现在网站在建设网 ...

  6. Android-Java-死锁

    死锁:程序不往下执行了,程序又没有结束,就一直卡在哪里: 在使用synchronized的时候要避免死锁,synchronized嵌套就可能会引发死锁,需要严格的检查代码,排除死锁发生的可能: 特意演 ...

  7. OS基础:动态链接库(二)

    1.vc6.0新建工程MFC AppWizard[dll]工程 命名LptMfcDll1 2.在lptMfcDll1.h添加函数名声明 添加的代码: //lptAddBegin void lptMfc ...

  8. 个人作业四--Alpha阶段个人总结

    一.个人总结 在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 请用自我评价表:http://www.cnblogs.com/xinz/p/3852177.html 有 ...

  9. BAE上部署Ghost 0.5.1注意事项

    BAE上部署Ghost可参考基本安装上述安装使用的是ghost0.4.7版本 在ghost 0.5 中为了解决测试时事件侦听器过多引发的警告,在注册single事件时,将代码由原先的 process. ...

  10. Java基础巩固——反射

    什么是反射 反射机制就是指程序运行时能够获取自身的信息.在Java中,只要给出类的名字,就可以通过反射机制来获取类的信息 哪里用的到反射机制 在jdbc中就是使用的反射来实例化对象,比如:Class. ...