package Method;
public class Demo1 {
public static void main(String[] args) {
// int sum = add(1,2);
// System.out.println(sum);
test();
}
//加法
public static int add(int a,int b){
return a+b;
}
public static void test(){
int i = 0;
int sum = 0;
while (i<100) {
i++;
sum = sum + i;
}
System.out.println(sum);
}
}
方法可以定义在调用之后的地方,加上static方便调用。上面被注释掉的是a+b的一个方法,下面test是输出1-100和的结果
方法调用:
package Method;
public class Demo2 {
public static void main(String[] args) {
int max = max(10,20);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("num1=num2");
return 0;//终止方法
}
if (num1>num2){
result=num1;
}else {
result=num2;
}
return result;
}
}
`
输出20
package Method;
public class Demo2 {
public static void main(String[] args) {
int max = max(10,20);
System.out.println(max);
}
//比大小
public static double max(double num1,double num2){
double result = 0;
if (num1==num2){
System.out.println("num1=num2");
return 0;//终止方法
}
if (num1>num2){
result=num1;
}else {
result=num2;
}
return result;
}
public static int max(int num1,int num2){
int result = 0;
if (num1==num2){
System.out.println("num1=num2");
return 0;//终止方法
}
if (num1>num2){
result=num1;
}else {
result=num2;
}
return result;
}
}
使用同一个方法名的时候,调用时编译器会根据参数不同自己去匹配,所以可以多个方法用同一个名字,这就是方法的重载
右键点击文件,然后open in->explorer可以在文件夹中打开.java文件
然后在前面输入cmd+空格,在命令行中打开,cd../是回退路径指令
在包里编译的文件要退回到src文件夹才可以执行
package Method;
public class Demo3 {
public static void main(String[] args) {
//args.length 数组长度
for (int i = 0; i < args.length; i++) {
System.out.println("args["+i+"]:"+args[i]);
}
}
}
Microsoft Windows [版本 10.0.18363.1379]
(c) 2019 Microsoft Corporation。保留所有权利。
F:\notepad++\JavaSE\基础语法\src\Method>javac Demo3.java
F:\notepad++\JavaSE\基础语法\src\Method>java Demo3
错误: 找不到或无法加载主类 Demo3
F:\notepad++\JavaSE\基础语法\src\Method>cd../
F:\notepad++\JavaSE\基础语法\src>java Method.Demo3
F:\notepad++\JavaSE\基础语法\src>what is your name
‘what‘ 不是内部或外部命令,也不是可运行的程序
或批处理文件。
F:\notepad++\JavaSE\基础语法\src>java Method.Demo3 What is your name
args[0]:What
args[1]:is
args[2]:your
args[3]:name
F:\notepad++\JavaSE\基础语法\src>
alt+enter可以自动补全new Demo的对象
上图的代码可以实现遍历数组选出最大值的功能
package Method;
public class Demo4 {
public static void main(String[] args) {
Demo4 demo4 = new Demo4();
demo4.test(1,2,3,4,5);
}
public void test(int x,int... i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
}
}
输出
1
2
3
4
边界条件:让程序终止的地方
前阶段
返回阶段
java是使用栈机制的,基数太大的话就会溢出,所以一半的小计算可以用递归,但是太大的计算就要换别的算法来实现了,递归主要是注重这种思想。
package Method;
public class Demo6 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if (n==1){
return 1;
}else {
return n*f(n-1);
}
}
}
这是阶乘的递归算法
原文:https://www.cnblogs.com/hjhstudycs/p/14468567.html