函数:
1.函数就是定义在类中的具有特定功能的一段独立小程序
2.函数最大的作用:代码重用(一次定义,多次反复使用)
函数的定义:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型形式参数2,…)
{ 执行语句;
return 返回值;
}
1.修饰符:public static
2.返回值类型:由方法制定者来指定;可以是Java的任何数据类型;
3.函数名:自定义标识符;遵循自定义标识符的命名规则和命名规范;
首字母小写,多个单词,从第二个单词开始首字母大写
见名知意,驼峰命名
4.():小括号是必须的,函数的形参列表;
5.形参列表:形式上的参数,是一种"定义"。每一个参数由两部分组成:形参类型形参名
多个参数间用,号隔开
A:修饰符 后面会重点讲。public static
B:返回值类型 这个特定的功能完成后,需要返回一个结果。这个地方就是返回结果的类型。
C:函数名 为了方便使用这个函数,给它起个名字。这个名字要符合标识符命名规则。
D:参数类型 形式参数的数据类型
**:形式参数 自定义的接收方
**:实际参数 发出方add(3,5)
E:执行语句 那么这个语句是由多条语句组成。
F:return 这个功能执行完以后,需要有一个返回值,那么这个值有关键字return带回。
public static int getMax(int num1,int num2,int num3){
int m=(num1>num2)?(num1>num3?num1:num3):(num2>num3?num2:num3);
return m;
}
函数的特点
A:一般函数只有被调用后,才执行。
B:void 表示没有返回。在这个函数的结尾可以不写return。
**其实jvm会自动的结尾处加上return;
(1)如果定义自己的函数 两个明确
A:明确该功能的结果 其实就是该功能的返回类型。
B:明确该功能的参数 其实就是明确该功能中是否需要未知内容(形式参数)参与运算。
明确未知内容的类型和个数。
(2)函数的重载
A:函数名相同,参数列表不同。
**参数类型不同。int add(int i)void add(double d)
**参数个数不同。add(int a,int b);add(int a,int b,int c)
**参数顺序不同 print(String name, int age)//参数顺序不同的重载是可以存在的,但是没有什么实际意义
print(int age,String name)
B:特点:与返回值类型无关,只看参数列表。
C:好处:便于阅读,优化程序设计。
class domeOverLood
{
public static void main(String[] args)
{
fun('a',10);
}
public static viod fun(){
System.out.println("int");
}
public static viod fun(int a, intb){
System.out.println("int int");
}
public static viod fun(int a, intb){
System.out.println("long int");
}
public static viod fun(float a, intb){
System.out.println("fioat int");
}
public static viod fun(double a, intb){
System.out.println("double int");
}
}
Scanner类
Scanner类:接收用户输入:
使用Scanner需要三步:
1.在定义类之前
import java.util.Scanner;
2.在main方法中:
Scanner sc = new Scanner(System.in);
3.需要从控制台接收用户输入时:
int num = sc.nextInt();
import java.util.Scanner;
class ScannerTest
{
public static void main(String[] args)
{
//第二步:
Scanner sc = new Scanner(System.in);
//第三步,接收用户输入:
loop:
do{
System.out.print("请输入一个数:");//给用户的提示信息
int num1 = sc.nextInt();
// System.out.println("你输入的数是:" + num1);
System.out.print("请输入第二个数:");
int num2 = sc.nextInt();
// System.out.println("你输入的第二个数是:" + num2);
System.out.print("1:+ 2:- 3:* 4:/ :");
int op = sc.nextInt();
int result = 0;
switch(op){
case 1:
result = num1 + num2;
break;
case 2:
result = num1 - num2;
break;
case 3:
result = num1 * num2;
break;
case 4:
result = num1 / num2;
break;
default:
System.out.println("非法的选项!");
break;
}
System.out.println("运算结果:" + result);
do{
System.out.print("1:继续 2:退出:");
int op2 = sc.nextInt();
if(op2==2){
System.out.println("谢谢使用!拜拜!!");
break loop;
}else if(op2 == 1){
continue loop;
}
System.out.println("请输入1或者2的数字!");
}while(true);
}while(true);
}
} |
|