其实作为现在比较主流 的的编程语言 C#和java已经有好多的共性了,有人说精通两门语言不是容易的事,但同时精通C#跟JAVA可能就不是太难的事,关键要理清它们那点不同。其实也就那么一点
区别 | C# | Java |
| public static void Main(){} static void Main(){} static int Main(){} 以上三种都可以 | public static void main(){} |
| Console.writeLine(“ ”); | System.out.println(“ ”); |
| 叫解决方案 | 叫项目 |
| 命名空间 | 包 |
主类名与文件名 | 可以不一致 | 必须一致 |
代码后缀名 | program.cs | program.java |
导入方式 | using System; Console.ReadLine(); | import java.util.Scanner; Scanner input=new Scanner; input.next(); |
| 不可以用 $ | 可以用$ |
注释
| 单行:// 多行:/*……….*/ | 注释用:/**…………..*/ |
转化 (C#中数字可以直接调用方法,java不行) | int i = int.Parse(“123444”); int i = Convert.ToInt(“123”);
string num= 123.ToString(); string num= Convert.ToString(123);
| int i = Interger.parseInt(“1234444”);
String num= String.valueof(123); |
格式化 | strl+E,D格式化全部代码 strl+E,F格式化选中代码 | ctrl+shift+F |
自动补齐 | ctrl+J cw+Tab+Tab是:console.WriteLine(); ctor+Tab+Tab是:构造方法。 | Alt + ?
|
求2009年month月day日 是本年的第多少天? | int month = 12; int day = 15; int totalDay = 0;
for (int i = 1; i < month; i++) { switch (i) { case 11: totalDay = totalDay + 30; break;//必须写 case 10: totalDay = totalDay + 31; break; //必须写 case 9: totalDay = totalDay + 30; break; //必须写 ……… case 1: totalDay = totalDay + 31; break; //必须写 default: break; //必须写 } } totalDay = totalDay + day; Console.WriteLine("总天数{0}",totalDay); | public static void main(String[] args) { int month = 12; int day = 15; int totalDay = 0; switch (month - 1) { case 11: totalDay = totalDay + 30;//不能写break; case 10: totalDay = totalDay + 31; //不能写break; ... case 1: totalDay = totalDay + 31; //不能写break; default: break; } totalDay = totalDay + day; System.out.println(totalDay);
} |
①值类型的声明:不赋值,也会开辟空间; ②引用类型的声明:不开辟空间。 | string strOne = “ABC”; //不能写strOne = new string(“ABC”); string strTwo = strOne;
if(strOne = = “ABC”) {Console.WriteLine(“字符串相等”);} if(strOne = = strTwo) {Console.WriteLine(“字符串相等”);} if(ReferenceEquls(strOne,strTwo)) {Console.WriteLine(“字符串相等”);}
| String strOne = “ABC”; strOne = new String(“ABC”); String strTwo = strOne;
if(strOne.equls(“ABC”)) {System.out.println(“字符串内容相等”)} if(strOne = = strTwo) {System.out.println(“字符串内容相等”)} if(strOne.equls(strTwo)) {System.out.println(“字符串内容相等”)}
|
在字符串比较时,==是比较值(内容);
在非字符串类比较时:==是比较引用 | Person objOne = new Person(); Person objTwo = objOne;
if(objOne = = objTwo) { Console.WriteLine(“同一个对象”); }
|
相同
|
遍历数组 | int[] a = {1,2,3,4}; foreach(int i in a) {Console.WriteLine(i)}
| int[] a = {1,2,3,4}; for(int i : a) {System.out.println(i);}
|