C#前五章複習
1.C#的基本 語法
1.1變數的命名規範 :
前面可以是字母 ,下劃線
後面可以是數字, 字母 ,下劃線
變數名需要有意義
儘量使用駝峰命名法
不可以使用$符號
1.2常量
- 常量的規則:
- 常量名均大寫
- 常量名有意義
- 在宣告的時候賦初始值,一旦確認下來之後不可以更改其值
1.3Console類
輸出:Console.WriteLine("輸出資訊");
輸入:Console.ReadLine();
注意:輸入返回的型別是string型別,如果需要用int型別接受,則需要強制轉換
輸入int型別的值:int num =int.Parse(Console.ReadLine());
輸入doule型別的值:double d = double.Parse(Console.ReadLine());
1.4陣列
宣告陣列的方式(四種):
int [] nums = new int[5];
int [] nums = new int [5]{1,5,6,8,9}
int [] nums = {1,2,3,6};
int [] nums = new int[]{,2,5,6,8};
給陣列中賦值:
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
遍歷陣列中的元素
int [] nums ={5,6,8,9,5,6};
//使用for迴圈遍歷
for(int i =0;i<nums.Length,i++){
Console.WriteLine(nums[i]);
}
for(int i =0 ;i<nums.Length;i++){
nums[i] = Int.Parse(Console.ReadLine());
}
//使用foreach迴圈來遍歷
foreach(int i in nums){
Console.WriteLine(i);
}
foreach(int i in nums){
i = Int32.Parse(Console.ReadLine());
}
//輸出的結果:
/*
5
6
8
9
5
6
*/
1.5條件語句
基本if語句
int a = 10;
if(a>10){
//程式碼塊
}
if-else語句
if(num>10){
}else{
}
if-else if-else語句(多重if語句)
if(num>10){
}else if(num<=10){
}else{
}
巢狀if語句
if(num>10){
if(num==10){
}else{
}
}else{
}
1.6迴圈
while迴圈
int i = 1;
while(i<=100){
Console.WriteLine(i);
i++;
}
do--while迴圈
int i =1;
do{
Console.WriteLine(i);
}while(i<=100);
for迴圈
for(int i = 1;i<=100;i++){
Cosnole.WriteLine(i);
}
foreach迴圈
string [] strs = {"張三","李四","王曉丹"};
foreach(string s in strs){
Console.WrilteLine(s);
}
迴圈之間的特點是什麼:
- while迴圈是先判斷在執行
- do-while迴圈是先執行在判斷,迴圈體至少會執行一次。
- for迴圈是在迴圈次數固定的情況下
- foreach是在遍歷陣列或者集合時方便使用
1.6類和物件
類:一組相同屬性和方法的集合,是一個抽象的概念
物件:描述客觀事實存在的實體,能看得見,摸得著的
類和物件的關係是:抽象和具體的關係,由類例項化出物件,由物件抽象出類
//學生類
class Student{
//姓名
string name ;
//性別
string sex ;
//班級
string cname ;
//顯示學生的資訊
public void show(){
Console.WrieLine("姓名是:{0},性別是{1},所在班級是:{2}",name,sex,cname);
}
}
//老師類
class Teacher{
//姓名
string name;
//專業
string zhuanye;
//展示老師的資訊
public void show(){
Console.WriteLine("姓名是:{0},專業是:{1}",name,zhuanye);
}
}
//測試類
class Test{
static void Main(String []args){
//建立學生類的物件
Student stu = new Student();
//給學生類的屬性賦值
stu.name = "劉同學";
stu.age = 15;
stu.cname = "計算機二班";
//呼叫方法
stu.show();
//建立老師的物件
Teacher tea = new Teacher();
tea.name = "佟老師";
tea.zhuanye = "管理";
tea.show();
}
}
1.7傳遞方式
值傳遞:呼叫方法之後值不改變
public static void add(int num){
num++;
}
static void Main(){
int a = 10;
add(a);
Console.WriteLine(a); //輸出10
}
引用傳遞:呼叫方法之後,值會改變
public static void add(ref int num){
num++;
}
static void Main(){
int a = 10;
add(ref a);
Console.WriteLine(a); //11
}
1.8屬性
物件導向的三大特徵:封裝,繼承,多型
封裝:對內隱藏細節,對外提供公共的方法,供其他類呼叫。
get:只讀訪問器
set:只寫訪問器
get,set:可讀可寫訪問器
private:私有的,只能在本類中使用
public:公有的,可以在本類以外的類中使用。透過建立物件的方式(呼叫屬性和方法)
class Student{
private string name;
public string Name{get;set;}
private int age;
public int Age{
get{return this.age;}
set{
if(value<0 || value>=150){
this.age = 18;
}else{
this.age = value;
}
}
}
}
1.9C#中的string類
給string中賦值:string name = "張三";
在指定的字串中查詢指定的字元(字串):
string name = "wanglili@163.com";
int name.IndexOf("@");
擷取指定字串中的字串:
string name ="abcdefg";
name.SubString(0,5);//輸出abcde
判斷字串是否為空
string name = "";
name.Equals("");
name.Equals(string,Empty);
name.Equals(null);
拆分字串:
string music = "this is a pig";
string [] strs = music.Spilt('');
連線字串
string name = "hello";
string [] strs = {"a","b","c"};
name.Join("-",strs);
格式化字串:
string name = string.Format("姓名是:{0},性別是:{1}","李四","男");
資料型別之間的轉換
將int、double,folat轉換成string:num.Tostring();
將string轉換成int:int32.Parse("123");
各種資料型別之間的轉換:
string轉換成doubleConver.ToDouble("23.63");
2.0C#中的方法
無參無返回值的方法
public void show(){
Console.WriteLine("這是無參無返回值的方法");
}
無參有返回值的方法
public int show()
{
int num = 10;
return num;
}
有參無返回值的方法
public void show(string name)
{
Console.WriteLine("姓名是:"+name);
}
有參有返回值的方法
public string show(string name,string pwd){
return name;
}
呼叫方法
先看是否在同一類中,如果在同類中,直接寫方法名即可,否則需要建立方法所在類的物件,透過物件名.方法名的形式來呼叫。
呼叫無參無返回值的方法:
Test t = new Test();
t.show();
呼叫無參有返回值的方法:
Test t = new Test();
int a = t.show();
Console.WriteLine(a);
呼叫有參無返回值的方法:
Test t = new Test();
t.show("張三");
呼叫有參有返回值的方法
Test t = new Test();
string name = t.show("admin","123456");
Console.WriteLine("姓名是:"+name);