問答題沿用
S1 C#:
Ch1:
1、= = 與Equals方法的區別?
對於值類型:由於值類型是存儲在棧中,兩者都是比較的是兩個變量的在棧中的值是否相等。
對於引用類型:引用類型是在堆一個存儲引用,指向堆中的某個具體值。= =判斷引用地址,equals判斷值
2、Java中的switch於C#中的switch的區別
Java中的switch:只能判斷int, short及比int所占字節還少的類型
C#中的switch:可以判斷string及比string所占字節少的類型
Ch2:
1、 冒泡排序(c#)口訣
int[] numbers ={ 49, 12, 65, 45, 88, 54 };
//排序前
Console.WriteLine("排序前:");
foreach (int i in numbers)
{
Console.Write(i + " ");
}
//冒泡排序
for (int i = 0; i < numbers.Length; i++ )
{
for (int j = 0; j < numbers.Length - 1 - i; j++ )
{//將最大數交換到最後
if(numbers[j] > numbers[j+1])
{
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
//排序後
Console.WriteLine(" 排序後:");
foreach (int i in numbers)
{
Console.Write(i + " ");
}
2、 分別寫出四種循環語法
for(int i=0;i<length;i++){} while(true){} foreach(int i in numbers){} do{}while(true);
3、 編程求數組中的最大數,打印所有的水仙花數,打印九九乘法表
求最大數:int[] numbers ={ 49, 12, 65, 45, 88, 54 };
int max = 0;
for (int i = 0; i < numbers.Length-1; i++ )
{
if(numbers[i] > numbers[i+1])
{
max = numbers[i];
}
}
Console.WriteLine("最大數為:"+max);
水仙花數:for (int i = 100; i < 1000; i++ )
{
int a = i % 10; //個位數
int b = i % 100; //十位數
b = b / 10;
int c = i / 100; //百位數
int number = (int)Math.Pow(a, 3) + (int)Math.Pow(b, 3) + (int)Math.Pow(c, 3);
if(number == i)
{
Console.Write(i + " ");
}
}
打印九九乘法表:for (int i = 1; i <= 9; i++ )
{
for (int j= 1; j <= i; j++)
{
Console.Write("{0}×{1}={2} ", j, i, i * j);
}
Console.WriteLine();
}
Ch3:
1、 命名空間的含義:包,便於管理
2、 引用傳遞和值傳遞的區別:主要是相對於值類型,用引用傳遞加ref,就可實現其值真正的改變。值傳遞,當調用方法結束後,則不會改變值。
3、 請寫出String的常用方法(10個),並描述功能
Equals():判斷值相等 Split():以…分割每個字符為string[]數組 IndexOf():返回指定字符的索引
Concat():連接,相當於’+’號 Trim():忽略前後空格 ToUpper():轉換為大寫&