public class MethodDemo1 {
/*
* 方法 :就是一套功能,类似学过的函数(方法不能嵌套,定义在类块当中)
* 1.访问控制符 public
* 2.修饰符static:静态,静态方法可以被另一个静态方法直接调用
* 3.方法的返回值(void:无返回值,任意的数据类型;利用return返回对应类型的数据)
* 4.方法的形参
* 5.方法体
* 方法如果想要被执行,需要被调用
* 不要把打印的数据当做返回值
*/
public static void getSum1() {
int num1 = 10;
int num2 = 20;
System.out.println(num1+num2);
}
public static int getSum2() {
int num1 = 10;
int num2 = 20;
System.out.println(num1+num2);
// 利用return返回数据:1.返回数据2.结束方法
return num1+num2;
}
public static void main(String[] args) {
getSum1();
int num2 = getSum2();
}
}
ublic class MethodDemo3 {
// 返回数组
public static int[] sort() {
int arr[] = {1234,657,213,456,1,7,96};
for(int i = 1;i < arr.length;i++) {
for(int j = 0;j < arr.length - i;j++) {
if(arr[j] < arr[j+1]) {
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
public static void main(String[] args) {
int arr[] = sort();
for(int num : arr) {
System.out.print(num+" ");
}
}
}
有参方法
public class MethodDemo4 {
public static void getSum(int num1,int num2) { // 形参 : 也是这个方法的局部变量
num1 = 30;
num2 = 60;
System.out.println(num1+num2);
}
public static void main(String[] args) {
// 参数
getSum(31,33);
getSum(11,61);
getSum(11,63);
getSum(113,6);
}
}
注意问题
public class MethodDemo5 {
public static void getNum1(int x) {
x = x * 3;
}
public static void getNum2(int y[]) {
y[0] = y[0] * 3;
}
public static void test(int num,String str,double d,boolean b,char c[]){
return;
}
public static int testReturn() {
int num = 100;
if(num > 10) {
return num;
}
return 10;
}
public static String testReturn2() {
String str = "a";
if(str.length() > 1) {
return "1";
}else {
return null;
}
}
public static void main(String[] args) {
int x = 10;
System.out.println(x);// 10
getNum1(x);
System.out.println(x);// 10
int y[] = {10};
System.out.println(y[0]);// 10
getNum2(y);
System.out.println(y[0]);// 30
}
}
重载
public class MethodDemo6 {
// 前提:在一个class中,不允许声明同名且同参的方法
public static int test1(double a,int i) {
return 1;
}
public static double test1(int i,double a) {
return 1.1;
}
public static void main(String[] args) {
// 重载(静态多态,编译时多态,overload):在一个类中,同名不同参的方法
test1(1.0,1);
}
}
构造器
public class MethodDemo1 {
// 特殊的方法:构造器(构造方法)
// 1.这个方法名字 -- 必须和类名完全一样
// 2.没有返回值,连void也写
// 3.不能用static修饰
public MethodDemo1() {
System.out.println(123);
}
public MethodDemo1(int i) {
}
public static void main(String[] args) {
Random r = new Random();
}
}
创建对象
public class ClassDemo2 {
String name;
public int getNum() {
return 1;
}
public void showInfo(String n) {
System.out.println(n+"你好");
}
public double getDouble(double num1,double num2) {
return num1/num2;
}
}
public class ClassDemo2Test {
public static void main(String[] args) {
ClassDemo2 cd = new ClassDemo2();
cd.name = "张三";
cd.showInfo("老师");
int num = cd.getNum();
System.out.println(num);
double num1 = cd.getDouble(5.3, 1.1);
System.out.println(num1);
}
}
全局变量存在默认值
public class ClassDemo3Test {
public static void main(String[] args) {
// 局部变量使用前必须赋值
// String str;
// System.out.println(str);
ClassDemo3 cd = new ClassDemo3();
System.out.println(cd.name);
cd.name = "李四";
System.out.println(cd.name);
// 全局变量有默认值
// 整型0,浮点型0.0,布尔false,字符型\u0000,引用数据类型null
cd.show();
System.out.println(cd.age);
ClassDemo3 cd1 = new ClassDemo3();
cd1.name = "王五";
cd1.show();
}
}
就近原则
public class ClassDemo4 {
String name;
// 就近原则
public void show(String name) {
System.out.println(name);
}
public void test() {
show("赵六");
System.out.println(name);
}
}
对象类型数组
public class ClassDemo6 {
public static void main(String[] args) {
int num = 10;
int arr[] = {num};
Student s1 = new Student("zhangsan","man",22);
Student s2 = new Student("lishi","woman",32);
Student s3 = new Student("wanghu","man",66);
Student s[] = {s1,s2,s3};
// 遍历这个数组,打印出所有学员的详细信息
// for(int i = 0;i < s.length;i++) {
// Student stu = s[i];
// System.out.println(stu.name);
// }
for(Student stu : s) {
System.out.println(stu.name+","+stu.gender+","+stu.age);
}
}
}
网友评论