欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > c# >内容正文

c#

第二阶段-凯发k8官方网

发布时间:2024/9/30 c# 26 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 第二阶段_第三小节_c#基础 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

 

 

 

  • 自学api方法

  •  

    //自学api的步骤:

    //1.看名字猜功能

    //2.看方法描述信息

    //3.看参数(类型、名称、描述信息)

    //4.看返回值(类型、描述信息)

    //5.测试去吧

     

  • 字符串拼接

  • " " 变量 " "

  • console.writeline("当前枪为:" guntype ",攻击力是:" atk);

     

  • format

  • string result = string.format(" 格式 " , 变量 );

     

  • random

  • random random = new random();

    int str = random.next(1,101);

     

  • indexof

  • int a = str.indexof('你');//查找字符索引的功能。

     

  • substring

  • string newstring = str.substring(3);//截取子字符串的功能。

     

  • insert

  • string str01 = str.insert(1, "特");//在第几位插入什么字符串。

     

  • remove

  • string str02 = str.remove(2);//删除第几个字符以及后面的字符

     

  • replac

  • string str03 = str.replace('我', '你');//替换所有"我"为"你"。

     

  •  

  • 占位符

  • 形式:占位符 {位置的编号}

    例子:string result = string.format("当前枪为:{0}, guntype);

  • 标准数字格式化字符串

  •  

    console.writeline("{0:c}", 10);//¥10.00 以货币格式显示

    console.writeline("{0:f1}", 1.26);//1.3 保留指定精度的小数位(四舍五入)

    //2:0 --》 1:59 --》 1:2 //02:00 --》 01:59 --》 01:02

    console.writeline("{0:d2}", 5);//05 保留指定位数,不足在前使用0填充

    console.writeline("{0:p1}", 0.123);

     

  • 转义符

  • 形式:改变字符的原始含义 \" \' \0 \t \\

    例子:

    c1 = '\0';//空字符

    string s = "";//空字符串

    console.writeline("你\t好");//水平制表格 tab键

    console.writeline("你\r\n好");//回车换行

     

  • 运算符

  •  

  • 算数运算符 - * / %取模(余数)

  • 参与运算符的数据为float,结果为float

    string r2 = str01 str02 字符串拼接,没有数学运算

     

    //作用:

    //1. 一个整数能否被另外一个数整除

    //num01 是否为偶数 true/false

    bool r6 = num01 % 2 == 0;

    //2. 获取个位

    //num01 的个位数是?

    int r7 = num01 % 10;

     

     

  • 快捷运算符 = -= *= /= %=

  •  

    num05 = 1;//【累加】 num05 = num05 1

     

     

  • 比较运算符

  • 形式:<= >= == ….

    例子:bool re9 = str01 == str02;

     

  • 逻辑运算符

  • 形式:与&& 或|| 非!

    例子:bool r10 = true && true;//真 与 真 结果:真

    实际例子:

    如果到了最左边 && 还想向左移动 || 到了最右边 && 还想向右移动

     

  • 一元运算符

  •  

  • 无论 在前还是在后,对于下一条指令,都是自增1之后的结果。
  • 对于当前指令:

    在后,则后自增,先返回结果

    在前,则先自增,后返回结果

  •  

    例子:         int num08 = 1;

    int t1 = num08 ;//赋值 自增

    console.writeline(t1);//1

    int num09 = 1;

    int t2 = num09;//自增 赋值

    console.writeline(t2);//2

     

  • 三元运算符

  • 定义:有选择性赋值的运算符

    形式: 条件 ? 满足条件的结果 : 不满足条件的结果

    例子:string r13 = true ? "ok" : "no";

    错误例子:int r14 = str01 == str02 ? "a" : 20; //结果类型必须兼容

     

     

  • 数据类型转换

  •  

  • parse转换:字符串转换为其他类型

  • 注意:字符串如果不是该类型的字符串表达形式(字符串长得不像需要转换的类型),则抛异常

    例子:int intatk = int.parse("100");

     

  • tostring转换:任意类型转换为字符串类型

  • 例子:string stratk = intatk.tostring();

     

  • 隐式转换:小范围到大范围的 自动类型转换

  • 例子:byte b1 = 200;

    int i1 = b1;

     

  • 显式转换:大范围到小范围的 强制类型转换

  • 注意:可能造成精度的丢失

    int i2 = 800;

    byte b2 = (byte)i2;//32

    //备注:通常发生在数值间

  • 多种类型参与的运算,会产生类型自动提升

  • 例子: byte num01 = 200;//1.1

    byte num02 = 100;//5 6.1

    byte re = (byte)(num01 num02);

    //int re = num01 num02;

     

    int num03 = 1;

    num03 = 1;

    num03 = num03 1;

     

    byte num04 = 10;

    num04 = 255;//快捷运算符 没有类型提升

    num04 = (byte)(num04 1);

     

  • 选择语句

  •  

  • if-else

  • 如果具有多个条件,请将耗时的计算放置最后

     

  • else-if

  • switch

  •  

     

     

     

     

     

     

     

     

     

     

  • 短路逻辑

  • 如果具有多个条件,请将耗时的计算放置最后

    例子:

    int n1 = 1, n2 = 2;

    // false && ?

    bool r1 = n1 > n2 && n1 > 0;

    console.writeline(n1);// [1]

     

    // true || ?

    bool r2 = n1 < n2 || n2 > 0;

    console.writeline(n2);// [2]

     

     

  • 循环语句

  •  

  • for循环

  • 形式:

    for(初始值;循环条件;增减变量)

    {

    循环体

    }

     

  • 1-100和

  •  

  • 1-100偶数和

  •  

     

  • while循环

  •  

    形式:while(条件)

    {

    循环体

    }

     

     

  • 球弹起

  •  

     

  • do while循环

  •  

    形式:

    do

    {

    *

    }while(条件);

     

     

  • 猜数字

  •  

     

     

  • do while 和 while区别

  • while(条件); 当满足条件 再做

    与while区别:do while先执行循环体,再判断条件

     

     

     

  • 复习

  •  

     

     

     

  • if复习

  • for复习

  •  

  • while复习

  •  

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 输入月份输出天数

  • 对折纸张

  • 小球弹起需求练习

  •  

     

     

     

     

  • 跳转语句

  •  

     

    break 跳出循环;

     

     

     

     

     

     

     

     

     

     

  •  

  • 语法

  • //定义方法:做一个功能

    //返回值:方法定义者 告诉 方法调用者 的结果

    //类型:数据类型

    //void:没有返回值

     

     

     

     

     

     

     

  • 注意

  •  

    return;//退出方法

    //参数:方法调用者 告诉 方法定义者的信息

    //形参:没有真实数据,形式上模拟的信息

     

    //定义方法的原则:方法体要尽可能小,小到独立完成一个事情。 [单一职责]

    //两个整数相加的功能

     

  • 原则

  •  

     

  • 方法例题

  •  

     

     

    答案:

     

     

  • api学习方法

  •  

     

     

  • 综合练习

  • 月历输出

  •  

    private static int calculateweekbyday(int year, int month, int day)

    {

    datetime dt = new datetime(year,month,day);

    return (int)dt.dayofweek;

    }

     

    private static bool isleapyear(int year)

    {

    //if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

    // return true;

    //else

    // return false;

    return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;

    }

     

    private static int getdaysbymonth(int year, int month)

    {

    if (month < 1 || month > 12) return 0;//退出方法 返回数据

     

    switch (month)

    {

    case 2:

    //if (isleapyear(year))

    // return 29;

    //else

    // return 28;

    return isleapyear(year) ? 29 : 28;

    case 4:

    case 6:

    case 9:

    case 11:

    return 30;

    default:

    return 31;

    }

    }

     

    private static void printmonthcalendar(int year,int month)

    {

    //(1)显示表头

    console.writeline("{0}年{1}月",year,month);

    console.writeline("日\t一\t二\t三\t四\t五\t六");

     

    //(2)根据1号星期数显示空白(\t)

    int week = calculateweekbyday(year, month, 1);//3

    for (int i = 0; i < week; i )

    console.write("\t");

     

    //(3)计算当月天数

    int days = getdaysbymonth(year, month);//30

    for (int i = 1; i <= days; i )

    {

    console.write(i "\t");

    //(4)每逢周六换行

    if (calculateweekbyday(year, month, i) == 6)

    console.writeline();

    }

    }

     

    private static void printyearcalendar(int year)

    {

    for (int i = 1; i <= 12; i )

    {

    printmonthcalendar(year, i);

    console.writeline();

    }

    }

     

    static void main()

    {

    console.writeline("请输入年份:");

    int year = int.parse(console.readline());

    printyearcalendar(year);

    }

    }

     

     

     

  • 短路逻辑

  • 短(断)路逻辑

    如果具有多个条件,请将耗时的计算放置最后

    &&短路与

    ||短路或

    if(耗时的条件算法放后面)

    。。。

    &

    |

     

    continue简化代码结构,

     

     

    总结

    以上是凯发k8官方网为你收集整理的第二阶段_第三小节_c#基础的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

    网站地图