每个语言我们最好是能弄明白这个语言是怎么来处理一些表达式的
比如,学校里面最最恶心的++题目
1 int a = 3, b;
2 b = (a++) + (a++) + (a++) + (a++);
3 System.Console.WriteLine("b:{0}", b);
4 System.Console.WriteLine("a:{0}", a);
你把以上的代码各自在C、C++、Java和C#中各自运行一下,看看是不是结果一致。2 b = (a++) + (a++) + (a++) + (a++);
3 System.Console.WriteLine("b:{0}", b);
4 System.Console.WriteLine("a:{0}", a);
1System.Console.WriteLine("请输入\n你好你输入的是:{0}", System.Console.ReadLine());
你认为上面的代码的运行结果会是什么样的呢?你有没有想过,为什么我们的for循环总是如下
1 for (int i = 0; i <= 10; i++)
2 {
3 System.Console.WriteLine(i);
4 }
计数器我们用的是int,而不是其他的呢?如果你曾经想过,那么我们换成double看看结果吧2 {
3 System.Console.WriteLine(i);
4 }
1 double d = 0.00;
2
3 for (int i = 0; i <= 10; i++)
4 {
5 d = d + 0.01;
6 System.Console.WriteLine(d);
7 }
8
9 for (double i = 0.0; i <= 2.00; i += 0.01)
10 {
11 System.Console.WriteLine(i);
12 }
运行后的结果是不是让你目瞪口呆?2
3 for (int i = 0; i <= 10; i++)
4 {
5 d = d + 0.01;
6 System.Console.WriteLine(d);
7 }
8
9 for (double i = 0.0; i <= 2.00; i += 0.01)
10 {
11 System.Console.WriteLine(i);
12 }
思考一下,这是为什么?
关于WriteLine输出,我们可以给格式字符串一个@能消除转义
1 System.Console.WriteLine(@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\GAC\zh-CHS");
2 System.Console.WriteLine("C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\GAC\\zh-CHS");
比较一下,哪行代码能更令你心情愉悦。
2 System.Console.WriteLine("C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\GAC\\zh-CHS");