`
lovnet
  • 浏览: 6813040 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

java算法:构建块

 
阅读更多

java算法:构建块

java中用来存储和处理信息的主要的低级构造。使用java的类来描述要处理的信息,定义要处理它们的方法,并构建能实际存储这些数据的对象。我们所有的数据结构由对象和指向对象的指针构成。

我们书写的程序就是要处理我们所生活的世界和自然语言信息,在计算机中要为这些信息构建基本块--数字或字母提供内嵌支持。在java中,基本的数据类型构建起来有:booleancharbyteshortintlongfloatdouble

定义:数据类型是值集合和对那些值进行的一套操作。

例一:每个java程序就是一种数据类型,值集合和相关操作(方法)的列表。

如:处理平面上的点时,可以这样定义:class Point{double x; double y;}

实例化对象:

Point a = new Point();

Point b = new Point();

并对ab赋值:a.x = 1.0; a.y = 1.0; b.x = 4.0; b.y = 5.0;

即:a代表点(1.0,1.0) b代表点(4.0,5.0);

例二:方法定义

ab的距离:

Java代码

doubledistance(Pointa,Pointb){

doubledx=a.x-b.x;

doubledy=a.y-b.y;

returnMath.sqrt(dx*dx+dy*dy);

}

double distance(Point a, Point b){

double dx = a.x - b.x;

double dy = a.y - b.y;

return Math.sqrt(dx * dx + dy * dy);

}

使用java的类机制来定义数据类型。

例三:Point类的实现:

Java代码

classPoint{

doublex,y;

Point(){

x=Math.random();

y=Math.random();

}

Point(doublex,doubley){

this.x=x;

this.y=y;

}

doubler(){

returnMath.sqrt(x*x+y*y);

}

doubletheta(){

returnMath.atan2(y,x);

}

doubledistance(Pointp){

doubledx=x-p.x;

doubledy=y-p.y;

returnMath.sqrt(dx*dx+dy*dy);

}

publicStringtoString(){

return"("+x+","+y+")";

}

}

class Point{

double x,y;

Point(){

x = Math.random();

y = Math.random();

}

Point(double x, double y){

this.x = x;

this.y = y;

}

double r(){

return Math.sqrt(x * x + y * y);

}

double theta(){

return Math.atan2(y , x);

}

double distance(Point p){

double dx = x - p.x;

double dy = y - p.y;

return Math.sqrt(dx * dx + dy * dy);

}

public String toString(){

return "(" + x + " , " + y + ")";

}

}

例四:随机数序列统计,计算一长串随机数的均值和标准方差。

Java代码

publicclassPrintStats{

publicstaticvoidmain(String[]args){

intN=Integer.parseInt(args[0]);

doublem=0.0,s=0.0;

for(inti=0;i<N;i++){

intx=(int)(Math.random()*10000);

doubled=(double)x;

m+=d/N;s+=(d*d)/N;

}

s=Math.sqrt(s-m*m);

System.out.println("avg.:"+m);

System.out.println("std.dev.:"+s);

}

}


分享到:
评论

相关推荐

    java算法全卷(包括基本算法和图算法)

    Java算法全卷涵盖了基本算法和图算法,是学习和提升编程技能的重要资源。这份资料主要针对使用Java语言进行算法实现的开发者,适用于那些对ANT、EJB、J2EE、JAVA和SPRING等技术栈有了解或兴趣的人群。下面我们将深入...

    java多种加密解密算法:SHA算法,HMAC算法,DES算法,PBE算法,AES算法,RSA算法,数字签名,D-H算法

    总之,了解和掌握这些加密解密算法对于Java开发者来说至关重要,它们不仅用于保护敏感数据,也是构建安全网络应用的基础。在实际开发中,应根据需求选择合适的算法,并注意遵循最佳实践,确保系统的安全性和可靠性。

    java算法java算法java算法

    Java算法是计算机科学中的核心部分,它涉及到一系列用于解决计算问题和数据操作的方法和技术。在Java编程语言中,算法的实现使得程序能够高效地处理数据、执行任务并优化性能。以下是一些重要的Java算法及其应用: ...

    java算法大全(很全的java算法)

    Java算法大全涵盖了编程中最核心、最实用的算法,这些算法是每位Java开发者应当掌握的基础技能。这个压缩包包含了近100种不同的算法实现,旨在帮助开发者提升编程能力,理解和解决实际问题。以下是对其中一些关键...

    JAVA近百种算法大全

    Java算法大全是一个包含约100种常见算法的资源库,专为Java程序员设计,用于深入理解和实践编程中的各种算法。这些算法涵盖了数据结构、排序、搜索、图论等多个领域,是提升编程技能和解决问题能力的重要工具。下面...

    java算法大全源码包100多种

    Java算法大全源码包是一个非常宝贵的资源,包含了各种经典的算法实现,总计超过100种。这个源码包是学习和提升Java编程能力,特别是算法理解与应用的绝佳材料。以下将详细介绍其中可能涵盖的一些重要算法及其应用: ...

    Java算法大全(近100种算法打包)

    Java算法大全是一个全面涵盖近100种算法的资源包,专为Java程序员设计,旨在提升他们的编程技能和解决问题的能力。这个压缩包包含了各种类型的算法实现,覆盖了基础到高级的算法知识,对于学习和理解算法有着极大的...

    java算法书籍(英文版)

    《Java算法书籍(英文版)》是一套专为Java开发者设计的算法学习资源,涵盖了数据结构与算法分析以及全面的Java算法知识。这套书籍旨在帮助读者深入理解算法的基础概念,提高编程技能,以及解决实际问题的能力。以下...

    算法:Java对拼音进行智能切分

    5. **算法应用**:在Java中,可以使用动态规划、贪心算法、回溯法等优化拼音切分。例如,动态规划可以用于找到最长公共前后缀,减少误切;贪心算法可以每次选择最可能的词,以达到局部最优;而回溯法则适用于在多种...

    非对称加密算法:RSA算法的C++实现与Java实现

    因此,RSA算法可以构建一对公钥和私钥,公钥用于加密,私钥用于解密。发送者使用接收者的公钥加密数据,只有持有对应私钥的接收者才能解密,确保了信息的安全性。 C++实现RSA算法通常涉及以下步骤: 1. 寻找大素数...

    java算法大全源码包.rar ,JAVA,算法

    比如霍夫曼编码、Prim算法构建最小生成树等。 6. **图论算法**:如最短路径算法(Dijkstra、Floyd-Warshall)、拓扑排序、最小生成树算法(Kruskal、Prim)等,这些算法在路由、网络优化等领域有着广泛的应用。 7....

    JAVA算法100例

    《JAVA算法100例》是一份集合了JAVA编程语言中的各类算法实例的资源,旨在帮助开发者提升在解决计算问题时的技能。这份资源可能是由博主StevenJohn在ITEYE博客上分享的,虽然描述中没有具体信息,但我们可以通过标题...

    java算法有哪些jif

    Java算法是计算机科学中的核心组成部分,它涉及到一系列用于解决计算问题的方法和技术。在Java编程中,熟练掌握不同类型的算法能够帮助我们更有效地处理数据、优化程序性能和解决复杂问题。以下将详细介绍标题和描述...

    java经典算法(PPT资源)

    Java经典算法是编程领域中的重要组成部分,对于提升编程能力、解决复杂问题以及优化代码效率具有至关重要的作用。这些算法不仅适用于Java语言,许多原理在其他编程语言中也通用。本资源包包含了一系列PPT,旨在帮助...

    Java算法大全(源码)

    - 通过每一步选择局部最优解来达到全局最优,如霍夫曼编码、Prim算法构建最小生成树。 9. **回溯法**: - 在搜索过程中遇到无法满足条件的情况时退回一步,尝试其他分支,常用于求解组合优化问题。 这些Java算法...

    Java算法:Java

    Java算法是计算机科学中的核心部分,它涉及到一系列用于解决复杂问题的方法和技术。在Java编程语言中,算法的实现使得程序能够高效地处理数据、优化内存使用以及提高计算速度。本主题将深入探讨Java中常见的算法及其...

    AdaBoost算法Java版:高效分类器构建.zip

    AdaBoost算法Java实现提供了高效的分类解决方案。该资源包含完整的Java源代码、教程文档、示例数据和测试脚本,旨在帮助用户快速理解和应用AdaBoost算法。适用于对机器学习感兴趣的开发者、数据科学家以及需要提升...

    java算法设计资料

    Java算法设计资料主要涵盖的是如何使用Java语言进行有效的算法实现和设计。算法是计算机科学的基础,对于解决复杂问题和优化程序性能至关重要。本资料重点可能是《算法》这本书的第四版,这是一本广泛认可的算法教材...

    Java经典算法源码实例(Java算法,源码)

    这个名为“Java经典算法源码实例”的资源集合提供了一系列用Java语言实现的常见算法,对于深入理解算法原理、提高编程技能以及优化代码性能具有极大的帮助。下面,我们将详细探讨这些算法及其应用。 1. **排序算法*...

    JAVA算法分析-很好的java思想

    本文将深入探讨“JAVA算法分析”,旨在帮助读者从深层次理解Java语言,并结合算法思想提升编程能力。 首先,Java语言为实现高效算法提供了良好的支持。其面向对象的特性使得代码更易于组织和复用,接口、抽象类和...

Global site tag (gtag.js) - Google Analytics