Java程序设计-2024-2025学年第二学期

刘香菊、董立凯、刘媛

目录

  • 1 Java入门
    • 1.1 课程标准
    • 1.2 教学日历
    • 1.3 说课
    • 1.4 Java的地位
    • 1.5 Java的特点
    • 1.6 安装JDK
    • 1.7 Java程序的开发步骤
    • 1.8 简单的Java应用程序
    • 1.9 Java反编译
    • 1.10 编程风格
    • 1.11 Java之父--James Gosling
    • 1.12 小结
    • 1.13 讲义
    • 1.14 JDK开发环境和机构化程序设计
    • 1.15 实验:一个简单的应用程序
    • 1.16 上机练习:联合编译
    • 1.17 章节测验
    • 1.18 复习
  • 2 基本数据类型与数组
    • 2.1 教学目标
    • 2.2 学习任务单
    • 2.3 说课
    • 2.4 标识符与关键字
    • 2.5 基本数据类型
    • 2.6 类型转换运算
    • 2.7 输入、输出数据
    • 2.8 数组
    • 2.9 应用举例
    • 2.10 小结
    • 2.11 实验:输出希腊字母表
    • 2.12 上机练习:数组的引用与元素
    • 2.13 上机练习:遍历与复制数组
    • 2.14 章节测验
    • 2.15 复习
  • 3 运算符、表达式和语句
    • 3.1 说课
    • 3.2 运算符与表达式
    • 3.3 语句概述
    • 3.4 if条件分支语句
    • 3.5 switch开关语句
    • 3.6 循环语句
    • 3.7 break和continue语句
    • 3.8 for语句与数组
    • 3.9 应用举例
    • 3.10 小结
    • 3.11 上机练习:回文数
    • 3.12 上机练习:猜数字游戏
    • 3.13 章节测验
    • 3.14 复习
  • 4 类与对象
    • 4.1 说课
    • 4.2 编程语言的几个发展阶段
    • 4.3 类
    • 4.4 构造方法与对象的创建
    • 4.5 类与程序的基本结构
    • 4.6 参数传值
    • 4.7 对象的组合
    • 4.8 实例成员与类成员
    • 4.9 方法重载
    • 4.10 this关键字
    • 4.11 包
    • 4.12 import语句
    • 4.13 访问权限
    • 4.14 基本类型的类封装
    • 4.15 对象数组
    • 4.16 JRE扩展与jar文件
    • 4.17 文档生成器
    • 4.18 应用举例
    • 4.19 小结
    • 4.20 实验:机动车
    • 4.21 上机练习:家中的电视
    • 4.22 上机练习:共饮同井水
    • 4.23 实验:求方程的根
    • 4.24 章节测验
    • 4.25 复习
  • 5 子类与继承
    • 5.1 说课
    • 5.2 子类与父类
    • 5.3 子类的继承性
    • 5.4 子类与对象
    • 5.5 成员变量的隐藏和方法重写
    • 5.6 super关键字
    • 5.7 final关键字
    • 5.8 对象的上转型对象
    • 5.9 继承与多态
    • 5.10 abstract类和abstract方法
    • 5.11 面向抽象编程
    • 5.12 开-闭原则
    • 5.13 应用举例
    • 5.14 小结
    • 5.15 上机练习:中国人、北京人和美国人
    • 5.16 实验:银行计算利息
    • 5.17 实验:公司支出的总薪水
    • 5.18 章节测验
    • 5.19 复习
  • 6 接口与实现
    • 6.1 说课
    • 6.2 接口
    • 6.3 实现接口
    • 6.4 接口的UML图
    • 6.5 接口回调
    • 6.6 理解接口
    • 6.7 接口与多态
    • 6.8 接口参数
    • 6.9 abstract类与接口的比较
    • 6.10 面向接口编程
    • 6.11 应用举例
    • 6.12 小结
    • 6.13 实验:评价成绩
    • 6.14 实验:货车的装载量
    • 6.15 上机练习:小狗的状态
    • 6.16 章节测验
    • 6.17 新建课程目录
  • 7 内部类与异常类
    • 7.1 说课
    • 7.2 内部类
    • 7.3 匿名类
    • 7.4 异常类
    • 7.5 断言
    • 7.6 应用举例
    • 7.7 小结
    • 7.8 上机练习:内部购物券
    • 7.9 上机练习:检查危险品
    • 7.10 章节测验
    • 7.11 复习
  • 8 常用实用类
    • 8.1 说课
    • 8.2 String类
    • 8.3 StringTokenizer类
    • 8.4 Scanner类
    • 8.5 StringBuffer类
    • 8.6 Date类与Calendar类
    • 8.7 日期的格式化
    • 8.8 Math类、BigInteger类和Random类
    • 8.9 数字格式化
    • 8.10 Class类与Console类
    • 8.11 Pattern类与Matcher类
    • 8.12 应用举例
    • 8.13 小结
    • 8.14 上机练习:检索简历
    • 8.15 实验:菜单的价格
    • 8.16 上机练习:比较日期
    • 8.17 上机练习:处理大整数
    • 8.18 实验:替换错别字
    • 8.19 章节测验
    • 8.20 复习
  • 9 组件及事件处理
    • 9.1 说课
    • 9.2 Java Swing概述
    • 9.3 窗口
    • 9.4 常用组件与布局
    • 9.5 处理事件
    • 9.6 使用MVC结构
    • 9.7 对话框
    • 9.8 树组件与表格组件
    • 9.9 按钮绑定到键盘
    • 9.10 打印组件
    • 9.11 发布GUI程序
    • 9.12 应用举例
    • 9.13 小结
    • 9.14 实验:算术测试
    • 9.15 实验:布局与日历
    • 9.16 实验:英语单词拼写训练
    • 9.17 实验:字体对话框
    • 9.18 章节测验
    • 9.19 复习
  • 10 输入、输出流
    • 10.1 说课
    • 10.2 File类
    • 10.3 文件字节输入流
    • 10.4 文件字节输出流
    • 10.5 文件字符输入、输出流
    • 10.6 缓冲流
    • 10.7 随机流
    • 10.8 数组流
    • 10.9 数据流
    • 10.10 对象流
    • 10.11 序列化与对象克隆
    • 10.12 使用Scanner解析文件
    • 10.13 文件对话框
    • 10.14 带进度条的输入流
    • 10.15 文件锁
    • 10.16 应用举例
    • 10.17 小结
    • 10.18 上机练习:分析成绩单
    • 10.19 实验:统计英文单词
    • 10.20 实验:读取压缩文件
    • 10.21 章节测验
  • 11 JDBC与MySQL数据库
    • 11.1 说课
    • 11.2 MySQL数据库管理系统
    • 11.3 启动MySQL数据库服务器
    • 11.4 MySQL客户端管理工具
    • 11.5 JDBC
    • 11.6 连接数据库
    • 11.7 查询操作
    • 11.8 更新、添加与删除操作
    • 11.9 使用预处理语句
    • 11.10 通用查询
    • 11.11 事务
    • 11.12 连接SQL Server数据库
    • 11.13 连接Derby数据库
    • 11.14 应用举例
    • 11.15 小结
    • 11.16 上机练习:抽取样本
    • 11.17 上机练习:用户转账
    • 11.18 上机练习:查询Excel电子表格
    • 11.19 章节测验
  • 12 Java多线程机制
    • 12.1 进程与线程
    • 12.2 Java中的线程
    • 12.3 Thread类与线程的创建
    • 12.4 线程的常用方法
    • 12.5 线程同步
    • 12.6 协调同步的线程
    • 12.7 线程联合
    • 12.8 GUI线程
    • 12.9 计时器线程
    • 12.10 守护线程
    • 12.11 应用举例
    • 12.12 小结
    • 12.13 上机练习:键盘操作练习
    • 12.14 上机练习:双线程猜数字
    • 12.15 上机练习:汉字打字练习
    • 12.16 上机练习:月亮围绕地球
    • 12.17 章节测验
  • 13 Java网络编程(自学)
    • 13.1 URL类
    • 13.2 InetAddress类
    • 13.3 套接字
    • 13.4 UDP数据报
    • 13.5 广播数据报
    • 13.6 Java远程调用
    • 13.7 应用举例
    • 13.8 小结
    • 13.9 上机练习:读取服务器端文件
    • 13.10 上机练习:会结账的服务器
    • 13.11 上机练习:读取服务器端的窗口
    • 13.12 上机练习:与服务器玩猜数游戏
    • 13.13 上机练习:传输图像
    • 13.14 章节测验
  • 14 图形、图像与音频
    • 14.1 绘制基本图形
    • 14.2 变换图形
    • 14.3 图形的布尔运算
    • 14.4 绘制钟表
    • 14.5 绘制图像
    • 14.6 播放音频
    • 14.7 应用举例
    • 14.8 小结
    • 14.9 上机练习:转动的风扇
    • 14.10 上机练习:制作JPG格式的图像
    • 14.11 上机练习:基于图像的小动画
    • 14.12 章节测验
  • 15 泛型与集合框架(自学)
    • 15.1 泛型
    • 15.2 链表
    • 15.3 堆栈
    • 15.4 散列映射
    • 15.5 树集
    • 15.6 树映射
    • 15.7 自动装箱与拆箱
    • 15.8 应用举例
    • 15.9 小结
    • 15.10 上机练习:搭建流水线
    • 15.11 上机练习:排序与查找
    • 15.12 上机练习:使用TreeSet排序
    • 15.13 上机练习:扫雷小游戏
    • 15.14 章节测验
  • 16 Java课程设计
    • 16.1 课程设计任务书
    • 16.2 课程设计报告模板
复习

第2章  基本数据类型与数组 复习

第2章  基本数据类型与数组  复习

一、问答题

1.什么叫标识符?标识符的规则是什么?false是否可以作为标识符。

用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false不是标识符。

2.什么叫关键字?true和false是否是关键字?请说出6个关键字。

关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

true和false不是关键字。

6个关键字:class implements interface enum extends abstract。

3.Java的基本数据类型都是什么?

boolean,char,byte,short,int,long,float,double

4.float型常量和double型常量在表示上有什么区别?

float常量必须用F或f为后缀。double常量用D或d为后缀,但允许省略后缀。

5. 怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。

一维数组名.length。二维数组名.length。

-----视频讲解-----


二、选择题

1.下列哪项字符序列可以作为标识符?

A. true

B. default

C. _int

D. good-class

   C。

2.下列哪三项是正确的float变量的声明?

 A. float foo = -1; 

 B. float foo = 1.0; 

 C. float foo = 42e1; 

 D. float foo = 2.02f; 

 E. float foo = 3.03d; 

 F. float foo = 0x0123; 

    ADF。

3.下列哪一项叙述是正确的?

A. char型字符在Unicode表中的位置范围是0至32767

B. char型字符在Unicode表中的位置范围是0至65535

C. char型字符在Unicode表中的位置范围是0至65536

D. char型字符在Unicode表中的位置范围是-32768至32767

   B。

4.以下哪两项是正确的char型变量的声明?

A. char ch = "R";

B. char ch = '\\'

C. char ch = 'ABCD';

D. char ch = "ABCD";

E. char ch = '\ucafe';

F. char ch = '\u10100'

   BE。

5.下列程序中哪些【代码】是错误的?

public class E {
   public static void main(String args[]) {
      int x = 8;
      byte b = 127;     //【代码1】
      b = x;           //【代码2】
      x = 12L;         //【代码3】
      long y=8.0;       //【代码4】  
      float z=6.89 ;     //【代码5】
   }
}

【代码2】【代码3】【代码4】【代码5】。

6.对于int a[] = new int[3];下列哪个叙述是错误的?

A. a.length的值是3。

B. a[1]的值是1。

C. a[0]的值是0。

D. a[a.length-1]的值等于a[2]的值。

   B。

-----视频讲解-----


三、阅读或调试程序

1.上机运行下列程序,注意观察输出的结果。

public class E {
 public static void main (String args[ ]) {
      for(int i=20302;i<=20322;i++) {
          System.out.println((char)i);
      }
    }
}

属于操作题

2.上机调试下列程序,注意System.out.print()和System.out.println()的区别。

public class OutputData { 
  public static void main(String args[]) {
        int x=234,y=432; 
        System.out.println(x+"<"+(2*x)); 
        System.out.print("我输出结果后不回车"); 
        System.out.println("我输出结果后自动回车到下一行");
        System.out.println("x+y= "+(x+y));
     }
}

属于操作题

3.上机调试下列程序,了解基本数据类型数据的取值范围。

public class E { 
  public static void main(String args[]) {
     System.out.println("byte取值范围:"+Byte.MIN_VALUE+"至"+Byte.MAX_VALUE); 
     System.out.println("short取值范围:"+Short.MIN_VALUE+"至"+Short.MAX_VALUE);  
     System.out.println("int取值范围:"+Integer.MIN_VALUE+"至"+Integer.MAX_VALUE); 
     System.out.println("long取值范围:"+Long.MIN_VALUE+"至"+Long.MAX_VALUE); 
     System.out.println("float取值范围:"+Float.MIN_VALUE+"至"+Float.MAX_VALUE); 
     System.out.println("double取值范围:"+
                                   Double.MIN_VALUE+"至"+Double.MAX_VALUE); 
  }
}

属于操作题

4.下列程序标注的【代码1】,【代码2】的输出结果是什么?

public class E {  
public static void main (String args[ ]){  
long[] a = {1,2,3,4};
       long[] b = {100,200,300,400,500};
       b = a; 
       System.out.println("数组b的长度:"+b.length); //【代码1】
       System.out.println("b[0]="+b[0]); //【代码2】
   }
}

【代码1】:4。【代码2】:b[0]=1。

5.下列程序标注的【代码1】,【代码2】的输出结果是什么?

public class E {
   public static void main(String args[]) {
     int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}};
     b[0] = a;
     b[0][1] = b[1][3];
     System.out.println(b[0][3]); //【代码1】
     System.out.println(a[1]);   //【代码2】
   }
}

【代码1】:40。【代码2】:7


----视频讲解-----