2017年3月20号课堂笔记

2017年3月20号  星期一  重度雾霾

 

主要内容:

 

本类中方法的调用,文档注释如何生成,

数组对象的应用,方法中的返回值,参数的具体应用,

用面向对象的方法写出逐级菜单

 

一、Demo01(电动玩具狮子)

1、老师代码:

package cn.bdqn.bean;

/**
* 电动玩具类
*/
public class AutoLion01 {

String color = "黄色"; // 颜色

// 狮子奔跑的方法
public void run() {
System.out.println("狮子在奔跑......");
}

/**
* @return 狮子的叫声
*/
public String bark() {
String sound = "狮子吼";
return sound;
}

// 狮子的自我介绍
public String showInfo() {

return "这是一只" + color + "的可爱的小狮子!";
}

// 测试方法
public static void main(String[] args) {
// 实例化一个电玩
AutoLion01 lion = new AutoLion01();
System.out.println(lion.showInfo());
// 听听狮子的叫声
String bark = lion.bark();
System.out.println("狮子的叫声:" + bark);
}

}

二、Demo2(文档注释如何生成)

老师代码:

package cn.bdqn.doc;

 

/**

 * 学生类

 * @author 小豆腐

 * @version  2017-03-20

 */

public class Student {

String name; // 姓名

int age; // 年龄

double score; // 成绩

 

/**

* 计算总成绩

* total:就是总成绩

* @return total 

*/

public double getSum() {

double total = score + 100;

return total;

}

 

/**

* 显示总成绩

*/

public void showTotal() {

System.out.println("您的总成绩是:" + getSum());

}

 

/**

* 类中的方法之间可以互相访问

*    需要注意的地方:  两个方法之间不允许  相互调用

*/

public void a() {

System.out.println("这是a方法");

b(); // 调用本类中的b()

}

 

public void b() {

System.out.println("这是b方法");

a();

}

 

public static void main(String[] args) {

Student student = new Student();

student.a();

}

 

}

 

选中要生成文本文档的的类--->右键Export--->javadoc--->Browse选文件存放处--->Finish--->Yes To ALL

 选择存放的位置生成doc文件夹:

 

 

用Google打开index.html,可显示选中类的文本文档:

 

 

 三、Demo03(计算三门课的平均分和总成绩)

 1、老师代码:

1)成绩的计算类

package cn.bdqn.test;

 

/**

 * 

 * 成绩的计算类

 */

public class ScoreCalc {

String name; // 谁的成绩

double java; // java成绩

double c;

double db;

 

/**

* @return   返回总成绩

*/

public double getSum() {

return java + c + db;

}

 

/**

* @return   返回平均分

*/

public double getAvg() {

return getSum() / 3;

}

 

}

 

2)测试类:编写成绩计算类实现功能

package cn.bdqn.test;

 

import java.util.Scanner;

 

public class SocreTest {

 

/**

* 从键盘接收三门课分数,

* 计算三门课的平均分和总成绩,

* 编写成绩计算类实现功能 

*/

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

// 通过new 关键字 实例化 成绩计算类的 对象

ScoreCalc calc = new ScoreCalc();

System.out.println("请您输入姓名:");

calc.name = input.next();

System.out.println("请您输入java成绩:");

calc.java = input.nextDouble();

System.out.println("请您输入c#成绩:");

calc.c = input.nextDouble();

System.out.println("请您输入DB成绩:");

calc.db = input.nextDouble();

System.out.println("总成绩是:" + calc.getSum());

System.out.println("平均成绩是:" + calc.getAvg());

 

}

}

老师图示一步步如何从第一部分的写法改为用面向对象的思路去写代码实现需求:

 

四、Demo04(手机类,电池类,测试类)太简单,老师没写

 1、自己代码:

1)手机类:

package cn.bdqn.bean;

//手机类
public class Phone {
/**
* 播放下载音乐
*/
public void music() {
System.out.println("播放下载音乐!");
}

/**
* 下载音乐
*/
public void download() {
System.out.println("下载音乐!");

}

/**
* 充电
*/
public void charge() {
System.out.println("充电!");

}

}

2) 电池类:

package cn.bdqn.bean;

//电池类
public class Battery {
String brand;// 电池品牌

/**
* 方法:电池续电
*/
public void continueElec() {
System.out.println(brand + "的电池续电能力不赖!");
}
}

3) 测试类:

package cn.bdqn.bean;

/**
*测试类:测试手机类和电池类的方法
*
*/

public class TestPhone {
public static void main(String[] args) {

Phone phone = new Phone();
phone.charge();
phone.download();
phone.music();
Battery battery = new Battery();
battery.brand = "华为";
battery.continueElec();
}

}

 

五、Demo05(show方法返回管理员信息,测试类输出管理员信息)

1、老师代码:

package cn.bdqn.bean;

import java.util.Scanner;

public class Manager02 {

String name; // 姓名
String password; // 密码

// 显示用户的信息
public String showMsg() {
return "您的用户名:" + name + "您的密码:" + password;
}

public static void main(String[] args) {
Manager02 manager = new Manager02(); // 实例化一个管理员

Scanner input = new Scanner(System.in);
System.out.println("请您输入用户名:");
manager.name = input.next();
System.out.println("请您输入密码:");
manager.password = input.next();

// 显示用户信息的方法
System.out.println(manager.showMsg());
}

}

2、自己代码:

六、Demo06(实现菜单的级联效果)

1、老师代码:

1)菜单对应的类:

package cn.bdqn.bean;

import java.util.Scanner;

/**
* 菜单对应的类
*/
public class Menu03 {
/**
* 显示登录的菜单
*/
public void showLoginMenu() {
System.out.println("欢迎进入*********小豆腐 *********购物管理系统");
System.out.println("01.登录系统");
System.out.println("02.退出系统");
System.out.println("*************************************");
System.out.println("请您选择:");
}

/**
* 显示主菜单
*/
public void showMainMenu() {
System.out.println("********************主菜单**********************");
System.out.println("01.客户信息管理");
System.out.println("02.真情回馈");
System.out.println("请选择:输入数字0返回上级菜单");
// 获取用户的输入 进入不同的菜单
Scanner scanner = new Scanner(System.in);
boolean flag = false; // 定义标记 判断用户的输入是否正确
do {
int choose = scanner.nextInt();
switch (choose) {
case 1:
showCustMenu(); // 调用客户的信息方法
break;
case 2:
showSendMenu(); // 调用 真情回馈方法
break;
case 0:
showLoginMenu(); // 返回上一级
break;
default:
System.out.println("您的输入错误!请重新输入");
choose = scanner.nextInt();
flag = true;
break;
}
} while (flag);
System.out.println("请选择:输入数字0返回上级菜单");
}

/**
* 真情回馈方法
*/
private void showSendMenu() {

System.out.println("*********************真情回馈************************");
System.out.println("01.幸运大抽奖");
System.out.println("02.幸运大放送");
System.out.println("03.生日问候");
System.out.println("请选择:输入数字0返回上级菜单");
// 获取用户的输入 进入不同的菜单
Scanner scanner = new Scanner(System.in);
boolean flag = false; // 定义标记 判断用户的输入是否正确
do {
int choose = scanner.nextInt();
switch (choose) {
case 1:
System.out.println("用户 进行了 幸运大抽奖");
break;
case 2:
System.out.println("用户 进行了 幸运大放送");
break;
case 0:
showMainMenu(); // 返回上一级
break;
default:
System.out.println("您的输入错误!请重新输入");
choose = scanner.nextInt();
flag = true;
break;
}
} while (flag);
System.out.println("请选择:输入数字0返回上级菜单");
}

/**
* 客户的信息方法
*/
private void showCustMenu() {
System.out
.println("*********************客户的信息************************");
System.out.println("这是用户的详情1.....");
System.out.println("这是用户的详情2.....");
System.out.println("这是用户的详情3.....");
System.out.println("请选择:输入数字0返回上级菜单");
}
}

2)菜单的测试类:

package cn.bdqn.bean;

import java.util.Scanner;

/**
*菜单的测试类
*/
public class MenuTest {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Menu03 menu = new Menu03();
boolean flag = true;
menu.showLoginMenu();
do {
int choose = scanner.nextInt(); // 获取用户的选择
switch (choose) {
case 1:
menu.showMainMenu(); // 02.调用主菜单
break;
case 2:
System.out.println("欢迎您下次光临!");
flag = false;
break;
}
} while (flag);

}

}

七、Demo7(实现学生的信息管理)对象数组的应用

1、老师代码:

package cn.bdqn.param;

import java.util.Scanner;

/**
* 实现学生的信息管理
*/
public class StudentBiz {

// 创建一个数组 用来保存 所有学生的姓名
String[] names = new String[10];

/**
* 新增学生姓名的方法
* @param name :用户传递过来的 参数
* 01.循环我们事先定义好的 数组
* 02.发现数组中有null的元素,证明 可以新增数据
* 03.把用户传递过来的名称 放到元素为null的位置
*/
private void addStudentName(String name) {
for (int i = 0; i < names.length; i++) {
if (names[i] == null) {
names[i] = name;
break;
}
}
}

/**
* 显示所有学生的姓名
*/
private void showStudentNames() {

for (int i = 0; i < names.length; i++) {
if (names[i] != null) {
System.out.println(names[i]);
}
}

}

/**
* 测试方法
*/
public static void main(String[] args) {
StudentBiz stu = new StudentBiz();
Scanner scanner = new Scanner(System.in);
// 循环给学生的姓名 赋值
for (int i = 1; i <= 5; i++) {
System.out.println("请您输入第" + i + "个学生的姓名:");
String name = scanner.next();
// name 称之为 实参! 实际传递的参数
stu.addStudentName(name); // 调用学生类中 新增学生姓名的方法
}

// 显示所有学生的姓名
stu.showStudentNames();

}

}

八、Demo08(买王老吉,返回找零和王老吉)

1、老师代码:

package cn.bdqn.param;

//买王老吉,返回找零和王老吉
import java.util.Scanner;

public class Buy {

public String sell(double money, String sth) {
System.out.println("您消费了:" + money);
return "找零: 5元" + sth;
}

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
System.out.println("请您输入购买的物品:");
String name = scanner.next();
System.out.println("请您支付金额:");
double money = scanner.nextDouble();
Buy buy = new Buy();
String result = buy.sell(money, name);
System.out.println(result);

}
}

 

九、Demo09(根据用户的输入 调用登录 对比的方法)重点在与形参与实参的区别,this的用法,成员变量与局部变量的区别

1、老师代码:

package cn.bdqn.param;

import java.util.Scanner;

public class Teacher {

// 我已经注册过了
String name = "admin"; // 姓名
String password = "123456"; // 密码
int phone; // 手机号码默认 为0

/**
* @param userName :用户登录时 书写的 用户名
* @param userPassword :用户登录时 书写的 密码
*/
public void login(String userName, String userPassword, int phone) {
// 和注册的name password 进行比对
if (userName.equals(name) && userPassword.equals(password)) {
System.out.println("恭喜登录成功!");
System.out.println("您的手机号是:" + phone);
this.phone = phone;
} else {
System.out.println("您的密码或者用户名 有误!");
}

}

public static void main(String[] args) {
Teacher teacher = new Teacher();
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入用户名:");
String name = scanner.next();
System.out.println("请您输入密码:");
String password = scanner.next();
System.out.println("请您输入手机号码:");
int phone = scanner.nextInt();
// 根据用户的输入 调用登录 对比的方法
teacher.login(name, password, phone);
System.out.println(teacher.phone);
}
}

十、作业

1、看视频,写预习笔记

2、做题(每天至少60,上周没做到,这周要多做补上一些)

 

十 一、考试

2017.03.20
15:03 开始,15:48结束;答题时间:43分钟;检查时间:2 分钟;
成绩:92 分

答题过程中不专心,容易被周围环境干扰,这个需要注意。周末回家看姥姥,没有做题感觉手生。这个星期要多做题目
巩固看的视频。

 

十 二、老师辛苦了!

 

posted @ 2017-03-20 14:56  不抽烟的香吉士  阅读(291)  评论(0编辑  收藏  举报