Console.Write(i+",");
count++;
}
}
DateTime t2 = DateTime.Now;
TimeSpan t = t2-t1;
Console.WriteLine ("");
Console.WriteLine ("共用时间:"+t.TotalMilliseconds.ToString()+"毫秒");
Console.WriteLine ("共找到:"+count+"个质数");
Console.ReadLine();
}
}
这次这个程序的执行结果为: 8M 内存 + 22 秒的时间
除了内存使用多一点(这可以理解,这里使用的内存只是 JVM 使用的内存,不代表程序实际使用的内存),
在时间上 C#程序 和 Java程序 没有什么差别了 。
难道是我朋友写的程序的算法好,可我怎么看,也看不出它好在哪里?。?
于是我改了一下我朋友写的程序:(只是把 uint 改成了 int 型数据)具体代码如下:
using System;
class test
{
static void Main() {
DateTime t1 = DateTime.Now;
cal(200000);
DateTime t2 = DateTime.Now;
TimeSpan t = t2-t1;
Console.WriteLine("时间为:{0} 毫秒\n",t.TotalMilliseconds.ToString());
Console.ReadLine();
}
static void cal(int x)
{
Console.Write("2,");
int sum=1;
for(int a=3;ax+1;a++)
{
bool flag=true;
int n = (int)(a/2)+1;
for(int b=2;bn;b++)
{
if(a%b!=0) continue;
flag=false;
break;
}
if(flag)
{
Console.Write(a+",");
sum++;
}
}
Console.WriteLine("\n {0} 以内共有 {1} 个质数\n",x,sum);
}
}
执行结果还是: 8M 内存 + 22 秒的时间
这进一步说明,Java 和 .net 虚拟机在执行效率上基本没有差别 。
最开始的两个程序产生差别的唯一原因就是:
C#内置支持无符号数
Java 则只有有符号数
在只需要正数的环境下,Java 的效率下去了!
Java 为什么不内置支持 “无符号基本数据类型”呢??
这让我们在写网络程序时,byte 是有符号数,让我们不得不小心的处理,以免出现错误 。
强烈建议 Java 内置支持 无符号基本数据类型!
java中没有无符号整数 , 需要怎样解决这个问题在java中没有无符号整数,如果想要达到无符号整数的效果需要自己写程序来解决,通常就是移位运算,可以到我的空间里查看,有源码 。
java怎么表示64位无符号整数java本身是没有无符号数的 , 若实在需要 , 可以自己写一个封装类来实现 。
java代码实验无符号数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码实验无符号数字怎么写、java代码实验无符号数的信息别忘了在本站进行查找喔 。
推荐阅读
- 2万多字linux命令,linux60个命令
- html表格提交模板,html表格提交代码
- 怎么知道网站是不是net开发的,如何知道一个网站是不是外网
- 关于pac设置https代理的信息
- go语言mapinfo go语言和java哪个更有前途
- cpu风扇不紧是什么原因,cpu风扇不稳定
- 买一个两个路由器怎么选,买两个路由器有用吗
- java网盘代码怎么实现 java写网盘
- 为什么cpu性能变低,为什么cpu性能变低了