1. 程式人生 > >Java程式設計(Java9版):第5章 方法

Java程式設計(Java9版):第5章 方法

5.1 方法定義

jshell> int add(int a,int b){
   ...>    return a+b;
   ...> }
|  已建立 方法 add(int,int)

jshell> add(1,2)
$25 ==> 3

jshell>
jshell> double area(double r){
   ...>    return Math.PI*r*r;
   ...> }
|  已建立 方法 area(double)

jshell> area(2)
$27 ==> 12.566370614359172

jshell>

5.2 遞迴方法

jshell> int fact(int n){
   ...>     if(n<=1) return 1;
   ...>     return n*fact(n-1);
   ...> }
|  已建立 方法 fact(int)

jshell> fact(12)
$29 ==> 479001600

jshell>
jshell> int fib(int n){
   ...>   if(n<=2) return 1;
   ...>   else  return fib(n-1)+fib(n-2);
   ...> }
|  已修改 方法 fib(int)

jshell> fib(12)
$37 ==> 144

jshell>
jshell> void hanoi(int n,char a,char b,char c){
   ...>    if(n>0){
   ...>       hanoi(n-1,a,c,b);
   ...>       System.out.println("移動第"+n+"個盤子,從"+a+"到"+b);
   ...>       hanoi(n-1,c,b,a);
   ...>    }
   ...> }
|  已建立 方法 hanoi(int,char,char,char)

jshell> hanoi(3,'A','B','C')
移動第1個盤子,從A到B
移動第2個盤子,從A到C
移動第1個盤子,從B到C
移動第3個盤子,從A到B
移動第1個盤子,從C到A
移動第2個盤子,從C到B
移動第1個盤子,從A到B

jshell>

5.3 不定引數

jshell> double avg(double ... x){
   ...>      double result=0;
   ...>          for(double d:x)
   ...>          result+=d;
   ...>          return result/=x.length;//x就是陣列
   ...>     }
|  已建立 方法 avg(double ...)

jshell> avg(2,3,5,7)
$41 ==> 4.25

jshell>

5.4 兩類引數

jshell> void h(int x){
   ...>          x++;
   ...>  }
|  已建立 方法 h(int)

jshell> void f(int[] x){
   ...>         for(int i=0;i<x.length;i++)
   ...>         x[i]=i+1;
   ...>  }
|  已建立 方法 f(int[])

jshell>  int x=3;
x ==> 3

jshell> h(x);

jshell> System.out.println("x="+x);
x=3

jshell> int[] a=new int[10];
a ==> int[10] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

jshell> f(a);

jshell> for(int i:a)
   ...>             System.out.print(i+" ");
1 2 3 4 5 6 7 8 9 10
jshell> a
a ==> int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }

jshell>

5. 5 使用外部程式碼編輯器來編寫Java 程式碼

5.5.1 使用預設程式碼編輯器

JShell工具附帶一個預設的程式碼編輯器。 在jshell中,可以使用/edit命令來編輯所有的片段或特定的片段。 /edit命令在編輯器中開啟該片段。

jshell> int add(int a,int b){
   ...>    return a+b;
   ...> }
|  已建立 方法 add(int,int)

jshell> /edit add

在這裡插入圖片描述

jshell> /edit add
|  已修改 方法 add(int,int)

jshell>
jshell> add(1,2);
1,2
$3 ==> 3

jshell>

5.5.2 notepad++

jshell> /set editor C:\Program Files\Notepad++\notepad++.exe -default
|  編輯器設定為: C:\Program Files\Notepad++\notepad++.exe -default

jshell> /exit
|  再見

C:\Users\Administrator>