1.For循环
package sum1_100;
/**
* For
*/
public class Sum100m1 {
public static void main(String[] args) {
int result = 1;
for(int i = 2;i <= 100;i++){
result += i;
}
System.out.println(result); // 5050
}
}
2.递归、静态方法
package sum1_100;
/**
* 递归
*/
public class Sum100m2 {
public static int add(int a){
if(a == 1) return 1;
else
return a + add(a-1);
}
public static void main(String[] args) {
System.out.println(add(100));
}
}
3.类方法
package sum1_100;
public class Sum100m3 {
public int add(int a){
int result = 0;
for(int i=0;i<=a;i++){
result += i;
}
return result;
}
public static void main(String[] args) {
Sum100m3 sum100m3 = new Sum100m3();
int result = sum100m3.add(100);
System.out.println(result);
}
}
4.等差数列求和公式
package sum1_100;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* 等差数列求和公式
*/
public class Sum100m4 {
/**
* @param a1 首项
* @param a2 末项
* @param n n项
* @return 等差数列之和
*/
int dc_sum(int a1,int a2,int n){
return (a1 + a2)*n/2;
}
/**
* @param a1 首项
* @param d 公差
* @param n n项
* @return 等差数列之和
*/
int dc_sum2(int a1,int d,int n){
return a1*n + n*(n-1)/2*d;
}
public static void main(String[] args) {
int result = new Sum100m4().dc_sum(1,100,100);
int result2 = new Sum100m4().dc_sum2(1,1,100);
System.out.println(result);
System.out.println(result2);
}
}
5.Stream求和API
package sum1_100;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Stream求和函数
*/
public class Sum100m5 {
public static void main(String[] args) {
int[] arr = new int[100];
for(int i = 1;i <= 100;i++){
arr[i-1] = i;
}
System.out.println(Arrays.stream(arr).sum());
}
}
6.反射
package sum1_100;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
public class Sum100m6 {
public static int add(int a){
if(a == 1) return 1;
else
return a + add(a-1);
}
public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
Class<Sum100m6> sum100m6Class = Sum100m6.class;
Method add = sum100m6Class.getDeclaredMethod("add",int.class);
// System.out.println(add); // public static int sum1_100.Sum100m6.add(int)
Integer invoke = (Integer) add.invoke("", 100);
System.out.println(invoke);
}
}
文章来源地址https://www.toymoban.com/news/detail-793841.html
文章来源:https://www.toymoban.com/news/detail-793841.html
到了这里,关于Java求1到100和的6种方式(运用不同语法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!