非专业码农 JAVA学习笔记 6java工具类和算法-string
2014-10-21 19:52 super2046 阅读(301) 评论(0) 编辑 收藏 举报续《非专业码农 JAVA学习笔记 5 java工具类和算法》
五、字符串string
字符串和字符的差别:字符串双引号括起来”n”,字符用单引号括起来,表示一种符号’\n’
1.string的主要方法和属性
类 |
方法或者属性 |
备注 |
定义string |
Stirng s=new string(“值”),string s=”值” |
|
属性 |
string.length:string的长度为字节 |
|
方法startswith,endswith |
s.startwith(“值”)-以值为开头,s.endswith(“”)-结尾 |
|
方法:查找indexof |
s.indexOf(“值”)-找到值第一次出现的位置(0开始) |
|
|
s.lastIndexOf(“”)-找到值最后一次出现的位置 |
|
|
(char)s.charAt(int index)-找出第几位的字符 |
|
|
(last)IndexOf(str,strindex),找出本字符和str第位相同... |
|
方法:比较 |
Bool s.equals(s0),s.compareTo(s2),结果1,0,-1(C#) |
|
方法:连接concat |
s.concat(s0),相当于+ |
|
Stringbuffer(C#stringbuilder) |
实例化后:append(“value”)加入;insert(n,“value”); setChatAt(n,’值’)-n为index |
|
2.javaapplication命令行参数(输入) UserComLParameter.java
public class UserComLParameter
{
public static void main (String args[]) //args[]数组,可以输不定数量的string
{
int a1,a2,a3;
if(args.length<2)
{
System.out.println(“运行本程序应该提供两个命令行参数”);
System.exit(0);
}
a1=Integer.parseInt(args[0]);//定义好类型,方便计算
a2=Integer.parseInt(args[1]);
a3=a1*a2;
System.out.println(a1+“与”+a2+”的乘积等于”+a3);
}
}
命令行:javac UserComLParameter.java 然后java UserComLParameter 52 -4,这里输入了两个参数的具体值
六、递归(自己调用自己,增长起来)
long Factorical(int n)
{
If(n==1)
Return 1;//递归头
Else
Return n.Factorical(n-1);//递归调用自身
}
可用于数列规律这类,分步走,限定好递归头的范围,然后分层,最后小心不要无限循环
七、排序(靠理解,跟C#差不多,这里只写出原理)
1.冒泡-两两对比,顺序取大,倒序取小的,然后跟后面的比;遍历n-1轮即可
2.选择排序-从目标选择最小或者最大的,放到排序列;重复工作一直挑选完为止
3.插入排序:选择,这里是根据虚拟有序列的位置来抽某个无序列的数
4.系统排序函数:(void) sort(“”);
八、查找
1.顺序查找:遍历
2.对分查找-中间数,分两列,大于活着小于,排除一列…一直下去
3.系统查找:Arrays的 binarySearch([数组],key关键值)
九、链表十、队列十一、堆栈十二、分叉树
(略,有空还是要认真看看,或许会用得上,平时项目少用,有人看到觉得重要说一声,我重新看看)