zoukankan      html  css  js  c++  java
  • Java知识7 Java方法 void关键字 构造方法【多测师】

    一、Java方法:
    println 是一个方法
    System  是系统类
    out  是标准输出对象
    这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
    
    方法定义:包含的语法
    修饰符 返回值类型 方法名(参数类型 参数名){ 
    ... 
    方法体 
    ... 
    return 返回值; }
    修饰符:可选的 告诉编译器如何调用该方法 定义了方法的访问类型
    返回值类型:方法可能有返回值 returnValueType是返回数据类型 没有返回值returnValueType为void
    方法名:方法名和参数表共同构成方法签名
    参数类型:参数像一个占位符 当方法被调用的时候 传递值给参数、这个值被称为实参或变量 参数列表是
    指方法的参数类型、顺序和参数的个数 参数是可选的 方法可以不包含任何参数
    方法体:方法体包含具体的语句 定义该方法的功能
    
    在一些其它语言中方法指过程和函数。一个返回非void类型返回值的方法称为函数;一个返回void类型返回值的方法叫做过程。
    实例:下面方法包含2个参数 num1和num2 它返回这俩个参数的最大值
    /** 返回两个整型变量数据的较大值 */
    public static int max(int num1, int num2) {
       int result;
       if (num1 > num2)
          result = num1;
       else
          result = num2;
       return result;
    }
    
    二、方法调用
    定义一个方法、进行调用代码如下:
    public class TestMax {
      /** 主方法 */
      public static void main(String[] args) {
       int i = 5;
       int j = 2;
       int k = max(i, j);
       System.out.println(i + " 和 " + j + " 比较,最大值是:" + k);
      }
    
      /** 返回两个整数变量较大的值 */
      public static int max(int num1, int num2) {
       int result;
       if (num1 > num2)
        result = num1;
       else
        result = num2;
    
       return result;
      }
    }
    这个程序包含 main 方法和 max 方法。main 方法是被 JVM 调用的,除此之外,
    main 方法和其它方法没什么区别。
    main 方法的头部是不变的,如例子所示,带修饰符 publicstatic,返回 void 类型值,
    方法名字是 main,此外带个一个 String[] 
    类型参数。String[] 表明参数是字符串数组。
    
    三、void关键字
    举例看如何声明和调用一个void方法
    public class TestVoidMethod {
      public static void main(String[] args) {
       printGrade(78.5);
      }
    
      public static void printGrade(double score) {
       if (score >= 90.0) {
        System.out.println('A');
       } else if (score >= 80.0) {
        System.out.println('B');
       } else if (score >= 70.0) {
        System.out.println('C');
       } else if (score >= 60.0) {
        System.out.println('D');
       } else {
        System.out.println('F');
       }
      }
    }
    运行结果:C
    这里printGrade方法是一个void类型方法,它不返回值。
    一个void方法的调用一定是一个语句。 所以,它被在main方法第三行以语句形式调用。就像任何以分号结束的语句一样。
    
    四、通过值传递参数
    调用一个方法适合需要提供参数、你必须按照参数列表指定的顺序提供
    举例子:按值传递效果 创建一个方法 用户交换俩个变量
    public class TestPassByValue {
      public static void main(String[] args) {
       int num1 = 1;
       int num2 = 2;
    
       System.out.println("交换前 num1 的值为:" + num1 + " ,num2 的值为:" + num2);
    
       // 调用swap方法
       swap(num1, num2);
       System.out.println("交换后 num1 的值为:" + num1 + " ,num2 的值为:" + num2);
      }
    
      /** 交换两个变量的方法 */
      public static void swap(int n1, int n2) {
       System.out.println("	进入 swap 方法");
       System.out.println("		交换前 n1 的值为:" + n1 + ",n2 的值:" + n2);
       // 交换 n1 与 n2的值
       int temp = n1;
       n1 = n2;
       n2 = temp;
    
       System.out.println("		交换后 n1 的值为 " + n1 + ",n2 的值:" + n2);
      }
    }
    
    五、变量作用域
    方法内定义的变量为局部变量、局部变量的作用范围从声明开始 直到包含它的块结束
    
    六、构造方法
    当一个对象被创建时、构造方法用来初始化该对象、构造方法和类同名字 但构造方法没有返回值
    通常会使用构造方法给一个类的实例变量赋初值
    不管你是否定义了构造方法 所有的类都有构造方法 因为Java自动提供了一个默认的构造方法
    它把所有成员初始化为0 
    自己定义了构造方法、默认的构造方法就会失效
    实例代码如下:(没有给参数的构造方法)
    //一个简单的构造函数
    class MyClass {
      int x;
    
      // 以下是构造函数
      MyClass() {
       x = 10;
      }
    }
    
    public class ConsDemo {
      public static void main(String args[]) {
       MyClass t1 = new MyClass();
       MyClass t2 = new MyClass();
       System.out.println(t1.x + " " + t2.x);
      }
    }
    运行结果:10  10
    
    如下为有参数的构造方法:
    //一个简单的构造函数
    class MyClass {
      int x;
    
      // 以下是构造函数
      MyClass(int i) {
       x = i;
      }
    }
    
    public class ConsDemo {
      public static void main(String args[]) {
       MyClass t1 = new MyClass(10);
       MyClass t2 = new MyClass(20);
       System.out.println(t1.x + " " + t2.x);
      }
    }
    运行结果:10  20
    
    七、可变参数
    Java支持传递同类型的可变参数给一个方法
    在方法声明中、在指定参数类型后加一个省略号(…)
    一个方法中只能指定一个可变参数、它必须是方法的最后一个参数 任何普通的参数必须在它之前声明
    public class VarargsDemo {
      public static void main(String args[]) {
       // 调用可变参数的方法
       printMax(34, 3, 3, 2, 56.5);
       printMax(new double[] { 1, 2, 3 });
      }
    
      public static void printMax(double... numbers) {
       if (numbers.length == 0) {
        System.out.println("No argument passed");
        return;
       }
    
       double result = numbers[0];
    
       for (int i = 1; i < numbers.length; i++) {
        if (numbers[i] > result) {
         result = numbers[i];
        }
       }
       System.out.println("The max value is " + result);
      }
    }
    
    八、实例化对象
    import java.util.Date;
    
    public class DateDemo {
      public static void main(String[] args) {
       //初始化Date对象、进行实例化
       Date date = new Date();   //创建一个Date对象
       date.toString();
       //使用 toString() 函数显示日期时间
       System.out.println(date);
      }
    }
  • 相关阅读:
    SharePoint 2010 新体验3 文档集
    Firebird 修改表名
    C++Builder XE7 up1 简单测试
    Firbird 将可 null 的列更新为 not null
    用delphiXE7 dbExpress Framework提供的功能获取数据表信息
    Linux的基本命令总结
    IOS 隐藏时间条
    最大流 ZQUOJ 10181 && POJ 1273
    最大二分匹配 匈牙利算法模板&&POJ 1469 COURSES
    新加坡第四天下午
  • 原文地址:https://www.cnblogs.com/xiaoshubass/p/13110725.html
Copyright © 2011-2022 走看看