/*
关于Java语言中的方法:
1、方法定义,语法结构:
[修饰符列表] 返回值类型 方法名(形参列表){
方法体
}
2、方法修饰符列表中"有static关键字的话"方法调用: 类名.方法名(实参列表)
3、返回值类型:数据类型int float等等,void关键字为无返回值类型。
4、方法名首字母要求小写,后面每个单词首字母大写
5、形参是局部变量,形参个数为:0~N个
*/
public class no3 {
public static void sumSa(int x,int y){
System.out.println(x+"+"+y+"="+(x+y));
}
public static void main(String[] args){
sumSa(3,4); //标准调用为:no3.sumSa(3,4);调用本类方法可以省略"类名." ,调用其他类中方法不可省。
A.smSW();
/*
有返回值时需要建立一个变量来接收,该变量需与返回值类型相同或者可以自动转换类型
单纯调用 chuFa(10,5)则没有接收方法的返回值
赋值运算符的右边先执行,将执行结果赋值给左边的变量
也可以直接System.out.println(chuFa(10,2))调用
*/
//int a = chuFa(10,5);
//System.out.println(a);
System.out.println(chuFa(10,2));
}
public static int chuFa(int i,int j){
return i / j;
}
}
class A{
public static void smSW(){
System.out.println("wearechapion");
}
}
/* 在同一个作用域当中,return语句下面不能编写语句,否则报错。
如:if(a>3){
return1
System.out.println();
} //程序将会报错
//编译报错,缺少返回语句,以下程序编译器认为无法百分百保证 return 1 会执行。
public static int m(){
int a = 10;
if(a>3){ //无法百分百保证 if(a>3) 这个boolean类型值是true还是false
return 1;
}
}
\\以下程序编译通过
public static int m(){
int a = 10;
if(a>3){
return 1;
}else{
return 0;
}
}
*/
/*
对于类型为空的方法,可是用语句 "return;"来终止语句。
如:
public static void m(){
for(int i = 0;i<10;i++){
if( i == 5){
return; //终止m()方法,只会输出0 1 2 3 4 5,不会输出hello
//若是break; 终止for循环,输出 012345 和 hello
}
System.out.println("i -- >"+i);
}
System.out.println("hello");
}
*/
实例方法:不带static关键字的方法,用 “引用.”进行访问。
定义一个方法时如何判断加不加static关键字?
如:定义一个“顾客购物”的方法。
-每一个顾客购物最终的结果不一样,所有购物这个行为属于对象级别。
-由于每个对象(如:张三、李四买的不一样)在执行购物这个动作时最终结果不 同,所有购物这个动作必须有“对象参与”.
递归:
import java.util.Scanner;
public class Fangfadigui {
public static void main(String[] args){
System.out.print("input:");
int n = new Scanner(System.in).nextInt();
System.out.println(sum(n));
}
public static int sum(int n){
if(n == 1){
return 1;
}
return n + sum(n - 1); //若计算n!(n的阶乘),则把"+"改为"*",即return n*sum(n-1);
}
}
重载:
public class Fangfachongzai {
public static void main(String[] args){
qrint("hello");
qrint(10);
}
public static void qrint(int data){
System.out.println(data);
}
public static void qrint(String data){
System.out.println(data);
}
public static void qrint(float data){
System.out.println(data);
}
public static void qrint(double data){
System.out.println(data);
}
}
类与引用:
public class User {
//属性【以下都为成员变量之实例变量】
//no为实例变量
int no;
//String为引用数据类型(Java自带)
//name是一个引用
String name;
//Addr为引用数据类型(自己定义的):代表家庭住址
//addr是一个实例变量
//addr是一个引用
Addr addr;
}
public class leiheduixiang {
public static void main(String[] args){
User u = new User();
u.addr = new Addr();
System.out.println("input:");
System.out.println("居住城市:"+u.addr.city+"街道:"+u.addr.jiedao+"邮编:"+u.addr.zipcode);
}
}