• java基础---类的无参方法


    1.如何定义类的方法

    步骤一:定义方法名以及返回值类型

    步骤二:编写方法体

    2.方法的返回值

    两种情况

    如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型

    如果方法没有返回值,返回值类型为void

    举例:

    public class AutoLion {

    //定义变量

    public String color;

    //跑  没有返回值 void

    public void run(){

    System.out.println("lion running...");

    }

    //有返回值

    //return 终止程序 跳出方法

    public String bark(){

    String voice="狮子吼";

    return voice;

    }

    }

     

    public class AutoLionTest {

    public static void main(String[] args) {

    AutoLion al=new AutoLion();

        //没有返回值

         al.run();

         // 带返回值的方法如何处理?

         // 带返回值的方法:必须接收返回值

         String voice=al.bark();

         System.out.println(voice);   会处理结果

    }

    }

    3.方法调用

    举例

    public class AutoLion {      

    //定义变量  属性file的值可以做返回

    public String color;

    //返回狮子的颜色

    public String getColor(){

    return color;

    }

    }

     

    public class AutoLionTest {

    public static void main(String[] args) {

    AutoLion al=new AutoLion();

    //返回颜色测试

         al.color="red";

         String color=al.getColor();

         System.out.println(color);

         }

    }

     

    方法的嵌套(调用)

    public class AutoLion {

    //定义变量

    public String color;

    //返回狮子的颜色

    public String getColor(){

    return color;

    }

     

    //返回狮子的属性

    //在一个方法中调用另外一个方法

    public String info(){

    return "这是一只"+getColor()+"颜色的狮子";

    }

    }

     

    public class AutoLionTest {

    public static void main(String[] args) {

    AutoLion al=new AutoLion();

        al.color="red";

            String color=al.info();

         System.out.println(color);

    }

    }

    5.方法调用小结

    1.Student类的方法a( )调用Student类的方法b( ),直接调用

    public void a( ) {

     b( ); //调用b( )

    }

    2.Student类的方法a( )调用Teacher类的方法b( ),先创建类对象,然后使用“.”调用

    public void a( ) {

          Teacher t = new Teacher( );

     t.b( ); //调用Teacher类的b()

    }  

    举例:学生方法调用老师方法

     

     

     

     

    6.常见错误

    方法的返回值类型为void,方法中不能有return 返回值!

    方法不能返回多个值!

    多个方法不能相互嵌套定义!

    不能在方法外部直接写程序逻辑代码!

    练习:编写电池类

    编写电池类(Cell):具有品牌属性brand,可以续电getPrower()

    编写测试类(TestCell

    public class Cell {

    public String brand;

    public void getPrower(){

    System.out.println("充电中...");

    }

    }

    public class CellTest {

    public static void main(String[] args) {

    Cell nanfu=new Cell();

    nanfu.brand="南孚";

        String brand=nanfu.brand;

    System.out.println(brand);

    nanfu.getPrower();

    }

    }

    练习:计算平均分和总成绩

    public class ScoreCalc {

    public double java;

    public double python;

    public double go;

    //计算总成绩

    public double getSum(){

    double sum=java+python+go;

    return sum;

    }

    //计算平均成绩

    public double avg(){

    double avg=getSum()/3;

    return avg;

    }

    }

     

    import java.util.Scanner;

    public class ScoreCalcTest {

    public static void main(String[] args) {

    Scanner input=new Scanner(System.in);

    ScoreCalc sc=new ScoreCalc();

    System.out.println("请输入JAVA成绩");

    sc.java=input.nextDouble();

    System.out.println("请输入python成绩");

    sc.python=input.nextDouble();

    System.out.println("请输入go成绩");

    sc.go=input.nextDouble();

       //计算总分

    double sum=sc.getSum();

    double avg=sc.avg();

    System.out.println("总分是"+sum+"平均分"+avg);

    }

    }

    7.成员变量和局部变量

    变量声明的位置决定变量作用域

    变量作用域确定可在程序中按变量名访问该变量的区域

    8.成员变量和局部变量的区别

    作用域不同

    1-局部变量的作用域仅限于定义它的方法

    2-成员变量的作用域在整个类内部都是可见的

    初始值不同

    1-Java会给成员变量一个初始值

    2-Java不会给局部变量赋予初始值

    9.成员变量和局部变量常见错误

    局部变量avg的作用域仅限于calcAvg()方法

    public class Test {

     int score1 = 88;

     int score2 = 98;

     public void calcAvg() {

     int avg = (score1 + score2)/2;

     }

     public void showAvg(){

     System.out.println("平均分是: " + avg);

     }

    }

    练习:

    编写手机类(Phone

    可以下载音乐,可以播放这些音乐,可以进行充电

    重用电池类方法(Cell

    编写测试类(TestPhone

    public class Phone {

    //下载音乐

    public String download(){

    String music="喵喵喵";

    return music;

    }

    //播放音乐

    public void play(){

    String music=download();

    System.out.println("播放"+music);

    }

    //充电

    public void charge(){

    Cell cell=new Cell();

    cell.getPrower();

    }

    }

     

    public class PhoneTest {

    public static void main(String[] args) {

    Phone a=new Phone();

    a.download();

    a.play();

    a.charge();

    }

    }

    心得:本类方法与不同类方法的嵌套

    练习:实现菜单的级联效果

    import java.util.Scanner;

    public class Menu {

    //登陆菜单

    public void showLoginMenu(){

    Scanner input=new Scanner(System.in);

    boolean isTrue=true;

    while(isTrue){

       System.out.println("欢迎使用我行我素购物管理系统");

       System.out.println("1.登陆系统");

       System.out.println("2.退出");

       System.out.println("请选择....");

           int choice=input.nextInt() ;

    if(choice==1){

    showMainMenu();

    break;

    }else if(choice==2){

    break;

    }else{

    System.out.println("对不起,输入有误,请重新输入");

    }

    }

    }

    //显示主菜单

    public void showMainMenu(){

    Scanner input=new Scanner(System.in);

    boolean isTrue=true;

    while (isTrue) {

       System.out.println("我行我素购物管理系统主菜单");

        System.out.println("--------------------------");

       System.out.println("登陆系统");

       System.out.println("1.客户信息管理2.真情回馈");

       System.out.println("请选择....");

           int choice=input.nextInt();

           if (choice==1) {

        break;

         }else if(choice==2){

         showSendGMenu();

        break;

        }else if(choice==0){

         showLoginMenu();

          }else{

           System.out.println("对不起,输入有误,请重新输入");

          }

         }    

    }

    //显示客户信息

        public void showSendGMenu(){

         Scanner input=new Scanner(System.in);

         System.out.println("我行我素购物管理系统>>真情回馈");

    System.out.println("------------------------------");

    System.out.println("1-幸运大放送");

    System.out.println("2-幸运抽奖");

    System.out.println("3-生日问候");

    Boolean isTrue=true;

    while(isTrue){

    int choice=input.nextInt();

    switch (choice) {

    case 1:

    System.out.println("执行幸运大放送");

    break;

    case 2:

    System.out.println("执行幸运抽奖");

    break;

    case 3:

    System.out.println("执行生日问候");

    break;

    default:

    System.out.println("对不起,请重新输入");

    break;

    }

    }

     

    }

    }

    测试类

    public class MenuTest {

    public static void main(String[] args) {

    Menu m=new Menu();

    m.showLoginMenu();

    }

    }

    练习:实现系统入口程序

    需求说明

    编写类StartSMS

    实现输入用户名和密码,

    符合条件的进入系统

    package demo;

    // 人员类

    public class Manager {

    public String username="afu";

    public String password="123";

    public void show() {

    System.out.println("名字:"+username+"密码:"+password);

    }

    }

     

    package demo;

    import java.util.Scanner;

    public class Menu {

    //显示登陆菜单

    public void showLoginMenu() {

    Scanner input=new Scanner(System.in);

    boolean isTrue=true;

    while(isTrue) {

    System.out.println("欢迎登陆我行我素购物系统");

    System.out.println("1-登陆");

    System.out.println("2-退出");

    System.out.println("请选择");

    int choice=input.nextInt();

    if(choice==1) {

    //

        break;

    }else if(choice==2) {

     break;

    }else {

    System.out.println("对不起,输入有误,请重新输入");

    }

    }

    }

     

    //显示主菜单

    public void showMainMenu() {

    Scanner input=new Scanner(System.in);

    boolean isTrue=true;

    while (isTrue) {

    System.out.println("我行我素购物管理系统");

    System.out.println("---------------------------------------------------");

    System.out.println("1-客户信息管理");

    System.out.println("2-真情回馈");

    int choice=input.nextInt();

    if(choice==1) {

    break;

    }else if(choice==2) {

    showCustomerMenu();

    break;

    }else {

    }

    }

    }

     

    //显示客户信息

    public void showCustomerMenu() {

    Scanner input=new Scanner(System.in);

    boolean isTrue=true;

    while (isTrue) {

    System.out.println("我行我素购物管理系统>>真情回馈");

    System.out.println("---------------------------------------------------");

    System.out.println("1-幸运大放送");

    System.out.println("2-幸运抽奖");

    System.out.println("3-生日问候");

    int choice=input.nextInt();

    switch (choice) {

    case 1:

      System.out.println("幸运大放送");

      isTrue=false;

    break;

    case 2:

      System.out.println("幸运抽奖");

      isTrue=false;

    break;

    case 3:

      System.out.println("生日问候");

      isTrue=false;

    break;

    default:

      System.out.println("对不起,请重新输入");

    break;

    }

    }

    }

    }

     

    package demo;

    import java.util.Scanner;

    public class StartSMS {

    public static void main(String[] args) {

     Scanner input=new Scanner(System.in);

     boolean isTrue=true;

     while (isTrue) {

        Manager manager=new Manager();

                    Menu   menu=new Menu();

                    menu.showLoginMenu();

        System.out.println("请输入用户名");

        String username=input.next();

        System.out.println("请输入密码");

        String pwd=input.next();

        if(username.equals(manager.username)&&pwd.equals(manager.password)) {

         System.out.println("登陆成功");

         System.out.println("欢迎"+manager.username+"login");

        /* menu.showMainMenu();*/

         break;

        }else {

         System.out.println("对不起,您没有权限");

        }

     }

    }

    }

  • 相关阅读:
    模拟出栈
    全排列 next_permutation 用法
    区间覆盖
    BFS GPLT L2-016 愿天下有情人都是失散多年的兄妹
    GPLT L2-014 列车调度
    图的联通分量个数统计(判断图是否联通)
    堆排序 GPLT L2-012 关于堆的判断
    牛客挑战赛 30 A 小G数数
    由树的中后序遍历求树的前层序遍历
    【HDOJ4699】Editor(对顶栈,模拟)
  • 原文地址:https://www.cnblogs.com/-lyr/p/9569471.html
Copyright © 2020-2023  润新知