Java知识点最佳实践
0x1 冒泡排序:
package com.Mubai;
import jdk.nashorn.api.tree.ForInLoopTree;
public class MaoPao {
public static void main(String[] args) {
int[] a={21,34,83,67,12,4,122,66};
//冒泡排序
System.out.println("排序前的数组元素:");
for(int n:a){
System.out.print(n+" ");
}
System.out.println();
int temp;
for(int i=0;i<a.length-1;i++){
//内重循环控制每趟排序
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
System.out.println("排序后的数组元素:");
for(int n:a){
System.out.print(n+" ");
}
}
}
0x2 方法调用
package com.Mubai;
public class JieCheng {
//求阶乘的方法
public int fac(int n) {
int s = 1;
for (int i = 1; i <= n; i++) {
s *= i;
}
return s;
}
//调用阶乘方法
public static void main(String[] args) {
JieCheng jieCheng = new JieCheng();
int fac = jieCheng.fac(5);
System.out.println("5!="+fac);
double sum = 0.0;
for(int i=1;i<=5;i++){
fac=jieCheng.fac(i);
double num = 1.0/fac;
sum += num;
}
System.out.println("1+1/2!+1/3!+1/4!+1/5!="+sum);
}
}
0x3 数组查找
package com.Mubai;
import java.util.Scanner;
public class ArraySearch {
public boolean search(int n,int[] arr){
boolean flag = false; //默认没找到
for(int i=0;i<arr.length;i++){
if(arr[i]==n){
flag = true; //找到了
break;
}
}
return flag;
}
public static void main(String[] args) {
int[] arr={1,23,34,21,43,55,56};
Scanner sc = new Scanner(System.in);
System.out.println("请输入要查询的数据:");
int n = sc.nextInt();
ArraySearch as = new ArraySearch();
boolean flag = as.search(n,arr);
if(flag){
System.out.println("找到啦!");
}else {
System.out.println("没找到!");
}
}
}
0x4 方法重载
package com.Mubai;
public class MethodReload {
public int plus(int m,int n){
return m+n;
}
public double plus(double m,double n){
return m+n;
}
public int plus(int[] arr){
int sum=0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
}
return sum;
}
public static void main(String[] args) {
int m =5,n=10;
int[] arr={1,2,3,4,5,6};
MethodReload methodReload = new MethodReload();
System.out.println("int类型和"+methodReload.plus(m,n));
System.out.println("double类型和"+methodReload.plus(2.1,1.2));
System.out.println("arr类型和"+methodReload.plus(arr));
}
}
0x5 可变参数列表
package com.Mubai;
public class ArgsDemo {
public void sum(int... n){
int sum=0;
for(int i:n){
sum+=i;
}
System.out.println("sum="+sum);
}
public static void main(String[] args) {
ArgsDemo add=new ArgsDemo();
add.sum(1);
add.sum(1,2);
add.sum(1,2,3);
}
}
改写数组查找
package com.Mubai;
public class ArgsSearch {
public void search(int n, int... a) {
boolean flag = false;
for (int num : a) {
if (num == n) {
flag = true;
break;
}
}
if (flag){
System.out.println("找到了!");
}else {
System.out.println("没找到!");
}
}
public static void main(String[] args) {
ArgsSearch ad = new ArgsSearch();
ad.search(3,1,2,3,4,56,7);
int[] a={1,2,3,4,5};
ad.search(3,a);
}
}
注:
- 数组作为参数时,是不能将多个值传递给数组的!
- 在方法定义中,认为当前的两个search方法重复定义,而不是重载!
- 参数列表中如果有两个以上的参数,可变参数一定是在最后的!
- 可以将数组传递给可变参数列表。