int sum = 0;
for (int i = 1; i <= 5; i++) {
int tmp = 1;
for (int j = 1; j <= i; j++) {
tmp *= j;
}
sum += tmp; }
System.out.println("sum = " + sum);
這個代碼運用的嵌套,容易寫錯,接下里通過方法來優化代碼,
class Test {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 5; i++) {
sum += factor(i);
}
System.out.println("sum = " + sum);
}
public static int factor(int n) {
System.out.println("計算 n 的階乘中! n = " + n);
int result = 1
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}
// 執行結果
計算 n 的階乘中! n = 1
計算 n 的階乘中! n = 2
計算 n 的階乘中! n = 3
計算 n 的階乘中! n = 4
計算 n 的階乘中! n = 5
sum = 153
1.2 方法呼叫程序
class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
swap(a, b);
System.out.println("a = " + a + " b = " + b);
}
public static void swap(int x, int y) {
int tmp = x;
x = y;
y = tmp;
}
}
// 運行結果
a = 10 b = 20
int a = 10;
int b = 20;
int x = a;
int y = b;
int tmp = x; x = y; y = tmp;
class Test {
public static void main(String[] args) {
int[] arr = {10, 20};
swap(arr);
System.out.println("a = " + arr[0] + " b = " + arr[1]);
}
public static void swap(int[] arr) {
int tmp = arr[0];
arr[0] = arr[1];
arr[1] = tmp;
}
}
// 運行結果
a = 20 b = 10
class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
print(a, b);
}
public static void print(int x, int y) {
System.out.println("x = " + x + " y = " + y);
}
}
class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = add(a, b);
System.out.println("ret = " + ret);
double a2 = 10.5;
double b2 = 20.5;
double ret2 = add(a2, b2);
System.out.println("ret2 = " + ret2);
}
public static int add(int x, int y) {
return x + y;
}
}
// 編譯出錯
Test.java:13: 錯誤: 不兼容的型別: 從double轉換到int可能會有損失
double ret2 = add(a2, b2);
^
class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = addInt(a, b);
System.out.println("ret = " + ret);
double a2 = 10.5;
double b2 = 20.5;
double ret2 = addDouble(a2, b2);
System.out.println("ret2 = " + ret2);
}
public static int addInt(int x, int y) {
return x + y;
}
public static double addDouble(double x, double y) {
return x + y;
}
}
public static void main(String[] args) {
int a = 10;
int b = 20;
int ret = add(a, b);
System.out.println("ret = " + ret);
double a2 = 10.5;
double b2 = 20.5;
double ret2 = add(a2, b2);
System.out.println("ret2 = " + ret2);
double a3 = 10.5;
double b3 = 10.5;
double c3 = 20.5;
double ret3 = add(a3, b3, c3);
System.out.println("ret3 = " + ret3);
}
public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static double add(double x, double y, double z) {
return x + y + z;
}
}
public static void main(String[] args) {
int n = 5;
int ret = factor(n);
System.out.println("ret = " + ret);
}
public static int factor(int n) {
if (n == 1) {
return 1;
}
return n * factor(n - 1); // factor 呼叫函式自身
}
// 執行結果
ret = 120
注:初來乍到,才疏學淺,如有不當之處,多多指教,我自己也會堅持學習,期待更好的自己!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/293947.html
標籤:java
下一篇:# Day10-Java基礎
