JAVA基础知识
树越要往上长,它的根,越是要往下扎。
共勉!
递归
递归函数,通俗的说就是函数本身自己调用自己
递归头:什么时候不调用自己方法,即递归的结束条件
递归体:什么时候需要调用自己方法,即自己调用自己
再多的解释还不如一个程序来的清晰,上例子:
/**
* 递归实现1+2+3+4+….+100
*/
public static int test2_3(int a){
if (a==1)return 1;
else{
return a + test2_3(--a);
}
}
//要求输出一个序列:1,1,2,3,5,8,13......(每一个数为前两个数子之和,要求用递归函数)
public static int test2_4(int a){
if (a==1){
return 1;
}
else if(a==2){
return 1;
}
else{
return test2_4(a-1)+test2_4(a-2);
}
}
public static void test2_4_1(int a){
for (int i=1;i<=a;i++){
System.out.print (test2_4(i)+" ");
}
}
//阶乘
public static int test2_6(int a){
if (a == 1)return 1;
else{
return a * test2_6(--a);
}
}
参考连接1:
https://www.jb51.net/article/32164.htm
排序
/**
* 定义一个List,插入100个随机数字。对该List进行去重,并按照从小到大排序。
*/
public static void test1(){
List<Integer> list = new ArrayList();
for (int i=0;i<100;i++){
list.add((int) Math.round(Math.random()*100));
}
int temp = 100;
for (int i=0;i<temp;i++){
for (int j=i+1;j<temp;j++){
int a = list.get(i);
int b = list.get(j);
if (a == b){
list.remove(j);
j--;
temp --;
}else if (a > b){
list.set(j,a);
list.set(i,b);
}
}
}
for (int i=0;i< list.size();i++){
System.out.println("第"+(i+1)+"个值为:"+list.get(i));
}
}
字符串反转:
String a = "qwe";
//方法一
System.out.println(new StringBuffer(a).reverse().toString());
//方法二
StringBuilder sb = new StringBuilder();
for (int i = a.length()-1;i>=0;i--){
sb.append(a.charAt(i));
System.out.println(a.charAt(i));
}
//方法三
char[] achar = a.toCharArray();
for (int i =achar.length-1;i>=0;i--){
sb.append(achar[i]);
System.out.println(achar[i]);
}
System.out.println(sb.toString());