本章概要:
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));
}
}