java基础(8)

一、变量的作用域(有效的使用范围)

1、变量有2种

              1.1成员变量(属性)

声明在类的里面,方法的外面

              1.2 局部变量

                                      声明在方法里面或for循环结构中

2、调用时的注意事项

2.1 成员变量,有默认值(不初始化),在当前类直接通过成员变量名调用;在其他类中,通过该类的对象名.属性(成员变量)名调用;成员变量名称在同一个类中是唯一的。

              2.2 局部变量,没有默认值,必须先赋值再使用

局部变量,只能在当前的方法中使用,其他方法和其他类不能调用;在同一个方法中名称是唯一的,但多个方法中,允许局部变量同名

              2.3 局部变量和成员变量同名时,局部变量的优先级高于成员变量

public class shangji1 {
    int java;
    int c;
    int db;
    //计算总分
    public int totalScore(){
        return java+c+db;
    }
    //输出总分
    public void showScore(){
        System.out.println("总分是:"+totalScore());
    }
    //计算平均分
    public double avge(){
        int a=totalScore();
        return a/3.0;
    }
    public void cuAvge(){
        System.out.println("平均分是:"+avge());
    }
}
public static void main(String [] args){
        shangji1 s=new shangji1();
        Scanner imput=new Scanner(System.in);
        System.out.print("请输入Java的成绩:");
        s.java=imput.nextInt();
        System.out.print("请输入c的成绩:");
        s.c=imput.nextInt();
        System.out.print("请输入db的成绩:");
        s.db=imput.nextInt();
        s.showScore();
        s.cuAvge();
    }

 

二、java文档注释(javadoc)自动生成

      1、单行注释://

      2、多行注释:/* */

3、文档注释:/**    */

步骤:

           选择项目后,右键单击再选择【export…】,4个单选按钮中,选择package,最后点击【finish】完成帮助文档html文件的生成,默认保存在当前项目下的【doc】文件夹中

 

三、java中无参方法的定义和调用

1、方法的作用

                  封装(重复的代码)

                  提高代码的可重用性、可维护性

2、如何定义无参方法 _方法命名遵循骆驼命名法

                   public 返回类型 方法名( ){

                                                      //……………方法体

                   }

3、根据返回类型,无参的方法,分为2种

                  3.1 有返回类型(数据类型),方法体中,必须出现

return 【表达式、变量、值】,return 写在方法中最后一行

                  3.3 没有返回类型,在定义方法时,返回类型写void,没有return语句,

输出结果(System.out.println)

4、方法的调用—

l  调用其他类的方法:对象名.方法名();

l  同一个类中,方法之间的调用:方法名();

      4.1 无返回类型

                                          对象名.方法名();//输出数据

      4.2 有返回类型

                                          数据类型 变量名=对象名.方法名();

                                          System.out.println(变量名);

                                          或        System.out.println( 对象名.方法名() );

四、面向对象的3大特征:封装、继承、多态

public class shangji3 {
    //登陆菜单
    public void showMenu(){
        System.out.println("\n\t欢迎使用我行我素购物管理系统\n");
        System.out.println("\t\t1.登陆");
        System.out.println("\t\t2.退出");
        System.out.println("* * * * * * * * * * * * * * * * * * * *");
        System.out.print("请选择:");
    }
    //主菜单
    public void mainMenu(){
        System.out.print("\t我行我素购物管理系统主菜单");
        System.out.println("* * * * * * * * * * * * * * * * * * * *");
        System.out.println("\t\t1.客户信息管理");
        System.out.println("\t\t2.真情回馈");
        System.out.println("* * * * * * * * * * * * * * * *  * * * * * * * * * *");
        boolean con;
        Scanner input=new Scanner(System.in);
        System.out.print("请选择,输入数字或按0返回上一级菜单:");
        int no=input.nextInt();
        do{
            con=false;
            //输入数字,选择菜单。
        switch (no){
        case 1:
            custMenu();
            break;
        case 2:
            sendMenu();
            break;
        case 0:
            mainMenu();
            break;
        default:
            System.out.println("请输入正确的数字!");
            con=true;
            break;
        }
        }while(con);
    }
    public void sendMenu(){
        System.out.print("\t我行我素购物管理系统 > 真情回馈");
        System.out.println("* * * * * * * * * * * * * * * *  * * * * * * * * * *");
        System.out.println("\n\t\t1.幸运大放送");
        System.out.println("\n\t\t2.幸运抽奖");
        System.out.println("\n\t\t3.生日问候");
        System.out.println("* * * * * * * * * * * * * * * *  * * * * * * * * * *");
        boolean com;
        do{
            com=false;
        //输入数字,选择菜单
        Scanner input=new Scanner(System.in);
        System.out.print("请选择,输入数字或按0返回上一级菜单:");
        int no= input.nextInt();
        switch (no){
        case 1:
            System.out.println("执行幸运大放送");
            break;
        case 2:
            System.out.println("执行幸运抽奖");
            break;
        case 3:
            System.out.println("生日问候");
            break;
        case 0:
            mainMenu();
            break;
        default:
            System.out.println("请输入正确的数字");
            com=true;
            break;    
        }
        }while(com);
    }
    public void custMenu(){
        
    }
}
public static void main(String [] args){
        shangji3 f=new shangji3();
        //显示菜单
        f.showMenu();
        //实现菜单
        boolean d=true;
        do{
        Scanner input =new Scanner(System.in);
        int choice=input.nextInt();
        switch (choice){
        case 1:
            f.mainMenu();
            break;
        case 2:
            System.out.println("谢谢您的使用!");
            d=false;
            break;
        }
        }while(d);
    }

 

public static void main(String [] args){
        shangji1 s=new shangji1();
        Scanner imput=new Scanner(System.in);
        System.out.print("请输入Java的成绩:");
        s.java=imput.nextInt();
        System.out.print("请输入c的成绩:");
        s.c=imput.nextInt();
        System.out.print("请输入db的成绩:");
        s.db=imput.nextInt();
        s.showScore();
        s.cuAvge();
    }

 

5、Java中的包(package)

                  5.1 包,对应到磁盘中的文件夹

                  5.2 新建一个class,默认保存在缺省包中

                 5.3 声明包的关键字:package

                                                                  package语句,置顶位置

                  5.4 导入包的关键字:import

                                                                  import 包名.类名(*表示所有);

                  5.5 作用:

l  分类存放,解决同名冲突

l  分类存放,方便查找和管理

5.6 命名规范——参考教材

             

6、有参数的方法

 

                  6.1 如何声明

                             

                              public 返回类型 方法名(数据类型 参数名){

                                          ….方法体

                              }

                  6.2 分为2类

                              6.2.1 无返回类型——void

                              6.2.2 有返回类型

l  基本数据类型

自定义类——return 类的对象;

数组——return 数组名;

6.3参数的类型

l  基本数据类型(10-31)

l  自定义类——传递的是类的对象

l  数组——只需要传递 【数组名】

6.4调用

6.4.1在当前类中调用——方法名(值列表);

6.4.2在其他类中调用——对象名.方法名(值列表);

package Pack1;

public class No3 {
    String names[]=new String[30];
    public void addName(String name){
        for (int i=0;i<5;i++){
            names[i]=name;
            if(i==5){
                System.out.println(names[i]+"");
            }
        }
    }
    public void showName(){
    
    }
}

 

package Pack2;
import Pack1.No3;    //导入包
import java.util.*;
public class No1 {
    public static void main(String [] args){
        No3 d=new No3();
        Scanner input=new Scanner(System.in);
        for(int i=0;i<5;i++){
            System.out.print("请输入学生姓名:");
            String newName=input.next();
            d.addName(newName);//调用方法并传实参
        }
        d.showName();
    }
}

 

7、方法总结

分类:

1、            无返回类型,无参数

2、            无返回类型,有参数

3、            有返回类型,无参数

4、            既有返回类型,又有参数

参数或返回类型,可以是常用的数据类型,也可以是自定义的类或数组

posted on 2017-06-06 19:37  $joke  阅读(191)  评论(0编辑  收藏  举报