Daily sentence: Happiness is about having each tiny wish come true. 幸福就是达成每一个Tiny Wish.
Ctrl+E D C#自动排版.
强制转换:
如果表达式中含有一个double类型的的操作数时候,整个表达式都提升为double类型.
int a=(int)3.14; 将3.14强制转换为int类型.并将值赋给a.
int 变量Convert.ToInt32(Console.ReadLine(输入的字符串)); 将输入的字符串转换为int类型.
Convert转换不再仅是内存级别的转换,而是考虑数据意义的转换.Convert是一个加工转换的过程.
(要明白为什么转换?!)
Convert.ToInt32();
Convert.ToString(); (一切类型都可以转换成string类型)
int a = 10;
Console.WriteLine(a.ToString()); 将int转换为string类型.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 试算 { class Program { static void Main(string[] args) { int a = 11111; Console.WriteLine(a.ToString());//将int类型的a的值11111转换为string类型"11111". int age = 23; Console.WriteLine(age.ToString());//将int类型的值转换为string类型. Console.WriteLine("请输入number的值?"); int number = Convert.ToInt32(Console.ReadLine());//将输入的字符串转换为int类型. Console.WriteLine("a的值是:{0} number的值是:{1} 你的年龄是:{2}",a,number,age); Console.ReadKey(); } } }
逻辑与逻辑或的短路
逻辑与的短路:当第一个表达式不成立时,就不再执行后面的表达式.
int a=10;
int b=15;
bool result= ++a>15 &&++b>10;
Console.WriteLine("a的值为:{0} b的值为:{1}",a,b );
当执行逻辑与(&&)时第一个bool表达式++a>15不成立时,后面的++b>10就不执行直接跳过,最后a的值为11,b的值仍为15.
只有当++a>15成立时,才会运行++b>15.最后a和b的值都加1.即a=11,b=16.
逻辑或的短路:当第一个表达式成立时,就不再运行后面的表达式了.(||只要有一个成立即可)
int a=10;
int b=15;
bool result= ++a<15 ||++b>10;
Console.WriteLine("a的值为:{0} b的值为:{1}",a,b );
因为++a<15成立.后面的++b>10就不再执行,最后a的值为11,b的值仍为15.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 逻辑与或的短路 { class Program { static void Main(string[] args) { //逻辑或的短路 //int a = 10; //int b = 15; //bool result = ++a < 15 || ++b > 10; //Console.WriteLine("a的值为:{0} b的值为:{1}", a, b); //逻辑与的短路 int a = 10; int b = 15; bool result = ++a > 15 && ++b > 10; Console.WriteLine("a的值为:{0} b的值为:{1}", a, b); Console.ReadKey(); } } }
if结构(if/if-else/if-else if)
多练习熟练如何才能让程序更加优化,在使用if语句时上面三者的选择问题.
if结构(else永远和最近的if配对)
if(bool表达式) ----必须是bool表达式
{
语句1
}
if-else结构
if(条件)
{语句1;}
else
{语句2;}
if-else if结构(只有当if中的不成立才会进入else if中进行判断)
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 密码提示问题 { class Program { static void Main(string[] args) { Console.WriteLine("请输入你的密码?"); string secret = Console.ReadLine(); if (secret == "888888") { Console.WriteLine("你输入的密码正确!"); } else { Console.WriteLine("请重新输入密码?"); secret = Console.ReadLine(); if (secret == "888888") { Console.WriteLine("密码正确"); } else { Console.WriteLine("密码错误"); } } Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if_else_if结构 { class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数字?"); int number = Convert.ToInt32(Console.ReadLine()); if (number >= 90) { Console.WriteLine("A"); } else if (number >= 80) { Console.WriteLine("B"); } else if (number >= 70) { Console.WriteLine("C"); } else if (number >= 60) { Console.WriteLine("D"); } else { Console.WriteLine("E"); } Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 作业 { class Program { static void Main(string[] args) { //作业1 Console.WriteLine("请输入你的用户名?"); string useName = Console.ReadLine(); Console.WriteLine("请输入你的密码?"); string useSecret = Console.ReadLine(); if (useName == "admin" && useSecret == "mypass") { Console.WriteLine("登录成功!"); } Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if结构 { class Program { static void Main(string[] args) { Console.WriteLine("请输入你的年龄!"); int age=Convert.ToInt32( Console.ReadLine()); if (age >=18) Console.WriteLine("你已经成年."); else Console.WriteLine("你未成年."); Console.ReadKey(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace if_else_if_作业 { class Program { static void Main(string[] args) { //作业1 //Console.WriteLine("请输入你的密码?"); //string secret = Console.ReadLine(); //if (secret == "888888") //{ // Console.WriteLine("你输入的密码正确!"); //} //else //{ // Console.WriteLine("密码错误,请重新输入!"); //} //secret = Console.ReadLine(); //if (secret == "888888") //{ // Console.WriteLine("你输入的密码正确!"); //} //else //{ // Console.WriteLine("密码错误,请重新输入!"); //} //作业1(优化方法---可以将if-else直接嵌套进else中) //Console.WriteLine("请输入你的密码?"); //string secret = Console.ReadLine(); //if (secret == "888888") //{ // Console.WriteLine("你输入的密码正确!"); //} //else //{ // Console.WriteLine("请重新输入密码?"); // secret = Console.ReadLine(); // if (secret == "888888") // { // Console.WriteLine("密码正确"); // } // else // { // Console.WriteLine("密码错误"); // } //} ////作业2 //Console.WriteLine("请输入你的用户名?"); //string useName = Console.ReadLine(); //Console.WriteLine("请输入你的密码?"); //string secret = Console.ReadLine(); //if (useName == "admin" && secret == "888888") //{ // Console.WriteLine("你输入的用户名和密码正确!"); //} //else if (useName != "admin" /*|| secret == "888888"*/) //{ // Console.WriteLine("你输入的用户名不存在!"); //} //else//(useName == "admin" || secret != "888888") 除去上面两种可能剩下的就是括号中的这种了. //{ // Console.WriteLine("你输入的密码不正确!"); //} //作业3 Console.WriteLine("请输入你的年龄?"); int age = Convert.ToInt32(Console.ReadLine()); if (age >= 18) { Console.WriteLine("可以观看."); } //if (age < 10) //{ // Console.WriteLine("不可以观看."); //} else if (age>=10) { Console.WriteLine("是否决定观看?"); Console.WriteLine("请输入yes或者no?"); string input = Console.ReadLine(); if (input == "yes") { Console.WriteLine("请查看."); } else { Console.WriteLine("退出,你放弃查看."); } } else { Console.WriteLine("不可以观看!"); } Console.ReadKey(); } } }
****(还需深入理解并会应用)
控制一些语句的是否输出:应用bool表达式加上if结构完成.
bool 变量=false;
if(变量==false)
{
要控制是否输出的程序.
}
****
switch-case语句
可以解决一些if语句计较繁琐的代码.
结构为:
switch(表达式)
case:"值1":
语句块1;
break;
......
case:"值n":
语句块n;
break;
default:语句块;
break;
上面的语法中:break是每句都需要写的.表达式中的值与case中的值一个一个比较,直到找到相等的为止,如果没有就将跳入default语句中,执行default语句中的程序,
如果没有default语句,程序就直接跳出.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace switch_case { class Program { static void Main(string[] args) { Console.WriteLine("请输入一个字母(A-E)?"); string input = Console.ReadLine(); int salary = 5000; bool sign = false; switch(input) { case "A": salary += 500; break; case"B": salary += 200; break; case"C": break; case"D": salary -= 200; break; case"E": salary -= 500; break; default: Console.WriteLine("你输入的英文字母有错误!"); sign = true; break; } if (sign == false) { Console.WriteLine("你的工资是" + salary); } Console.ReadKey(); } } }
Long way to go......