第二阶段-凯发k8官方网
自学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;//真 与 真 结果:真
实际例子:
如果到了最左边 && 还想向左移动 || 到了最右边 && 还想向右移动
停
一元运算符
在后,则后自增,先返回结果
在前,则先自增,后返回结果
例子: 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#基础的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 第二阶段_第二小节_c#调试
- 下一篇: 第二阶段_第四家小节_c#基础2