static double abs(double a) 返回 double 值的绝对值。
static float abs(float a) 返回 float 值的绝对值。 static int abs(int a) 返回 int 值的绝对值。
static long abs(long a) 返回 long 值的绝对值。 static double acos(double a) 返回角的反余弦,范围在 0.0 到 pi 之间。
static double asin(double a) 返回角的反正弦,范围在 -pi/2 到 pi/2 之间。 static double atan(double a) 返回角的反正切,范围在 -pi/2 到 pi/2 之间。
static double atan2(double y, double x) 将矩形坐标 (x, y) 转换成极坐标 (r, theta)。 static double cbrt(double a) 返回 double 值的立方根。
static double ceil(double a) 返回最小的(最接近负无穷大)double 值,该值大于或等于参数,并且等于某个整数。 static double cos(double a) 返回角的三角余弦。
static double cosh(double x) 返回 double 值的双曲线余弦。 static double exp(double a) 返回欧拉数 e 的 double 次幂的值。
static double expm1(double x) 返回 ex -1。 static double floor(double a) 返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。
static double hypot(double x, double y) 返回 sqrt(x2 +y2),没有中间溢出或下溢。 static double IEEEremainder(double f1, double f2) 按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double log(double a) 返回(底数是 e)double 值的自然对数。 static double log10(double a) 返回 double 值的底数为 10 的对数。
static double log1p(double x) 返回参数与 1 的和的自然对数。 static double max(double a, double b) 返回两个 double 值中较大的一个。
static float max(float a, float b) 返回两个 float 值中较大的一个。 static int max(int a, int b) 返回两个 int 值中较大的一个。
static long max(long a, long b) 返回两个 long 值中较大的一个。 static double min(double a, double b) 返回两个 double 值中较小的一个。
static float min(float a, float b) 返回两个 float 值中较小的一个。 static int min(int a, int b) 返回两个 int 值中较小的一个。
static long min(long a, long b) 返回两个 long 值中较小的一个。 static double pow(double a, double b) 返回第一个参数的第二个参数次幂的值。
static double random() 返回带正号的 double 值,大于或等于 0.0,小于 1.0。 static double rint(double a) 返回其值最接近参数并且是整数的 double 值。
static long round(double a) 返回最接近参数的 long。 static int round(float a) 返回最接近参数的 int。
static double signum(double d) 返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。 static float signum(float f) 返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。
static double sin(double a) 返回角的三角正弦。 static double sinh(double x) 返回 double 值的双曲线正弦。
static double sqrt(double a) 返回正确舍入的 double 值的正平方根。 static double tan(double a) 返回角的三角正切。
static double tanh(double x) 返回 double 值的双曲线余弦。 static double toDegrees(double angrad) 将用弧度测量的角转换为近似相等的用度数测量的角。
static double toRadians(double angdeg) 将用度数测量的角转换为近似相等的用弧度测量的角。 static double ulp(double d) 返回参数的 ulp 大小。
static float ulp(float f) 返回参数的 ulp 大小。 从api上截的,更详细的还是推荐查看api。
Java的技术体系是非常庞大的,需要我们学习的技术非常多,往往很多初学的人,通过互联网查阅了一个庞大的学习列表,然后不知道如何下手。网上很多大牛列的技术不是不重要,但是掌握住企业应用的Java的核心技术,快速上手,是一种高效的学习手段。结合本人十余年的项目研发和带人经验,整理出如下方面。
首先JavaSE是核心,这是初学Java人员应最先接触学习的部分。Java的运行原理,jdk的配置,与jre的区别,基本数据类型,流程控制(顺序结构、选择结构、循环结构),数组、集合框架,异常处理等,这些都是比较容易学习的,需要多练习,在练习过程中加强理解。面向对象部分是Java初学者,尤其是没有任何编程语言基础的学起来有些难度,类、对象、继承、封装、多态等技术点需要多参照些现有的设计模型,学习设计的思路。诸如工厂模式、观察者模式、代理模式等重要的设计模式也是需要学习的,否则在将来应用框架时就会只知其然,不知其所以然。IO流、多线程也一定需要学习,尤其是XML、JSON等文件格式一定要掌握,这在数据交互时常用。
其次是数据库知识,作为初级Java程序员必须要掌握一种常用的关系型书库的应用,如MySQL或oracle等,数据库对象诸如表、视图等的创建、增删改查语句,尤其是查询,在企业中经常需要从十几张表、或几十张表中查询数据,所以对于如何进行内连接、外连接、以及联合查询等一定要掌握,另外对于索引、事务等也要掌握。
第三是Java Web部分,由于Java主要做web开发,一些前端技术HTML3、CSS5,javaScript,jQuery等这些不见得要学得有多深入,但是必须要掌握,tomcat、jsp,以及和数据库的交互这些都是必须要掌握的。
第四是框架部分,主流的ORM框架有Mybatis、hibernate,MVC框架有Spring MVC、Struts2等,可以优先掌握主流的SSM框架组合,框架的学习有人认为很简单,就按照规定、规范调用、使用呗,初学者可以先学习如何使用这些框架,然后慢慢的探究内部原理,因为框架是技术封装、简化的产物。
这里面有些同类型的技术比如hibernate,如果会使用Mybatis了,那么上手就会很容易,同理如果Spring MVC框架应用熟练了,那么Struts2框架其实就可以现学现卖了。
一个web程序包含的模块很多,不一定包括所有模块。
系统模块:Windows、Linux系统等。
存储模块:这里既包括关系型数据库MySQL、oracle等,也包括内存数据库redis、memcached等。
程序模块:还可以细化成持久化模块、业务逻辑模块、表现层模块,MVC框架的实现。
搜索模块:应用solr或Elasticsearch等。
服务器模块:tomcat、weblogic、Resion等
中间件模块:nginx、MQ消息队列技术等。
在这里额外说一下技术和技能的区别,初学者学一个技术可能很容易,但是这个技术如何在企业开发环境中应用这就是技能了,所以在学习的同时,要多应用,最好通过一些案例项目来学习,这样既高效,学习的还扎实。
补充一点,现在的应用级别越来越大,海量数据、高并发是处理的重点,单应用的程序已经无法满足要求,分布式是趋势,Dubbo、Zookeeper、Docker、SpringBoot、SpringCloud、MyCat等技术,包括上面系统模块里提到的一些技术都要学习的。
给你一个中文的吧。
你不想看英文的API;File类是直接继承Object类的。Object类的方法我就不不写了:字段摘要 static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
static char pathSeparatorChar 与系统有关的路径分隔符。 static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
static char separatorChar 与系统有关的默认名称分隔符。 构造方法摘要 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(URI uri) 通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 方法摘要 boolean canExecute() 测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead() 测试应用程序是否可以读取此抽象路径名表示的文件。 boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。
int compareTo(File pathname) 按字母顺序比较两个抽象路径名。 boolean createNewFile() 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
static File createTempFile(String prefix, String suffix) 在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。 static File createTempFile(String prefix, String suffix, File directory) 在指定目录中创建一个新的空文件,使用给定的前缀和后缀字符串生成其名称。
boolean delete() 删除此抽象路径名表示的文件或目录。 void deleteOnExit() 在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
boolean equals(Object obj) 测试此抽象路径名与给定对象是否相等。 boolean exists() 测试此抽象路径名表示的文件或目录是否存在。
File getAbsoluteFile() 返回此抽象路径名的绝对路径名形式。 String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
File getCanonicalFile() 返回此抽象路径名的规范形式。 String getCanonicalPath() 返回此抽象路径名的规范路径名字符串。
long getFreeSpace() 返回此抽象路径名指定的分区中未分配的字节数。 String getName() 返回由此抽象路径名表示的文件或目录的名称。
String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。 File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
String getPath() 将此抽象路径名转换为一个路径名字符串。 long getTotalSpace() 返回此抽象路径名指定的分区大小。
long getUsableSpace() 返回此抽象路径名指定的分区上可用于此虚拟机的字节数。 int hashCode() 计算此抽象路径名的哈希码。
boolean isAbsolute() 测试此抽象路径名是否为绝对路径名。 boolean isDirectory() 测试此抽象路径名表示的文件是否是一个目录。
boolean isFile() 测试此抽象路径名表示的文件是否是一个标准文件。 boolean isHidden() 测试此抽象路径名指定的文件是否是一个隐藏文件。
long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间。 long length() 返回由此抽象路径名表示的文件的长度。
String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 String[] list(FilenameFilter filter) 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。 File[] listFiles(FileFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles(FilenameFilter filter) 返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。 static File[] listRoots() 列出可用的文件系统根。
boolean mkdir() 创建此抽象路径名指定的目录。 boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
boolean renameTo(File dest) 重新命名此抽象路径名表示的文件。 boolean setExecutable(boolean executable) 设置此抽象路径名所有者执行权限的一个便捷方法。
boolean setExecutable(boolean executable, boolean ownerOnly) 设置此抽象路径名的所有者或所有用户的执行权限。 boolean setLastModified(long time) 设置此抽象路径名指定的文件或目录的最后一次修改时间。
boolean setReadable(boolean readable) 设置此抽象路径名所有者读权限的一个便捷方法。 boolean setReadable(boolean readable, boolean ownerOnly) 设置此抽象路径名的所有者或所有用户的读权限。
boolean setReadOnly() 标记此抽象路径名。
方法摘要 char charAt(int index) 返回指定索引处的 char 值。
int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。 int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点)。
int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范围中的 Unicode 代码点数。 int compareTo(String anotherString) 按字典顺序比较两个字符串。
int compareToIgnoreCase(String str) 不考虑大小写,按字典顺序比较两个字符串。 String concat(String str) 将指定字符串联到此字符串的结尾。
boolean contains(CharSequence s) 当且仅当此字符串包含 char 值的指定序列时,才返回 true。 boolean contentEquals(CharSequence cs) 当且仅当此 String 表示与指定序列相同的 char 值时,才返回 true。
boolean contentEquals(StringBuffer sb) 当且仅当此 String 表示与指定的 StringBuffer 相同的字符序列时,才返回 true。 static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的字符串。
static String copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的字符串。 boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。
boolean equals(Object anObject) 比较此字符串与指定的对象。 boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 进行比较,不考虑大小写。
static String format(Locale l, String format, Object。 args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。
static String format(String format, Object。 args) 使用指定的格式字符串和参数返回一个格式化字符串。
byte[] getBytes() 使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。 void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已过时。
该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。
byte[] getBytes(String charsetName) 使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此字符串复制到目标字符数组。
int hashCode() 返回此字符串的哈希码。 int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex) 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。 int indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。
int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。 String intern() 返回字符串对象的规范化表示形式。
int lastIndexOf(int ch) 返回最后一次出现的指定字符在此字符串中的索引。 int lastIndexOf(int ch, int fromIndex) 从指定的索引处开始进行后向搜索,返回最后一次出现的指定字符在此字符串中的索引。
int lastIndexOf(String str) 返回在此字符串中最右边出现的指定子字符串的索引。 int lastIndexOf(String str, int fromIndex) 从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。
int length() 返回此字符串的长度。 boolean matches(String regex) 通知此字符串是否匹配给定的正则表达式。
int offsetByCodePoints(int index, int codePointOffset) 返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。
boolean regionMatches(int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。 String replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
String replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。 String replaceAll(String regex, String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。
String replaceFirst(String regex, String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的第一个子字符串。 String[] split(String regex) 根据给定的正则表达式的匹配来拆分此字符串。
String[] split(String regex, int limit) 根据匹配给定的正则表达式来拆分此字符串。 boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
boolean startsWith(String prefix, int toffset) 测试此字符串是否以指定前缀开始,该前缀以指定索引开始。 CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列。
String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。 。
这个从关键字来理解啊,
1. 如果方法定义前面加final,说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。
2. 如果方法定义前面加static,表示静态方法,方法和类关联,直接由类名来调用。
3. 如果方法定义前面加abstract,表示抽象方法,由继承类来实现。
4. 对于方法前面的public, private,protected等这些是控制方法可以被调用的范围。
5. 如果方法定义前面有native,Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法,一般用不着。
6.如果方法定义前面加synchronized,表示当前方法体是一个临界区,通过锁机制来控制多个线程同步,在多线程应用里面经常使用。
友情提示:
1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1
2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -1
3. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
1、冒泡排序
冒泡排序是一个比较简单的排序方法。在待排序的数列基本有序的情况下排序速度较快。若要排序的数有n个,则需要n-1轮排序,第j轮排序中,从第一个数开始,相邻两数比较,若不符合所要求的顺序,则交换两者的位置;直到第n+1-j个数为止,第一个数与第二个数比较,第二个数与第三个数比较,。。,第n-j个与第n+1-j个比较,共比较n-1次。此时第n+1-j个位置上的数已经按要求排好,所以不参加以后的比较和交换操作。例如:第一轮排序:第一个数与第二个数进行比较,若不符合要求的顺序,则交换两者的位置,否则继续进行二个数与第三个数比较。。。直到完成第n-1个数与第n个数的比较。此时第n个位置上的数已经按要求排好,它不参与以后的比较和交换操作;第二轮排序:第一个数与第二个数进行比较,。。直到完成第n-2个数与第n-1个数的比较;。。第n-1轮排序:第一个数与第二个数进行比较,若符合所要求的顺序,则结束冒泡法排序;若不符合要求的顺序,则交换两者的位置,然后结束冒泡法排序。
共n-1轮排序处理,第j轮进行n-j次比较和至多n-j次交换。
从以上排序过程可以看出,较大的数像气泡一样向上冒,而较小的数往下沉,故称冒泡法。
2、选择排序
选择法的原理是先将第一个数与后面的每一个数依次比较,不断将将小的赋给第一个数,从而找出最小的,然后第二个数与后面的每一个数依次比较,从而找出第二小的,然后第三个数与后面的
3、插入排序
插入排序的原理是对数组中的第i个元素,认为它前面的i-1个已经排序好,然后将它插入到前面的i-1个元素中。插入排序对少量元素的排序较为有效.
4、快速排序
快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按次方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此大道整个数据变成有序序列。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
蜀ICP备2020033479号-4 Copyright © 2016 学习鸟. 页面生成时间:2.821秒