1-Java 类方法详解

本章概要:
1、static 关键字
2、定义无参数的方法
3、定义带参数的方法
4、定义带返回值的方法

1、static 关键字


课程概要:
  类方法
  静态变量

一、类方法

1、由static 修饰的方法称为类方法或静态方法。

2、过程:.java文件--> javac.exe编译 --> .class 文件 --> java.exe解释器 -->内存的方法区,静态方法被创建

二、静态变量

1、由static修饰的变量称为静态变量,也称类变量。

2、静态变量定义的位置是在方法之外。

3、静态变量与静态方法都是类从磁盘加载至内存后被创建的,与类同时存在,同时消亡。

4、静态变量又称类的成员变量,在类中是全局变量,可以被类中的所有方法调用。

5、静态变量耳朵值由JVM自动初识话,以下是各类型变量初始化值列表:

变量类型 初始值
整型 0
浮点型 0.0
字符型 unicode码为0的字符,该字符不可见
布尔型 false
字符串型 null

【示例】
键盘输入一个人的姓名、性别、年龄、身高、性格、然后让该人向大家做自我介绍。
代码:

import java.util.Scanner;

public class Introduce{

    static String name;
    static char sex;
    static short age;
    static float height;
    static String type;
    

    public static void main(String[] arg){
        Scanner scanner = new Scanner(System.in) ;
        System.out.println("Name: ");
        name=scanner.next();                   //1
        System.out.println("Sex: ");
        sex=scanner.next().charAt(0);      //2
        System.out.println("Age: ");
        age=scanner.nextShort();
        System.out.println("Height: ");      //3
        height=scanner.nextFloat();
        System.out.println("Type: ");
        type=scanner.next();
        System.out.print("Hello,my name is "+name+".");
        System.out.print("I'm "+ age+" this year.");
        System.out.println("And I'm"+height+" cm.");
        System.out.println("I'm a "+type+sex+" boy.");

    }
}

*****//1 scanner.next()
输入如果是ABCdef ,则读取所有字符串。如果输入是ab c def, 则只会读取ab。

*****//2 scanner.next().charAt(0)
读取输入字符串的第一个字符

*****//3 System.out.print()和System.out.println()
使用System.out.print()表示下面输出内容接着这行继续输出;
使用System.out.println()表示下面输出内容换行进行输出;


2、定义无参数的方法


课程概要:
  什么是方法
  定义无参数方法
  为什么使用方法

一、什么是方法

方法代表一段代码,Java 的代码通常都封装在方法中。
例如main方法。main方法是Java规定的每个类的代码运行入口

二、定义无参方法 (注:方法名要小写)

static void 方法名(){
      方法体-方法中的代码
}

【示例】

static void input(){
      方法中的Java代码
}

三、为什么使用方法

1、Java的代码通常要在方法中编写,即代码封装在方法中。

2、模块化编程:将具有某种功能的代码块封装在一个方法中,不同的代码有不同的方法封装,利于程序的管理、维护。

3、将具有复用价值的代码封装在方法中,调用该代码时,只需调用方法名,这样能有效地减少程序的冗余。

【示例】
将上一节的【示例】中的输入数据的代码块封装在方法input()中,然后再main()中调用input方法,分别为两个人输入姓名、性别、年龄、身高、性格的信息。

import java.util.Scanner;

public class Introduce_Two{

    static String name;
    static char sex;
    static short age;
    static float height;
    static String type;
    
    static void input(){
        Scanner scanner = new Scanner(System.in) ;
        System.out.println("Name: ");
        name=scanner.next();
        System.out.println("Sex: ");
        sex=scanner.next().charAt(0);
        System.out.println("Age: ");
        age=scanner.nextShort();
        System.out.println("Height: ");
        height=scanner.nextFloat();
        System.out.println("Type: ");
        type=scanner.next();
    }

    public static void main(String[] arg){
        input();
        System.out.print("Hello,my name is "+name+".");
        System.out.print("I'm "+ age+" this year.");
        System.out.println("And I'm"+height+" cm.");
        System.out.println("I'm a "+type+sex+" boy.");

        input();
        System.out.print("Hello,my name is "+name+".");
        System.out.print("I'm "+ age+" this year.");
        System.out.println("And I'm"+height+" cm.");
        System.out.println("I'm a "+type+sex+" boy.");

    }
}

3、定义带参数方法


课程概要:
  定义格式
  为什么使用带参方法

一、定义带参方法

static void 方法名(类型1 变量1,类型2 变量2,...){
      方法体-方法中的代码
}

【示例】

static void feeling(String cause, String content){
         方法中的代码
}

二、为什么使用带参数方法

带参方法可以接收外界的数据,使得方法能处理更加复杂的问题,具有更灵活的功能。
【示例】
定义带参方法feeling,表达人的感情,在main方法中调用feeling()

import java.util.Scanner;

public class Introduce_Two{

    static String name;
    static char sex;
    static short age;
    static float height;
    static String type;
    
    static void input(){
        Scanner scanner = new Scanner(System.in) ;
        System.out.println("Name: ");
        name=scanner.next();
        System.out.println("Sex: ");
        sex=scanner.next().charAt(0);
        System.out.println("Age: ");
        age=scanner.nextShort();
        System.out.println("Height: ");
        height=scanner.nextFloat();
        System.out.println("Type: ");
        type=scanner.next();
    }

    static void feeling(String cause, String content){
        System.out. println(cause);
        System.out. println(content);
    }

    public static void main(String[] arg){
        input();
        System.out.print("Hello,my name is "+name+".");
        System.out.print("I'm "+ age+" this year.");
        System.out.println("And I'm"+height+" cm.");
        System.out.println("I'm a "+type+sex+" boy.");
        feeling("I get $500", "haha...")

        input();
        System.out.print("Hello,my name is "+name+".");
        System.out.print("I'm "+ age+" this year.");
        System.out.println("And I'm"+height+" cm.");
        System.out.println("I'm a "+type+sex+" boy.");
        feeling("I lost my girl", "unhapyy...");    

    }
}

4、带返回值的类方法


课程概要:
  为什么使用带返回值方法
  定义格式

一、为什么使用带返回值方法

1、在Java的Math类中定义了许多具有计算功能的方法,这些方法也称为函数。
例如:double Math.sqrt( double value)

2、Java允许程序员自定义这种具有计算并能返回结果的方法。

二、定义格式

static 返回值类型 方法名(参数列表){
    方法中的代码
    return 返回的数据;
}

示例: 定义一个计算并返回两个数和的方法add,代码如下:

static double add(double d1, double d2){
        return d1+d2;
} 

【示例】
定义一个能保留小数点后面任意位的方法pround, 在main方法中调用该方法,保留指定小数点后任意位。

import java.util.Scanner;

public class Test_03{

    static double pround(double value, int index){
        //compute 10^n 
        double pow10=Math.pow(10, index);
        //compute value * (10^n)
        double result=value*pow10;
        //rounding the result
        result=Math.round(result);
        result/=pow10;
        return result;
    }

    public static void main(String[] args){
        System.out.println("the result of two decimal places of 3.758 is "+pround(3.758, 2));
    }
}

你可能感兴趣的:(1-Java 类方法详解)