一.基本知识补充
float 类型后面加f
double 类型后面不用
bool 只有true和false两种类型
10/3 取整为3
占位符
Console.WriteLine("我的姓名是{0},我的性别是{1},我今年{2}岁了",name,gender,age);
输入
String name;
name=Console.ReadLine();
Console.WriteLine("你输入的是"+name);
转义符:\n表示换行 \" 输出双引号 \t tab空格 \b 退格键,把前面一个字符删掉
\\ 输出\
// 1.取消“\”在字符串中的转义作用
String path=@"E:\notepad++\plugins";
Console.WriteLine(path);
// 2.将字符串按照原格式输出
Console.WriteLine(@"我的名字是 mejf jeifig fe");
类型转换
强制类型转换
float num_1=3.5f;
double num_2=3.1415936;
int num_3=(int) num_1;
int num_4=(int) num_2;
convert转换
string num_1="3.1415";
string num_2="197";
double num3=Convert.ToDouble(num_1);
int num4=Convert.ToInt32(num_2);
常量
const double PI=3.14;
switch
static void Main(string[] args)
{
int week=6;
switch(week){
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;
}
}
数组
//声明并初始化数组
int[] array=new int[5];
double[] darray=new double[10];
//声明初始化赋值
int[] ages=new int[5]{1,2,3,4,5};
double[] array2=new double[]{0,3.4,2};
//遍历数组
for(int i=0;i<ages.Length;i++){
Console.Write(ages[i]);
}
Console.WriteLine("------");
foreach(int i in ages){
Console.Write(i);
}
二维数组
//声明
int[,] arr;
//初始化
arr=new int[3,3];
//声明初始化二合一
int[,] arr2=new int[3,4];
//声明初始化赋值三合一
int[,] arr3=new int[,]{{1,2,3},{2,3,4}};
//遍历
for(int i=0;i<arr3.GetLength(0);i++){
for(int j=0;j<arr3.GetLength(1);j++){
Console.Write(arr3[i,j]);
}
Console.WriteLine();
}
内存结构
//数组和字符串是引用传递
int[] inta=new int[]{11,22,33,44};
int[] intb=inta;
intb[0]=100;
//inta 和intb指向同一个地址
Console.WriteLine(inta[0]);//100
函数
static void Main(string[] args)
{
hello();
}
static void hello(){
Console.WriteLine("hello world");
}
ref参数
static void Main(string[] args)
{
int num=5;
Add(ref num);
Console.WriteLine(num);//输出15
}
static void Add(ref int temp){
temp+=10;
}
out参数
static void Main(string[] args)
{
int a=5,b=10;
int m_max,m_min,m_total;
double m_avg;
getNum(a,b,out m_max,out m_min, out m_total,out m_avg);
Console.WriteLine("{0} {1} {2} {3}",m_max,m_min,m_total,m_avg);
}
static void getNum(int a,int b,out int max,out int min,out int total,out double avg){
if(a>b){
max=a;min=b;
}
else{
max=b;min=a;
}
total=a+b;
avg=total/2;
}