第十六章 课程总复习

一、课程回顾

整本书分为二部分,第一部是程序的基础,第二部Java类基础

1 第一章~第十章

  • Java语法
  • 选择结构(重点)
  • 循环结构(重点)(难点)
  • 数组

2 第十一章~第十五章

  • 类和对象(难点)
  • 类的方法(重点)
  • 字符串类

二、知识点梳理

1 程序逻辑

2 数组

3 初识Java

三、总结

  • 多重if和switch选择结构都可以用于多分支的情况,但使用场合不同
  • while循环是先判断再执行,do-while循环反之
  • for循环适用于循环次数确定的情况
  • break和continue都可以改变程序执行的流程,但含义不同,使用场合也不同
  • 类是对象的类型,对象是类的实例
  • 方法分为无参方法和带参方法
  • String类提供了很多方法实现对字符串的操作

四、作业

1 实现用户登录功能,在控制台输入用户名和密码,然后判断输入是否正确并输出结果,如下图所示:

参考代码

  1. public class Login {
  2. /**
  3. * 判断学生登录是否成功
  4. * @param name
  5. * @param password
  6. * @return
  7. */
  8. public boolean login(String name,String password){
  9. if(name.equals("jbit")&&password.equals("bdqn")){
  10. return true;
  11. }else
  12. return false;
  13. }
  14. public static void main(String[] args) {
  15. Scanner input = new Scanner(System.in);
  16. System.out.println("请输入用户名:");
  17. String name = input.next();
  18. System.out.println("请输入密码:");
  19. String password = input.next();
  20. Login lg=new Login ();
  21. boolean flag=lg.login(name, password);
  22. if(flag){
  23. System.out.println("登录成功!");
  24. }else{
  25. System.out.println("用户名或密码错误!");
  26. }
  27. }
  28. }

2 在控制台输入学生姓名、年龄、性别和学校,然后模拟将学生信息存储到数据库中,输出结果如图所示

参考代码

学生类

  1. public class Student {
  2. private String name; //姓名
  3. private int age; //年龄
  4. private String sex; //性别
  5. private String school; //学校
  6. public String getName() {
  7. return name;
  8. }
  9. public void setName(String name) {
  10. this.name = name;
  11. }
  12. public int getAge() {
  13. return age;
  14. }
  15. public void setAge(int age) {
  16. this.age = age;
  17. }
  18. public String getSex() {
  19. return sex;
  20. }
  21. public void setSex(String sex) {
  22. this.sex = sex;
  23. }
  24. public String getSchool() {
  25. return school;
  26. }
  27. public void setSchool(String school) {
  28. this.school = school;
  29. }
  30. }

Dao类

  1. public class StudentDao {
  2. /**
  3. * 模拟插入学生数据到数据库
  4. * @param stu
  5. */
  6. public void insertStudent(Student stu){
  7. String name=stu.getName();
  8. int age=stu.getAge();
  9. String sex=stu.getSex();
  10. String school=stu.getSchool();
  11. System.out.println("\n将该学生信息成功写入到数据库");
  12. System.out.println(name+" "+age+" "+ sex +" "+school);
  13. }
  14. public static void main(String[] args) {
  15. Scanner input = new Scanner(System.in);
  16. System.out.println("请输入学生姓名:");
  17. String name = input.next();
  18. System.out.println("请输入学生年龄:");
  19. int age = input.nextInt();
  20. System.out.println("请输入学生性别:");
  21. String sex = input.next();
  22. System.out.println("请输入学生学校:");
  23. String school = input.next();
  24. Student stu = new Student();
  25. stu.setName(name);
  26. stu.setAge(age);
  27. stu.setSchool(school);
  28. stu.setSex(sex);
  29. StudentDao stuDao =new StudentDao();
  30. stuDao.insertStudent(stu);
  31. }
  32. }

3 某公司对固定资产进行编号,规划如下:购买年分+产品类型(1为台式机,2为笔记本 3为其他,统一采用两位数字,数字前加0)+3位随机数。如下图所示

参考代码

  1. public class GetProNo {
  2. public static void main(String[] args) {
  3. Scanner input = new Scanner(System.in);
  4. System.out.print("请输入年份: ");
  5. int year = input.nextInt();
  6. System.out.print("请选择产品类型(1. 台式机 2. 笔记本 3. 其他)");
  7. int type = input.nextInt();
  8. int random = (int)(Math.random() * 1000); //产生3位随机数
  9. String productNo = year + "0" + type + random; //产生产品编号
  10. System.out.println("\n该固定资产编号是: " + productNo);
  11. }
  12. }

4 按照月/日/年的方法输入一个日期(如8/8/2008),然后对字符串进行拆分,输出某天是哪年哪月哪日(如2008年8月8日),如下图所示

参考代码

  1. public class DeDate {
  2. public static void main(String[] args) {
  3. System.out.print("请输入一个日期(月/日/年): ");
  4. Scanner input = new Scanner(System.in);
  5. String date = input.next();
  6. int pos1 = date.indexOf("/");
  7. int pos2 = date.lastIndexOf("/");
  8. int length = date.length();
  9. String month = date.substring(0, pos1);
  10. String day = date.substring((pos1 + 1), pos2);
  11. String year = date.substring((pos2 + 1), length);
  12. System.out.println("\n\n" + year + "年" + month + "月" + day + "日");
  13. }
  14. }

捐赠我们
    良师益友工作室一直在致力于帮助编程爱好更加快速方便地学习编程,如果您对我们的成果表示认同并且觉得对你有所帮助,欢迎您对我们捐赠^_^。

时间: 2024-10-13 11:12:32

第十六章 课程总复习的相关文章

CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章

第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮动元素.关键字:left.right或both. (2).浮动外围元素:让包含浮动元素的<div>也浮动.选择这种方法一定要在浮动容器后面的任何元素中添加一个clear属性,确保浮动元素落到容器的下方. (3).利用overflow : hidden.另一种常见的方法是在外围的样式中添加以下属性:

读《构建之法》之一,二,十六章有感

大二下学期已经过去两周了,个人感觉,课程方面压力与动力并存,相信一步一步走下去终将得到自己的一份收获. 这几天阅读了<构建之法>的第一,二,十六章,我个人的阅读速度应该属于比较慢的那种,遇到什么不确定的,不理解的概念总要停下来好久,各种百度,否则继续阅读的时候总有种急躁的感觉,老想着前面的停顿,到头来一头雾水,还是跑去理解前面的概念.作业中关于精读的part1,2,3一开始我觉得可能不适合我这种节奏慢又钻牛角尖的,但贵在尝试,以前我的阅读习惯是只读一两遍,虽然第一遍把不理解的概念都慢慢弄明白了

第三十六章

将欲翕之,必姑张之:将欲弱之,必姑强之:将欲去之,必姑与之:将欲夺之,必姑予之.是谓微明.柔弱胜强.鱼不可脱于渊,邦利器不可以示人. 第三十六章1 想摆脱失眠?So easy! 将欲翕之,必姑张之 (第三十六章 第1讲) 姑:姑且,先. 上天想要把一件事情关上,就必先把它张开. 我们要懂得天地间阴阳变化的原理,顺着事物发展的原理去走.夜晚要想睡个好觉,白天就要打起精神做事. 各位朋友大家好,今天我们接着来聊<道德经>,看看老子又带给我们什么样的人生启发.今天,我们聊到了第三十六章,这是新的一章

第四十六章

第四十六章1 马应该种田,不应该打仗:你应该工作,不应该总想买买买 天下有道,却走马以粪.天下无道,戎马生于郊. 天下有道的时候,马都在田里耕地,天下无道的时候,马都在战场打仗. 要放低欲望,把资源用在正地方. 各位朋友大家好,清晨起来,我们接着来讲<道德经>,看看老子老先生带给我们什么样人生启发.我在今天起床之前做梦,梦是让人黯然神伤的,我做梦梦见自己给一帮孩子妈妈,带着小朋友讲课,就讲这个“道”,结果妈妈不听,在下面聊天,孩子哭闹,乱作一团,大家说讲点感冒吧,讲“道”有什么用,我说“道”很

C Primer Plus (第五版) 第十六章 C预处理器和C库 编程练习

第十六章 C预处理器和C库 开发一个包含您需要使用的预处理器定义的头文件 //max.h  #ifndef _MAX_H_     #define _MAX_H_     #define MAX(X, Y) ((X)>(Y)?(X):(Y)) #endif 2.两个数的调和平均数可用如下方法得到:首先对两数的倒数取平均值,最后再取倒数.使用#define指令定义一个宏"函数"执行这个运算.编写一个简单的程序测试该宏. #include <stdio.h> #defin

第十六章 多态性

相同函数名具有多态性: ①  译时的多态(由函数名来调用时体现):重载:同类,不同参 ②  运行时的多态(用指向不同类的指针来调用): 覆盖:  不同类,同参,基类有virtual(由指针的类型来决定,体现了多态性) 隐藏:①不同类,同参,基类无virtual②不同类,不同参(不论有无virtual)(由指针来决定,不能体现多态性) 1.  为什么要使用多重继承 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数.C++多态性是通过虚函数(virtual)来实现的. 2.

《Java并发编程实战》第十六章 Java内存模型 读书笔记

Java内存模型是保障多线程安全的根基,这里仅仅是认识型的理解总结并未深入研究. 一.什么是内存模型,为什么需要它 Java内存模型(Java Memory Model)并发相关的安全发布,同步策略的规范.一致性等都来自于JMM. 1 平台的内存模型 在架构定义的内存模型中将告诉应用程序可以从内存系统中获得怎样的保证,此外还定义了一些特殊的指令(称为内存栅栏或栅栏),当需要共享数据时,这些指令就能实现额外的存储协调保证. JVM通过在适当的位置上插入内存栅栏来屏蔽在JVM与底层平台内存模型之间的

Gradle 1.12 翻译——第十六章. 使用文件

有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41113353 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin

Gradle 1.12用户指南翻译——第三十六章. Sonar Runner 插件

本文由CSDN博客万一博主翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个