为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Java入门第二季_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Java入门第二季

IMOOC老齐 全栈工程师
难度入门
时长 4小时 0分

  • package com.cxu;
    import java.util.Scanner;
    public class Car {	public static Scanner input;	public static void main(String[] args) {		CreateCar carList[] = new CreateCar[] { new CreateCar("奥迪A4", 500, 1, 4, 0),				new CreateCar("马自达6", 400, 1, 4, 0), new CreateCar("皮卡雪6", 450, 3, 4, 2),				new CreateCar("金龙", 800, 1, 20, 0), new CreateCar("松花江", 400, 2, 0, 4),				new CreateCar("依维柯", 1000, 2, 0, 20) };		System.out.println("你是否要租车:  1:是      0:否");		input = new Scanner(System.in);		int isSelect = input.nextInt();		if (isSelect == 0) {			System.out.println("感谢使用本系统");		} else {			System.out.println("你可租车的类型及其价目表");			System.out.println("序号   汽车名称   租金                        容量");			for (int i = 0; i < carList.length; i++) {				System.out.println(i + 1 + "." + "  " + carList[i].getName() + "  " + carList[i].getRent() + "/Day"						+ "  " + carList[i].getTips());			}			System.out.println("请输入你要租汽车的数量:");			input = new Scanner(System.in);			int selectNum = input.nextInt();			int[] selectList = new int[selectNum];			int selectMoney = 0;			for (int i = 0; i < selectNum; i++) {				System.out.println("请输入第" + (i + 1) + "辆车的序号:");				input = new Scanner(System.in);				selectList[i] = input.nextInt();			}			System.out.println("请输入你要租车的天数:");			input = new Scanner(System.in);			int selectDay = input.nextInt();			for (int i = 0; i < selectList.length; i++) {				int n = selectList[i] - 1;				selectMoney += carList[n].getRent() * selectDay;			}			System.out.println("你的账单:" + selectMoney);		}	}}


    查看全部
    0 采集 收起 来源:综合练习

    2018-12-12

  • Java 中的静态内部类

    静态内部类是 static 修饰的内部类,这种内部类的特点是:

    1、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问 

    2、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

    3、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();


    查看全部
  • 内部类中最常见的就是成员内部类,也称为普通内部类。我们来看如下代码:

    运行结果为:

    从上面的代码中我们可以看到,成员内部类的使用方法:

    1、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等

    2、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a

    3、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类 对象名 = 外部类对象.new 内部类( );

    4、 编译上面的程序后,会发现产生了两个 .class 文件

    其中,第二个是外部类的 .class 文件,第一个是内部类的 .class 文件,即成员内部类的 .class 文件总是这样:外部类名$内部类名.class

    另外,友情提示哦:

    1、 外部类是不能直接使用内部类的成员和方法滴

    可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。

    2、 如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用 this 关键字。如:

    运行结果:


    查看全部
  • 1234567

    查看全部
  • public class Telphone{}

    查看全部
  • JAVA中成员变量和局部变量初始值不同
    查看全部
  • Car.java

    package com.imooc;

    public  abstract class Car {
    String name;
    int person;
    double price;
    double weight;
    //客车
    public Car(String name,int person,double price) {
     this.name = name;
     this.person = person;
     this.price = price;
    }
    //货车
    public Car (String name,double weight,double price) {
     this.name = name;
     this.weight = weight;
     this.price = price;
    }
    //皮卡
    public Car(String name,int person,double weight,double price) {
     this.name = name;
     this.weight = weight;
     this.price = price;
     this.person = person;
    }
    public void showInfo(int num,int days) {
     double totalAmount;
     totalAmount = num * days * price;
     System.out.println("您选择的车是:"+name);
     System.out.println("价格是:"+price+"/天");
     System.out.println("数量为:"+num+"辆");    
     System.out.println("天数为:"+days+"天");      
     System.out.println("总计"+totalAmount+"元");        
    }
    public abstract void show() ;
     
    }

    PassengerCar

    package com.imooc;

    public class PassengerCar extends Car {
     public PassengerCar (String name,int person, double price) {
      super(name,person,price);
     }
     
     public void show() {
     
      System.out.println(name+" "+price+"/天,可以载人数:"+person);
     }
    }

    PickUp.java

    package com.imooc;

    public class PickUp extends Car {
    PickUp(String name,int person,double weight,double price){
     super(name,person,weight,price);
    }
     @Override
     public void show() {
      // TODO Auto-generated method stub
          System.out.println(name+" "+price+"/天,可载人数:"+person+"载重量为:"+weight+"吨");
     }

    }

    Truck.java

    package com.imooc;

    public class Truck extends Car {
    Truck(String name,double weight,double price){
     super(name,weight,price);
    }

     public void show() {
         System.out.println(name+" "+price+"/天,载重量为:"+weight+"吨");

     }

    }

    Index.java

    package com.imooc;
    import java.util.Scanner;
    public class Index {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
    Car[] cars1 = {new PassengerCar("大众",5,100),new PassengerCar("江淮",5,100),new PassengerCar("马自达",5,120),
    new PassengerCar("长城",5,150),new PassengerCar("雪佛兰",6,150),new PassengerCar("东风日产",6,180),
    new PassengerCar("奥迪",6,200),new PassengerCar("宝马",6,300),new PassengerCar("林肯",7,400)};
    Car[] cars2 = {new PickUp("皮卡雪1",4,3,300),new PickUp("皮卡雪2",4,3,350),new PickUp("皮卡雪3",4,3,390),
    new PickUp("轻型皮卡1",5,4,400),new PickUp("轻型皮卡2",5,4,420),new PickUp("轻型皮卡3",5,4,450),
    new PickUp("重型皮卡1",6,6,500),new PickUp("重型皮卡2",6,6,510),new PickUp("重型皮卡3",6,6,540)};
    Car[] cars3 = {new Truck("东风重卡1",20,350),new Truck("东风重卡2",30,370),new Truck("东风重卡3",40,400),
    new Truck("风驰1",30,360),new Truck("风驰2",40,390),new Truck("风驰3",50,450),
    new Truck("金龙1",40,400),new Truck("金龙2",50,450),new Truck("金龙3",60,500)};  
            
        System.out.println("欢迎使用XXXX租车系统");
        System.out.println("是否租车:1-是     0-否");
        Scanner input1 = new Scanner(System.in);
        int xz = input1.nextInt();
        if(xz == 1) {
         System.out.println("请选择租车类型:1-汽车 2-皮卡 3-货车");
         Scanner input2 = new Scanner(System.in);
         int carNext1 = input2.nextInt();
         if(carNext1 == 1) {
            for (int i=1;i<= cars1.length;i++) {
          System.out.println("编号:"+i+"");
          cars1[i-1].show();
         }
         System.out.println("请选择编号:");
         Scanner input3 = new Scanner(System.in);
         int CarNext1 = input3.nextInt();
         if(CarNext1 <= 0 || CarNext1 > cars1.length) {
          System.out.println("输入错误,退出系统");
          System.exit(0);
         }
         
         System.out.println("请选择数量:");
         Scanner input4 = new Scanner(System.in);
         int num = input4.nextInt();
         if(num<=0) {
          System.out.println("输入错误,退出系统");
          System.exit(0);
         }
         System.out.println("请选择租车天数:");
         Scanner input5 = new Scanner(System.in);
         int days = input5.nextInt();
         if (days <= 0) {
          System.out.println("输入错误,退出系统");
          System.exit(0);
         }
         for (int i=1;i<=cars1.length;i++) {
          if(CarNext1 == i) {
           cars1[i-1].showInfo(num,days);
           break;
          }
         }
         }
         if(carNext1 == 2) {
             for (int j=1;j<= cars2.length;j++) {
           System.out.println("编号:"+j+"");
           cars2[j-1].show();
          }
          System.out.println("请选择编号:");
          Scanner input6 = new Scanner(System.in);
          int CarNext2 = input6.nextInt();
          if(CarNext2 <= 0 || CarNext2 > cars2.length) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          
          System.out.println("请选择数量:");
          Scanner input7 = new Scanner(System.in);
          int num = input7.nextInt();
          if(num<=0) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          System.out.println("请选择租车天数:");
          Scanner input8 = new Scanner(System.in);
          int days = input8.nextInt();
          if (days <= 0) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          for (int j=1;j<=cars2.length;j++) {
           if(CarNext2 == j) {
            cars2[j-1].showInfo(num,days);
            break;
           }
          }
          }
         if(carNext1 == 3) {
             for (int k=1;k<= cars3.length;k++) {
           System.out.println("编号:"+k+"");
           cars3[k-1].show();
          }
          System.out.println("请选择编号:");
          Scanner input9 = new Scanner(System.in);
          int CarNext3 = input9.nextInt();
          if(CarNext3 <= 0 || CarNext3 > cars3.length) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          
          System.out.println("请选择数量:");
          Scanner input10 = new Scanner(System.in);
          int num = input10.nextInt();
          if(num<=0) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          System.out.println("请选择租车天数:");
          Scanner input11 = new Scanner(System.in);
          int days = input11.nextInt();
          if (days <= 0) {
           System.out.println("输入错误,退出系统");
           System.exit(0);
          }
          for (int k=1;k<=cars3.length;k++) {
           if(CarNext3 == k) {
            cars3[k-1].showInfo(num,days);
            break;
           }
          }
          }
        }else {
         System.out.println("退出系统");
         System.exit(0);
        }
         
        }
    }

    查看全部
  • Java中的this关键字

    1. this关键字代表当前对象

          this.属性 操作当前对象的属性

          this.方法 调用当前对象的方法

    查看全部
  • 面向对象三大特征:封装、继承、多态

    封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

    查看全部
  •                                 super的应用

    子类的构造的过程当中必须调用其父类的构造方法。

    如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。

    如果显示的调用构造方法,必须在子类的构造方法的第一行。

    如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。

    查看全部
  • 抽象类,抽象方法都要使用abstract关键字

    查看全部
  • 局部变量不可以没有初始值而成员变量可以没有初始值,而且有默认值
    查看全部
  • object类中的equals,对比两个对象引用的地址是否相同,返回类型是布尔类型的,可搭配if语句使用

    查看全部
  • this关键字是代表本类的  this.age     

    super关键字是代表父类的  super.age

    1、子类的构造的过程中必须调用其父类的构造方法

    2、子类中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法

    3、子类中写super();语句必须放在方法的第一行

    4、子类放法中没有显示调用父类的构造方法(就是子类方法中没有写super();),父类也没有无参的构造方法(已创建有参的构造方法),这样编译是会出错的

    查看全部
  • 一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

    next()与nextLine()的区别,前者获取输入流中的下一个字符串,后者获取输入流中的一连串(包括空格或回车)


    查看全部

举报

0/150
提交
取消
课程须知
本课程是Java开发的基础,需要大家:掌握 Java 基本语法的使用。如果您是新手,建议先移步 《Java入门第一季》https://www.imooc.com/learn/85
老师告诉你能学到什么?
• 掌握 Java 编程思路 • 熟练运用面向对象程序设计思想
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!