c#Lesson02

using System;

namespace Lesson02
{
class MainClass
{
public static void Main (string[] args)
{

        //           // 算术运算符
        //          // 运算符
        //
        //          // 赋值运算符
        //          // = 作用: 给变量赋值
        //          //使用
        //          int num = 10;
        //          num = 1000;
        //
        //          //将一个变量的值赋值给另一个变量
        //          int num2 = num;
        //
        //          //注意: 赋值云算法两边的类型一般要求一致
        //          //          int num3 = 1.2;(不能隐式转换)
        //          //          float f = 1;(数据两边类型不同,但可以进行数据隐式转换)
        //
        //          // + 求和 - *
        //          int a = 29;
        //          int sum = 10 + 20 + a;
        //          int sum1 = sum + 10;
        //          Console.WriteLine (sum);
        //
        //          // / 
        //          // 除法两边都是整数,做整除运算,返回的是商
        //          // 除法两边有一边是浮点类型,返回的是小数
        //          // 除法运算除数不能为0 分母是除数 分子是被除数
        //          Console.WriteLine (1 / 2.0);
        //
        //          // % 取余运算符 作用: 在整除过程中,返回余数
        //          Console.WriteLine (5 % 2);
        //
        //          // ++ 自增运算符
        //          int coun = 100;
        //          //在编程中经常要进行+1操作
        //          //coun = coun + 1;
        //          //coun = coun + 1;
        //          coun += 1;
        //          coun++;
        //          ++coun;


        //          Console.WriteLine ();
        //          Console.WriteLine (coun);
        //          int count = 10;
        //          int wrap = 20;
        //          wrap = ++count;
        //          Console.WriteLine (count);
        //          Console.WriteLine (wrap);
        //

        //算术运算符
        //重点 ++ 在变量之前,返回加1之后的值
        // ++ 在变量之后,返回加1之前的值
        //
        //          int count = 0;
        //          // ++count  n = 11;count = 1;
        //          //count++: n = 10;count = 1;
        //          int n = 10 + ++count;
        //          Console.WriteLine ("n =" + n);
        //          Console.WriteLine ("count =" + count);
        //
        //          //表达式 : 常量或变量和运算符组合
        //          // 1.一个表达式,根据运算符进行某种运算或操作
        //          // 2.一个表达式,一定会返回一个结果
        ////            10 + 10 ;(是表达式)
        //          // 练习 
        //          int n1 = 100;
        //          Console.WriteLine (++n1);       
        //
        // a = 4 b = 3
        //          int a = 3;
        //          int b = 0;
        //          b = a++;
        //          Console.WriteLine (a);
        //          Console.WriteLine (b);
        //
        //          // a = 4 b = 4
        //          int aa = 3;
        //          int bb = 0;
        //          bb = ++aa;
        //          Console.WriteLine (aa);
        //          Console.WriteLine (bb);
        //
        // m = 6 k = 5
        //          int m = 5;
        //          int k = 9;
        //          k = m++;
        //          Console.WriteLine (++m);
        //          Console.WriteLine (k);
        //
        /*
        //复合运算符 
        // a = a + b;  =>  a += b; 

        //基本输入输出
        //1. 原样输出
        /*
        string s = "Hello";
        //字符串拼接

        Console.WriteLine ("Hello" + "World");
        Console.WriteLine (s + "world");
        Console.WriteLine ("true" + s);

        // 2.格式输出
        // 欢迎***,今天星期*,你今年**岁
        string name = "张三";
        string week = "四";
        int age = 18;

// Console.WriteLine ("欢迎张三,今天星期四,你今年18岁");
Console.WriteLine ("欢迎{0},今天星期{1},你今年{2}岁。现在的时间是{3}", name, week, age);
/
/

//转义字符使用
// "Hello World!"
Console.WriteLine (""Hello \n\t igkan \t \World!\"");
Console.WriteLine ("\");
Console.WriteLine ("Hello \n\tWorld!");

        //如何保留整数位和小数位
        double d = 12.36;
        Console.WriteLine ("{0:0.0}", d);
        //保留小数位
        Console.WriteLine ("{0:f5}", d);

        //百分比 p => percent
        double d1 = 0.12555;
        Console.WriteLine ("{0:p2}", d1);

        Console.Write ("11111111111");
        */

        /*
        //输入
        //从控制台输入的所有数据都是string类型
        //          string s = Console.ReadLine ();
        //          Console.WriteLine ("你刚才输入的是:{0}", s);
        Console.WriteLine ("输入姓名:");
        string name = Console.ReadLine ();
        Console.WriteLine ("输入年龄:");
        string age = Console.ReadLine ();
        Console.WriteLine ("输入性别:");
        string sex = Console.ReadLine ();

        Console.WriteLine ("姓名:{0}\n年龄:{1}\n性别:{2}", name, age, sex);
        */
        /*
        //读取一个字符,返回一个int类型
        Console.WriteLine ("请输入第一个字符:");
        int cn1 = Console.Read ();
        Console.ReadLine ();
        Console.WriteLine (cn1);

        Console.WriteLine ("请输入第二个字符:");
        int cn2 = Console.Read ();
        Console.ReadLine ();
        Console.WriteLine (cn2);
        */
        /*
        //类型转换: 显示转换(强制转换)  隐式转换
        //语句是程序执行的最小单位,以 ; 结束
        // 1. 隐式转换  小范围能转换成大范围,大范围不能转换为小范围
        //  ! 编程需要的是0错误,不能使用隐式转换
        //浮点型可以保存整型
        int n1 = 1;
        float f1 = 12.3f;
        f1 = n1;
        //long可以保存int 
        int n2 = 10;
        long l2 = 100;
        l2 = n2;

        float f3 = 1.213f;
        double d3 = 2.34;
        d3 = f3;

        //适合财务和货币的运算
        //浮点类型在计算过程中会产生误差,但是decimal不会
        //一般来说,不会判断浮点类型是否相等
        //decimal d4 = 1.23m;
        //有误差的例子如下:
        double d = 1.23f;
        Console.WriteLine (d);
        // int 可以保存 char 类型
        // 'a' 计算机存的是ascll码 n(int):4个字节 char:是2个字节
        //int n = 'a';
        float f4 = 1.2f;
        float f5 = 2.4f / 1.2f;
        Console.WriteLine (f4);
        Console.WriteLine (f5);
        if (f4 == f5) {
            Console.WriteLine ("相等");
        } else {
            Console.WriteLine ("不相等");
        }

        // 2.显示转换 或者叫 强制转换(3种形式)

        //(1)这种方法不在乎精度丢失,数值间类型的强制转换,下面这种方法并不适用于非数值间的强制转换

        // ! int n8 = (int)"123";

        float f6 = 1.23f;
        double d6 = 2.34;
        f6 = (float)d6;

        Console.WriteLine (f6);
        Console.WriteLine (d6);

        //int 是不会对小数部分进行四舍五入的,精度丢失的部分一刀切
        int n7 = 10;
        float f7 = 1.7f;
        n7 = (int)f7;
        Console.WriteLine (n7);

        // (2) Parse 专门给字符串使用的
        string str1 = "10";
        int strNum = int.Parse (str1);
        Console.WriteLine (strNum + 10);
        string str2 = "1.23";
        float strNum2 = float.Parse (str2);
        double strNum3 = double.Parse (str2);
        Console.WriteLine (strNum2 + 0.1f);
        Console.WriteLine (strNum3 + 0.1);
        string str3 = "true";
        //          bool strBool = bool.Parse (str3);
        //          Console.WriteLine (strBool);

        // (3) 使用Convert进行强制转换
        // 当 Convert无法对给定数据进行转换,就会抛出异常,异常不算错误,而是计算机不知道该怎么办了

        //          int num = 97;
        float num = 97.5f;
        float fc = Convert.ToSingle (num);
        double dc = Convert.ToDouble (num);
        string sc = Convert.ToString (num);
        char cc = Convert.ToChar (num);
        //          Console.WriteLine (cc);
        */

        //第一种   
        //          int k = 18;
        //          float j = (float)k;
        //          //第二种  注意:Parse转的是字符串类型的
        //          float u = k;
        //          //第三种
        //          float p = Convert.ToSingle (k);
        //
        //          //string str= "18"; 转换成int
        //          string str = "18";
        //
        //          //第一种
        //          int strD = Convert.ToInt32 (str);
        //          //第二种
        //          int n1 = int.Parse (str);

    }
}

}
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//
//namespace ConsoleApplication1
//{
// class Program
// {
// /// <summary>
// /// 控制台动态输出时间小程序
// /// </summary>
// /// <param name="args"></param>
// static void Main (string[] args)
// {
// Console.Title = "控制台动态显示时间小程序";
// Console.WindowHeight = 3;//控制台高度
// Console.WindowWidth = 50;//控制台宽度
// while (true) {//一个死循环
// Console.WriteLine ("当前系统时间是:{0}", DateTime.Now);
// //当前系统时间
// System.Threading.Thread.Sleep (1000);
// //当前主线程sleep
// Console.Clear ();
// //清屏
// }
// }
// }
//}

class MainClass
{
public static void Main (string[] args)
{
/*
// 关系运算符 > >= <= < == !=
//1. 操作比较两个数的大小和相等关系
//2. 返回值: true or false
//3. 数值类型可以比较大小和相等
//4. 其他类型可以比较是否相等
// bool b1 = 5 > 3;
// Console.WriteLine (b1);
// bool b2 = 5 < 3;
// Console.WriteLine (b2);
// bool b3 = 5 >= 5;
// Console.WriteLine (b3);
// bool b4 = 5 != 5;
// Console.WriteLine (b4);

    //      string s = Console.ReadLine ();
    //      int sTr = int.Parse (s);
    //      switch (sTr) {
    //      case 1:
    //          Console.WriteLine ("Igkan");
    //          break;
    //      
    //      case 2: 
    //          Console.WriteLine ("Hello");
    //          break;
    //      default:
    //          break;
    //      }
    //练习: level < 5
    //      int level = 0;
    //      bool b = level < 5;
    //      Console.WriteLine (b);

    //血量
    //      int HP = 100;
    //      bool b1 = HP > 0;
    //      Console.WriteLine (b1);

    //身高 > 1.75
    //      double height = 1.78;
    //      bool x = height > 1.75;
    //      Console.WriteLine ("{0:f2}", x);

    //字符串 "HelloKittty",不能用来比较大小
    //      string userName = "HelloKitty";
    //      bool b3 = userName != "HelloKitty";
    //      Console.WriteLine (b3);

    //思考题: 18 <= aqe < 60;
    //      int aqe = 50;
    //      bool b = Convert.ToBoolean (aqe);
    //      Console.WriteLine (b);
    //      bool a = aqe >= 18 && aqe < 60;
    //      Console.WriteLine (a);

    // 逻辑运算符 && || !
    // 逻辑与:&& 逻辑或: || 逻辑非 !
    // 操作:对 bool 值进行操作
    // 返回值 :bool

    // && : 逻辑与中的两个操作数
    // 只要有一个是false,结果就是false
    // 一假即假
    // 并且
    //      bool b1 = true && true; // true
    //      bool b2 = true && false; // false
    //      bool b3 = false && true; // false
    //      bool b4 = false && false; // false
    //
    // 一个公司招聘
    // 大于 18 岁,并且小于 60 岁
    // 大于 18 && 小于 60
    //      int age = 16;
    //      bool b5 = age > 18 && age < 60; 
    //      Console.WriteLine ("You {0} work in my company!", b5);

    // 注册用户 账号: abc 密码 : 123
    // 登录
    //      string userName = "abc";
    //      string password = "123";
    //
    //      // 登录
    //      string u = "LLL";
    //      string p = "123";
    //
    //      //用户名一致,并且密码一致
    //      bool b6 =
    //          userName == u && password == p;

    //模特 身高大于1.80,并且体重小于60
    //      Console.WriteLine ("请输入你的身高:");
    //      string s = Console.ReadLine ();
    //      double height = Convert.ToDouble (s);
    //      Console.WriteLine ("请输入你的体重:");
    //      string k = Console.ReadLine ();
    //      double weight = Convert.ToDouble (k);
    ////        double height = 1.90;
    ////        double weight = 60;
    //      int age = 24;
    //      bool b7 = height > 1.8 && weight < 60 && age < 25;
    //      if (b7) {
    //          Console.WriteLine ("OK!");
    //      }

    //      //注册
    //      Console.WriteLine ("是否要注册,是的话请按Enter");
    //      Console.WriteLine ("请输入注册账号:");
    //      string registerAccount = Console.ReadLine ();
    //      Console.WriteLine ("请输入注册密码");
    //      string registerPassword = Console.ReadLine ();
    //
    //      //登录
    //      Console.WriteLine ("请输入你的账号");
    //      string loginAccount = Console.ReadLine ();
    //      Console.WriteLine ("请输入你的密码");
    //      string loginPassword = Console.ReadLine ();
    //      bool verify = 
    //          registerAccount == loginAccount && registerPassword == loginPassword;
    //      if (verify) {
    //          Console.WriteLine ("您输入的账号密码正确,可以登录");
    //      } else {
    //          Console.WriteLine ("你输入的账号密码错误,请退出");
    //      }

    //逻辑或 ||  或者 (两者选其一)有真即真
    bool b8 = true || true; //true
    bool b9 = true || false; //true
    bool b10 = false || true; // true
    bool b11 = false || false; //false

    // 升级的条件:经验值 > 2000,或者冲1000元
    int ex = 2100;
    double money = 1000;
    bool b12 = ex >= 2000 || money >= 1000;

    //逻辑非 ! 反义
    bool b13 = !true;   // false
    bool b14 = !false;  // true

    //年龄小于 18
    int age = 18;
    bool b15 = !(age < 18);

    // 短路现象

    */

    //分支语句: 根据条件,从多段代码中选一段执行
    /*
    // if 
    // 1. 一段代码,执行还是不执行
    //if 关键字
    //(bool值) 可以是bool常量,bool变量,关系表达式
    //{代码} true 执行 false 不执行
    //      bool n = true;
    //      if (n) {
    //          Console.WriteLine ("执行");
    //      }

    // 问路
    //      Console.WriteLine ("请输入问路人的性别:");
    //      string sex = Console.ReadLine ();
    //      if (sex == "女") {
    //          Console.WriteLine ("出门左转");
    //      } else if (sex == "男") {
    //          Console.WriteLine ("出门右转");
    //      } else {
    //          Console.WriteLine ("滚");
    //      }

    // 两段代码,选择一段代码执行
    // true 执行第一段代码
    // false 执行第二段代码
    //      if (false) {
    //          Console.WriteLine ("第一段代码");
    //      } else {
    //          Console.WriteLine ("第二段代码");
    //      }

    //例子
    //      Console.WriteLine ("回家途中遇到了:");
    //      string str = Console.ReadLine ();
    //      if (str == "卖西瓜") {
    //          Console.WriteLine ("买一个包子");
    //      } else {
    //          Console.WriteLine ("买一斤包子");
    //      }

    //练习题
    //      Console.WriteLine ("输入一个年份:");
    //      string str = Console.ReadLine ();
    //      int strI = Convert.ToInt32 (str);
    //
    //第一种方法
    //      int a = strI % 400;
    //      int b = strI % 4;
    //      int c = strI % 100;
    //      if ((strI % 400) == 0) {
    //          Console.WriteLine ("{0}是闰年", strI);
    //      } else if ((strI % 4) == 0 && (strI % 100) != 0) {
    //          Console.WriteLine ("{0}是闰年", strI);
    //      } else {
    //          Console.WriteLine ("{0}不是闰年", strI);
    //      }

    //第二种方法
    //      if ((strI % 400 == 0) || ((strI % 4 == 0) && (strI % 100 != 0))) {
    //          Console.WriteLine ("闰年");
    //      }

    //第三种方法
    //      bool b1 = strI % 400 == 0;
    //      bool b2 = strI % 4 == 0;
    //      bool b3 = strI % 100 != 0;
    //      if (b1 || (b2 && b3)) {
    //          Console.WriteLine ("是闰年");
    //      } else {
    //          Console.WriteLine ("不是闰年");
    //      }

    // 3.多段代码选 条件为true 的前面的一段执行
    // 有n段代码至少有 n - 1 个条件(严谨的说法是 至少 至少 至少 至少 至少 至少 至少 至少 至少 至少 至少)
    // 代码从上到下依次判断,只要有一个条件为true,
    // 后面的条件不再判断
    //      if (true) {
    //          Console.WriteLine ("第一段代码");
    //      } else if (true) {
    //          Console.WriteLine ("第二段代码");
    //      } else if (true) {
    //          Console.WriteLine ("第三段代码");
    //      } else {
    //          Console.WriteLine ("第四段代码");
    //      }

    //练习
    //从控制台输入
    // A 打印 优秀
    // B 打印 良好
    //C 打印 及格
    // D 打印 不及格
    // 输入其他 打印 输入不正确

    //      Console.WriteLine ("请输入一个字母:(A B C D)");
    //      string str = Console.ReadLine ();
    //
    //      //第一种方法
    ////        if (str == "A") {
    ////            Console.WriteLine ("优秀 你棒棒的");
    ////        } else if (str == "B") {
    ////            Console.WriteLine ("良好 你不够棒");
    ////        } else if (str == "C") {
    ////            Console.WriteLine ("你刚好及格,真不要脸");
    ////        } else if (str == "D") {
    ////            Console.WriteLine ("不及格,垃圾");
    ////        } else {
    ////            Console.WriteLine ("亲,您的输入不正确");
    ////        }
    ////
    //      //第二种方法
    //      switch (str) {
    //      case "A":
    //          Console.WriteLine ("优秀,你棒棒的");
    //          break;
    //      case "B":
    //          Console.WriteLine ("良好");
    //          break;
    //      case "C":
    //          Console.WriteLine ("及格");
    //          break;
    //      case "D":
    //          Console.WriteLine ("不及格");
    //          break;
    //      default:
    //          Console.WriteLine ("您输入的不正确哦!");
    //          break;
    //      }
    */

    // switch
    // 多段代码 选一段执行
    // (标记) 括号里面是标记:整型、字符串、字符、bool值
    // case 后面的标记没有顺序,但不能重复

    //整型可以作为标记
    //      int tag = 6;
    //      switch (tag) {
    //      case 1:
    //          Console.WriteLine ("第一段代码");
    //          break;
    //      case 2:
    //          Console.WriteLine ("第二段代码");
    //          break;
    //      case 3:
    //          Console.WriteLine ("第三段代码");
    //          break;
    //      case 4:
    //          Console.WriteLine ("第四段代码");
    //          break;
    //      case 5:
    //          Console.WriteLine ("第五段代码");
    //          break;
    //      default:
    //          Console.WriteLine ("第六段代码");
    //          break;  
    //
    //      }

    //字符串可以作为标记
    //      string tagStr = "Longan";
    //      switch (tagStr) {
    //      case "Banana":
    //          Console.WriteLine ("你选择的是香蕉");
    //          break;
    //      case "Apple":
    //          Console.WriteLine ("获取的是苹果");
    //          break;
    //      case "Pear":
    //          Console.WriteLine ("你选择的是梨,一点都不好吃");
    //          break;
    //      case "Longan":
    //          Console.WriteLine ("大大的好吃!");
    //          break;
    //      default:
    //          break;
    //      }

    //字符可以作为标记
    //      char c = 'a';
    //      switch (c) {
    //      case 'a': 
    //          Console.WriteLine ("a");
    //          break;
    //      case 'b':
    //          Console.WriteLine ('b');
    //          break;
    //      default:
    //          break;
    //      }

    // bool可以作为标记
    //      bool b = true;
    //      switch (b) {
    //      case true:
    //          Console.WriteLine ("true");
    //          break;
    //      case false:
    //          Console.WriteLine ("false");
    //          break;
    //      default:
    //          break;
    //      }

    //float不能作为标记,浮点型是有误差的
    //      float a = 2.4f;
    //      switch (a) {
    //      case 2.4f:
    //          Console.WriteLine ("OK!");
    //          break;
    //      default:
    //          break;
    //      }

    // case 后面没有语句的时候能够不适用 break 
    while (true) {
        Console.WriteLine ("请输入正确的数字:(1-7)");
        string str = Console.ReadLine ();
        int s = Convert.ToInt32 (str);
        switch (s) {
        case 1:
            Console.WriteLine ("星期一");
            break;
        case 2:
            Console.WriteLine ("星期二");
            break;
        case 3:
            Console.WriteLine ("星期三");
            break;
        case 4:
            Console.WriteLine ("星期四");
            break;
        case 5:
            Console.WriteLine ("星期五");
            break;
        case 6:
            Console.WriteLine ("星期六");
            break;
        case 7:
            Console.WriteLine ("星期日");
            break;
        default:
            Console.WriteLine ("输入超出范围!");
            break;
        }
    }


}

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容