第1章 Delphi简介

Size: px
Start display at page:

Download "第1章 Delphi简介"

Transcription

1 第 2 章 零基础开始学习 Java 基本语法 Java 语言也有自己的一套语法规则, 通过使用这些规则, 能够让程序正确运行, 并且减少错误的发生 本章的实例虽然简单, 却基本涵盖了本篇所讲的内容, 通过这些知识的学习, 将为后面的程序开发奠定坚实的基础 通过本章内容, 可以了解 Java 程序的基本结构 基础语法 ( 包括变量 常量 数据类型 运算符等 ) 以及程序的流程控制 本章要点 ( 已掌握的在方框中打钩 ) 了解 Java 程序的基本结构 掌握如何声明和初始化变量和常量 掌握成员变量 局部变量和类变量 熟练掌握 Java 的基本数据类型以及它们之间的转换 熟练掌握 Java 中运算符的使用以及运算符的优先级 熟练掌握分支控制 循环控制及跳转语句的使用 了解 Java 代码的编写规范

2 2.1 剖析第一个 Java 程序 在第 1 章编写了第一个 Java 小程序, 它虽然非常简单, 但是也包含了 Java 语法的各个方 面 Java 程序的基本结构大体分为包 类 main() 方法 标识符 关键字 语句 注释等 下 面详细介绍 Java 程序的基本结构 1. Java 代码的基本格式 Java 代码的基本格式如下 : package 包名 ; import package1[.package2 ]. 类名 ; 修饰符 class 类名 { 类体 ; 2. 包 import Java 语言中的一个 package( 包 ) 就是一个类库单元, 包内包含有一组类, 它们在同一名称空间下被组织在一起 这个名称空间就是包名 在 Java 中定义包, 主要是为了避免变量命名重复 定义包时, 必须使用关键字 package, 定义包的语句必须在程序的第一行 其语法格式为 : package 包名 ; 在 Java 源文件中,import 语句应位于 package 语句之后 所有的类定义之前 import 语句可以没有, 也可以有多条 其语法格式为 : import package1[.package2 ].( 类名 *); 3. 类 Java 程序是由类 (class) 组成的 Java 是面向对象的程序设计语言, 而在面向对象的程序设 计中, 类是程序的基本单元 类是同类对象的集合和抽象, 对象是类的一个实例化 声明一 个类的一般形式如下 : 修饰符 class 类名 { 类体 ; 4. main() 方法 main() 方法是 Java 程序执行的入口, 其语法格式如下 : public static void main(string[] args){ 方法体 ; 26

3 2 Java 5. 方法 方法用于改变对象的属性, 或者用于接收来自其他对象的信息以及向其他对象发送消 息 它在类中, 用来描述类的行为 其定义格式如下 : 修饰符返回类型方法名 ( 参数类型 1 参数名 1,, 参数类型 n 参数名 n) { // 方法体 ; return 返回值 ; 第 章 零基础开始学习 6. 标识符标识符是指用来标识 Java 中的包 类 方法 变量 常量等的名称 就像要为每个新出生的婴儿取一个名字, 我们同样要为 Java 的每个元素指定一个名称, 以便编译器可以唯一识别它们 它的命名规则如下 (1) 标识符由字母 (a~z, A~Z) 数字 下画线(_) 和美元符号 ($) 组成 (2) 标识符首字母不能使用数字 (3) 标识符不能是关键字, 例如 class (4) 标识符区分大小写 基本语法 7. 关键字关键字属于一类特殊的标识符, 不能作为一般的标识符来使用, 如 public static 等 这些关键字不能被当成标识符使用 表 2-1 列出了 Java 中的关键字 这些关键字并不需要读者去强记, 因为在程序开发中一旦使用了这些关键字做标识符, 编辑器会自动提示错误 表 2-1 Java 关键字 abstract boolean break byte case catch char class continue default do double else extends false final finally float for if implements import instanceof int interface long native new null package private protected public return short static synchronized super this throw transient true try void volatile while const goto 保留 所有关键字都是小写英文 虽然 goto const 从未使用, 但也被作为 Java 关键字 8. 修饰符 修饰符指定数据 方法及类的属性的可见度, 如 public protected private 等, 被它们修 饰的数据 方法或者类的可见度是不同的 27

4 9. 程序块 程序块是指一对大括号之间的内容 需要注意的是, 程序中的大括号必须是成对出现的 10. 语句 在 Java 程序中包含很多使用 ; 结束的句子, 即语句 语句的作用是完成一个动作或一 系列动作 11. Java 代码的注释 Java 程序的代码注释分为 3 种, 具体如下 1) 单行注释 // 注释内容 2) 多行注释 /* 注释内容 */ 3) 文档注释 /** 注释内容 */ 2.2 常量与变量 无论编写何种应用程序, 数据都必须以某种方式表示 在 Java 程序开发中经常用到变量和常量, 熟练掌握变量和常量的用法, 可以使代码的可维护性 可读性大大提高 下面详细介绍常量和变量的相关知识 常量 常量就是在程序中固定不变的量, 一旦被定义, 它的值就不能再被改变 1. 声明常量在定义常量时需要对常量进行初始化, 初始化后, 常量的值是不允许再进行改变的 在 Java 语言中, 为了区别常量与变量, 常量名称通常用大写字母, 如 PI YEAR 等 声明常量的语法为 : final 数据类型常量名称 [ = 值 ]; final 不仅可以用来修饰基本数据类型的常量, 还可以用来修饰对象的引用和方法 28

5 2 Java 2. 常量应用示例 当常量用于一个类的成员变量时, 必须给常量赋值, 否则会出现编译错误 例 2-1 在类中声明一个常量 PRICE, 并在 main() 方法中打印它的值 ( 源代码 \ch02\src\ constant\ FinalVar.java) package constant; public class FinalVar { static final float PRICE = 2.5F; public static void main(string[] args) { System.out.println(" 白菜的市场价格是 :"+PRICE+" 元 "); 运行上述程序, 结果如图 2-1 所示 案例剖析 在本案例中, 定义了常量 PRICE, 并赋初 始值, 在主函数 main() 中打印 PRICE 的值 第 章 零基础开始学习 基本语法 变量 在程序中存在大量的数据来代表程序的状态, 其中有些数据的值在程序的运行过程中会发生改变, 这种数据被称为变量 在 Java 程序中就是通过改变变量的值来实现程序的逻辑功能的 下面详细介绍变量的声明和分类 图 2-1 运行结果 1. 声明变量 在 Java 语言中, 所有的变量在使用前必须先声明, 声明多个变量时必须使用逗号隔开 声明变量的基本格式如下 : 类型变量名 [ = value][, 变量名 [= value]...] ; 例 2-2 声明变量, 代码如下 : int x, y, z; // 声明 3 个 int 型整数 :x y z int a = 3, b = 4, c = 5; // 声明 3 个整数 a b c 并赋初值 byte z = 22; // 声明并初始化字节型变量 z String s = "Java example"; // 声明并初始化字符串 s double pi = ; // 声明了双精度浮点型变量 pi, 并赋初值 char x = 'a'; // 声明字符型变量 x, 并赋初值 'a' 案例剖析 以上列出了一些变量的声明示例 注意其中有些包含了初始化过程 声明一个变量时, 编译程序会在内存里开辟一块足以容纳这个变量的内存空间给 它 不管变量的值如何改变, 都永远使用相同的内存空间 因此, 要学会使用变量, 它是一种节省内存的方式 常量是不同于变量的一种类型, 它的值是固定的, 如整数 常量 字符串常量 通常给变量赋值时, 会将常量赋值给它 29

6 2. 变量的分类 变量是有作用范围的, 一旦超出它的范围, 就无法再使用这个变量 按作用范围进行划分, 变量分为成员变量 局部变量和类变量 1) 成员变量成员变量声明在一个类中, 但在方法 构造方法和语句块之外 它的作用范围为整个类, 也就是说在这个类中都可以访问到定义的这个成员变量 当一个对象被实例化之后, 每个成员变量的值就跟着确定, 成员变量在对象创建的时候创建, 在对象被销毁的时候销毁 成员变量可以直接通过变量名访问, 但在静态方法以及其他类中, 就要通过类的引用访问 成员变量的值应该至少被一个方法 构造方法或者语句块引用, 使得外部能够通过这些方式获取成员变量的信息 访问修饰符可以修饰成员变量, 成员变量对于类中的方法 构造方法或者语句块是可见的 一般情况下应该把成员变量设为私有 通过使用访问修饰符可以使成员变量对子类可见 成员变量具有默认值, 数值型变量的默认值是 0, 布尔型变量的默认值是 false, 引用类型变量的默认值是 null 成员变量的值可以在声明时指定, 也可以在构造方法中指定 例 2-3 在 variable 包中, 创建 MemberVar 类, 在类中定义 2 个成员变量 通过构造方法或者成员方法为成员变量赋值, 再写一个打印成员变量信息的方法 ( 源代码 \ch02\src\variable\ MemberVar.java) package variable; public class MemberVar { private int age; // 声明私有的成员变量, 仅在该类可见 public void setage(int a){ age = a; // 设定成员变量 age 的值 // 打印成员变量的信息 public void printmember(){ System.out.println(" 年龄 : " + age); public static void main(string args[]){ MemberVar emp = new MemberVar(); emp.setage(20); emp.printmember(); 运行上述程序, 结果如图 2-2 所示 案例剖析 在本案例中, 声明了 private 的成员变量 age, 它只可以被当前类访问 通过 setage () 方法为成员变量 age 赋值 在 main() 中通过类的引用 emp, 调用 printmember() 方法, 打印成员变量 age 的信息 2) 局部变量 局部变量在方法 构造方法或者语句块中声明, 它 在方法 构造方法或者语句块被执行的时候创建, 当它 们执行完成后, 变量将会被销毁 访问修饰符不能用于 图 2-2 成员变量 30

7 2 Java 局部变量, 局部变量只在声明它的方法 构造方法或者语句块中可见 局部变量没有默认 值, 所以局部变量被声明后, 必须经过初始化, 才可以使用 下面通过两个例子, 具体介绍局部变量的使用方法 例 2-4 创建 PartVar 类, 在类中定义一个局部变量 apple, 并在 putenglish() 方法中打 印它的信息 ( 源代码 \ch02\src\variable\partvar.java) package variable; // 定义包 public class PartVar { public void putenglish(){ String apple = "Apple"; // 给变量 apple 初始化 System.out.println(" 苹果的英文是 : " + apple); // 打印局部变量的值 public static void main(string args[]){ PartVar pvar = new PartVar(); // 创建对象 pvar.putenglish(); // 调用对象的成员方法 第 章 零基础开始学习 基本语法 运行上述程序, 结果如图 2-3 所示 案例剖析 在本案例中, 定义了 putenglish () 方法, 在方法中 声明了局部变量 apple, 并对它进行初始化, 然后将局 部变量 apple 打印出来 在程序的主函数 main() 中调用 了 putenglish () 方法 例 2-5 在 PartVar 类中定义没有初始化的局部 变量 apple( 源代码 \ch02\src\ PartVar.java) public class PartVar { public void putenglish(){ String apple; // 没有为局部变量 apple 初始化 System.out.println(" 苹果的英文是 : " + apple); // 打印局部变量的值 public static void main(string args[]){ PartVar pvar = new PartVar(); // 创建对象 pvar.putenglish(); // 调用对象的成员方法 将 PartVar.java 复制到 E:\java\ 目录下, 在命令提示符下, 编译上述程序, 出现 PartVar.java:4: 错误 : 可能尚未初始化变量 apple 的错误提示, 如图 2-4 所示 案例剖析 在本案例中, 定义了 putenglish () 方法, 在方法中定义了局部变量 apple, 但并没有对 apple 进行初始化, 所以编译出错 图 2-3 初始化局部变量 31

8 3) 类变量 ( 静态变量 ) 图 2-4 没有初始化的局部变量 类变量也称为静态变量, 在类中以 static 关键字声明, 但必须在方法 构造方法和语句块 之外 无论一个类创建多少个对象, 类只拥有静态变量的一份拷贝 静态变量的访问格式一 般为 : 类名. 变量名 静态成员变量的默认值和成员变量相似, 数值型变量默认值是 0, 布尔型默认值是 false, 引用类型默认值是 null 变量的值可以在声明时指定, 也可以在构造方法中指定 此 外, 静态变量还可以在静态语句块中初始化 下面通过一个例子, 详细介绍静态变量的定义和使用方法 例 2-6 在类中定义静态变量 color 常量 BANANA, 并赋值, 在主函数中打印静态变 量的值 ( 源代码 \ch02\src\variable\staticvar.java) package variable; public class StaticVar { private static String color; //salary 是静态的私有变量 public static final String BANANA = " 香蕉 "; // DEPARTMENT 是一个常量 public static void main(string args[]){ StaticVar.color = "yellow"; // 可以不加类名, 建议加上 System.out.println(StaticVar.BANANA+" 的颜色是 :"+StaticVar.color); 运行上述程序, 结果如图 2-5 所示 案例剖析 在本案例中, 定义了静态的私有变量 color, 并在 主函数给它赋值 ; 在类中定义了 BANANA 常量并赋 初始值, 最后在主函数中打印它们的信息 在当前类中访问静态变量可以不加类名直接访问, 也可以使用 类名. 静态变量名 方式 ( 建议加上类名 ) 但是其他类想要访问静态变量, 必须使用 类名. 静态变量名 方式, 如 StaticVar.BANANA 图 2-5 静态变量 32

9 2 Java 3. Java 中静态变量和成员变量的区别 类的成员变量按照是否被 static 修饰可分为两种 : 一种是被 static 修饰的变量, 叫静态变 量或类变量 ; 另一种是没有被 static 修饰的变量, 叫成员变量 静态变量和成员变量的区别如下 (1) 静态变量在内存中只有一份拷贝 ( 节省内存 ),JVM 只为静态变量分配一次内存, 在 加载类的过程中完成静态变量的内存分配, 可以用类名直接访问 (2) 成员变量是每创建一个对象, 就会为成员变量分配一次内存, 成员变量可以在内存 中有多个拷贝, 互不影响 ( 灵活 ) 例 2-7 分析静态变量和成员变量的区别 ( 源代码 \ch02\src\variable\qubievar.java) package variable; public class QuBieVar { private static int staticint = 0; // 定义静态变量, 并赋值 private int random = 0; // 定义成员变量, 并赋值 public QuBieVar() { // 构造函数 staticint++; // 静态变量自加 1 random++; // 成员变量自加 1 // 类的静态变量, 可以直接通过类名访问 System.out.println(" 静态变量 staticint = " + QuBieVar.staticInt); // 成员变量, 只可以通过类的对象访问 System.out.println(" 成员变量 random = "+ random); System.out.println(); public static void main(string[] args) { QuBieVar test1 = new QuBieVar(); QuBieVar test2 = new QuBieVar(); 第 章 零基础开始学习 基本语法 运行上述程序, 结果如图 2-6 所示 案例剖析 在本案例中, 无论创建多少个类的对象, 永远都只分配一个 staticint 变量, 并且每创建一个类的对象, 这个 staticint 就会加 1; 但是每创建一个类的对象, 就会分配一个 random, 即可能分配多个 random, 并且每个 random 的值都只自加了 1 次 因此, 静态成员变量的值是 2, 成员变量的值始终是 1 图 2-6 静态变量和成员变量的区别 2.3 数据类型 Java 是一种类型安全语言, 数据在使用前必须预先声明其类型, 编译程序首先检查操作数的类型是否匹配, 不匹配就要报告编译错误 数据类型有两种 : 基本数据类型和引用类型 (reference) 引用类型有类(class) 接口(interface) 和数组 (array)3 种 下面详细介绍 Java 的基 33

10 本数据类型和类型转换 Java 语言的基本数据类型总共有 8 种, 按用途划分为 4 个类别 : 整数型 浮点型 字符型和布尔型 整数型 整数型是一类整数值的类型, 即没有小数部分的数值, 可以是整数 负数和零 根据所 占内存的大小不同, 可以分为 byte( 字节型 ) short( 短整型 ) int( 整型 ) 和 long( 长整型 )4 种类 型 它们所占内存和取值范围如表 2-2 所示 表 2-2 整数类型 数据类型 占用内存 (1 字节 =8 位 ) 取值范围 byte 1 字节 (8 位 ) -128~127 short 2 字节 (16 位 ) ~32767 Int 4 字节 (32 位 ) ~ long 8 字节 (64 位 ) L~ L 1. byte 型 byte 是最小的整数类型, 在内存中分配的内存空间最少, 只分配 1 个字节 ( 即 8 位 ) byte 的取值范围为 -128~127, 使用时一定要注意, 以免数据溢出产生错误 当操作来自网络或文件的数据流时,byte 类型的变量特别有用 ; 当操作与 Java 的其他内置类型不直接兼容原始的二进制数据时,byte 类型的变量也很有用 使用 byte 关键字来定义变量时, 可以一次定义一个或多个变量, 并对其进行赋值, 也可以不进行赋值 例 2-8 定义 byte 型变量 byte x; // 定义一个变量 byte a, b = 3,c = 43; // 定义多个变量 a b c, 并给 b,c 赋值声明多个类型相同变量时, 变量之间用, ( 逗号 ) 分隔 2. short 型 short 型即短整型, 是有符号的 16 位 (2 个字节 ) 类型,short 型的取值范围为 ~ 32767, 虽然取值范围比 byte 型大, 但还是要注意数据的溢出 short 型限制数据的存储顺序为先高字节 后低字节, 这样在某些机器中就会出错, 因此该类型很少使用 使用 short 关键字来定义变量, 可以一次定义一个或多个变量并赋值, 也可以不进行赋值 34

11 2 Java 例 2-9 定义 short 型变量 short s=12; // 定义 short 型变量并初始化 3. int 型 int 型即整型, 是最常用的一种整数类型 int 型是有符号的 32 位 (4 字节 ) 类型,int 型的取值范围是 ~ , 足够一般情况下使用, 所以是整数类型中应用最广泛的 使用 int 关键字定义变量, 可以一次定义一个或多个变量并赋值, 也可以不进行赋值 例 2-10 定义 int 型变量 int i = 32,j = 45; // 定义 int 型变量 i j, 并初始化 第 章 零基础开始学习 基本语法 4. long 型 long 型即长整型, 是有符号的 64 位 (8 字节 ) 类型, 它的取值范围是 ~ 使用 long 关键字定义变量, 可以一次定义一个或多个变量并对其进行赋值, 也可以不进行赋值 而在对 long 型变量赋值时, 结尾必须加上 L 或者 l, 否则将不被认为是 long 型 例 2-11 定义 long 型变量 long x = L,y = L,z; // 定义 long 型变量 x y z, 并赋初值给 x y 弄混 在定义 long 类型变量时, 在结尾最好加大写 L, 因为小写 l 和数字 1 经常容易 例 2-12 在项目中创建类 TestNumber, 在 main() 方法中, 定义不同的整数类型变量, 并 对这些变量进行算术操作, 然后在控制台输出 ( 源代码 \ch02\src\datatype\testnumber.java) package datatype; public class TestNumber { public static void main(string[] args) { byte b = 105; short s = 30867; int i = ; long g = L; long add = b + s + i + g; long subtract = g-i-s-b; long multiply = i * s; long divide = g / i; System.out.println(" 相加结果为 :" + add); System.out.println(" 相减结果为 :" + subtract); System.out.println(" 相乘结果为 :" + multiply); System.out.println(" 相除结果为 :" + divide); 上述程序的运行结果如图 2-7 所示 35

12 图 2-7 整数类型变量 上述 4 种数据类型在 Java 程序中有 3 种表示形式, 分别为十进制表示法 八进制表示法和十六进制表示法 (1) 十进制表示法 是组成以 10 为基础的数字系统, 由 0,1,2,3,4,5, 6,7,8,9 十个基本数字组成 它是逢十进一, 每位上的数字最大是 9, 例如 都是十进制 (2) 八进制表示法 是组成以 8 为基础的数字系统, 由 0,1,2,3,4,5,6, 7 八个基本数字组成 它是逢八进一, 每位上的数字最大是 7, 且必须以 0 开头 例如 0225( 转换成十进制为 149) -0225( 转换成十进制为 -149) 都是八进制 (3) 十六进制表示法 它是逢十六进一, 每位上的最大数字是 f( 十进制的 15), 且必须以 0X 或 0x 开头 例如,0XC8D6( 转换成十进制为 51414) 0x68( 转换成十进制为 104) 都是十六进制 浮点型 浮点型也称为实型, 是指带有小数部分的数据 当计算需要小数精度的表达式时, 可使 用浮点型数据 在 Java 中浮点型分为单精度浮点型 (float) 和双精度浮点型 (double), 它们有不 同的取值范围, 如表 2-3 所示 表 2-3 浮点类型 类型 占用内存 (1 字节 =8 位 ) 取值范围 单精度浮点型 4 字节 (32 位 ) -3.4E+38~3.4E+38(6~7 位有效小数位 ) 双精度浮点型 8 字节 (64 位 ) -1.7E+308~1.7 E+308(15 位有效小数位 ) 1. float 型 float 型即单精度浮点型, 它表示使用 32 位 (4 字节 ) 存储的单精度数值 在某些处理器上, 单精度运算速度更快, 并且占用的空间是双精度的一半, 但是当数值非常大或非常小时存储精度会变得不精确 如果需要小数部分, 并且精度要求不是很高时,float 型的变量是很有用的 36

13 2 Java 使用 float 关键字定义变量时, 可以一次定义一个或多个变量并对其赋值, 也可以不进行 赋值 在给 float 型变量进行赋值时, 在结尾必须加上 F 或 f, 如果不加, 系统自动将其定义 为 double 型变量 例 2-13 定义 float 型变量 float f1 = 36.24F,f2 = f,f3; // 定义 float 型变量 f1 f2 f3, 并给变量 f1 f2 赋值 第 章 零基础开始学习 2. double 型 double 型即双精度浮点型, 它表示 64 位 (8 字节 ) 存储的双精度数值 在针对高精度数学运算进行了优化的某些现代处理器上, 实际上双精度数值的运算速度更快 如果需要在很多次迭代运算中保持精度, 或是操作非常大的数值时,double 类型是最佳选择 使用 double 关键字定义变量时, 可以一次定义一个或多个变量并对其赋值, 也可以不进行赋值 在给 double 型变量赋值时, 可以使用后缀 D 或 d 明确表明这是一个 double 型的数据, 当然也可以不加 对于浮点型数据, 系统默认是 double 型 例 2-14 定义 double 型变量 基本语法 // 定义 double 型变量 d1 d2 d3 d4, 并给变量 d1 d2 d3 赋值 double d1 = ,d2 = d,d3 = D,d4; 字符型 char 型即字符型, 使用 char 关键字进行声明, 它占用 16 位 (2 个字节 ) 的内存空间, 用来存储单个字符 char 类型的范围是 0~65536, 没有负值 它们有不同的取值范围, 如表 2-4 所示 表 2-4 字符类型类型关键字占用内存取值范围字符型 char 2 字节 0~65536 在为 char 型的变量赋值时, 可以使用单引号或数字 char 型使用两个字节的 Unicode 编码表示,Unicode 定义了一个完全国际化的字符集, 能够表示全部人类语言中的所有字符 为此,Unicode 需要 16 位宽度 因此, 在 Java 中的 char 是 16 位的 例 2-15 定义 char 型变量 char c = 'A'; // 定义 char 型变量 c, 并初始化 由于字符 A 在 Unicode 表中的排序是 65, 因此允许将上面的语句写成 : char c = 65; // 定义 char 型变量 c, 并初始化 37

14 在 Java 中,char 常被当作整数类型, 这意味着 char 和 int short long 以及 byte 属于同一分类 但是, 由于 char 类型的主要用途是表示 Unicode 字符, 因此, 通常考虑将 char 放到单独的分类中 Unicode 中存储了 个字符, 所以 Java 中的字符几乎可以处理所有国家的语言文字 若想得到 0~65536 之间的数所代表的 Unicode 表中相应位置上的字符, 也必须使用 char 型进行显式转换 在字符类型中有一种特殊的字符, 以反斜线 \ 开头, 后跟一个或者多个字符, 叫转义字符 例如, \b 就是一个转义字符, 意思是 退格符 Java 中的转义字符, 如表 2-5 所示 表 2-5 转义字符表转义字符含义 \ddd 1~3 位八进制字符 (ddd) \uxxx 1~4 位十六进制 Unicode 码字符 \ 单引号 \ 双引号 \\ 反斜杠 \n 回车换行 \f 换页符 \t 水平跳格符 \b 退格符 布尔型 boolean 型即布尔型, 使用 boolean 关键字进行声明, 它只有 true( 真 ) 和 false( 假 ) 两个值 也就是说, 当将一个变量定义成布尔类型时, 它的值只能是 true 或 false, 除此之外, 没有其他的值可以赋值给这个变量, 如表 2-6 所示 表 2-6 布尔类型类型关键字占用内存取值范围布尔型 boolean 1 字节 true 或 false 例 2-16 定义 boolean 类型的变量 boolean b = true; // 定义 boolean 型变量 t, 并初始化 经过声明之后, 布尔变量的初值即为 true 当然如果在程序中需要更改它的值 时, 随时可以操作 38

15 2 Java 第 类型转换 数据类型的转换是在所赋值的数值类型和被变量接受的数据类型不一致时发生的, 它需要从一种数据类型转换成另一种数据类型 在 Java 中, 对于除了 boolean 类型以外的 7 种基本类型, 在把某个类型的值直接赋给另外一种类型的变量时, 这种方式称为基本类型转换 一般情况下, 基本数据类型转换可分为自动类型转换 ( 隐式转换 ) 和强制类型转换 ( 显示转换 ) 两种 1. 自动类型转换自动类型转换必须在两种兼容的数据类型之间进行, 并且必须是由低精度类型向高精度类型转换 整数类型 浮点型和字符型数据可以进行混合运算 在运算过程中, 不同类型的数据会自动转换为同一类型, 然后进行运算 自动转换的规则如下 (1) 数值型之间的转换 :byte short int long float double (2) 字符型转换为整型 :char int 以上类型从左到右依次自动转换, 最终转换为同一数据类型 例如 byte 和 int 类型运算, 则最终转换为 int 类型 ; 如果是 byte int 和 double 这 3 种类型参与运算, 则最后转换为 double 类型 例 2-17 不同类型之间的自动类型转换( 源代码 \ch02\src\datatype\testtype.java) 章 零基础开始学习 基本语法 package datatype; public class TestType { public static void main(string[] args){ int i = 20; float f = 12.5f; char a = 'A'; System.out.println("i + f + d = " + (i + f)); System.out.println("i + a = " + (i + a)); 运行上述程序, 结果如图 2-8 所示 案例剖析 在本案例中, 声明了 int 型变量 i,float 型的变量 f, char 型变量 a, 并对它们初始化 对变量 i 和 f 进行加法运算, 按照数值之间的转换变量 i 和 f 的值都被转换成 double 类型, 然后进行加法运算 对变量 i 和 a 进行加法运算, 将字符型先转换为整型, 然后对 i 和 a 的值进行加法运算 2. 强制类型转换 图 2-8 自动类型转换 强制类型转换是将高精度类型向低精度类型进行转换 在进行强制类型转换时, 需要注 意的是可能会因为超出了低精度数据类型的取值范围, 导致数据不完整, 数据的精度降低 39

16 强制类型转换时, 要在被转换的变量前添加转换的数据类型, 转换格式为 : ( 目标数据类型 ) 变量名或表达式 ; 例 2-18 强制类型转换 int x; double y; x = (int)y; 案例剖析 上述代码含义是先将 double 型的变量 y 强制转换成 int 型, 再将该值赋给 变量 x, 注意变量 y 本身的数据类型并没有改变 一般使用强制类型转换可能将导致数据溢出或精度下降, 因此尽量避免使用强制 类型转换 2.4 运算符 运算符是在用变量或常量进行运算时经常使用的符号 根据操作数的数目来分, 运算符分为一元运算符 二元运算符和三元运算符 根据功能来分, 运算符分为赋值运算符 算术运算符 比较运算符 条件运算符 逻辑运算符 位运算符以及自增自减运算符 下面详细介绍这些运算符的使用方法 赋值运算符 赋值运算符就是用于完成赋值的运算符 最基本的算术运算就只有一个, 就是 = ( 等号 ), 而在它的基础之上结合加 减 乘 除等, 又形成了复合赋值运算符 在大型程序中灵活运用这些赋值运算符可以提高程序的易读性 易懂性, 并且使程序更加容易维护 1. 基本赋值运算符基本赋值运算符 = ( 等号 ) 是一个二目运算符, 其功能是将右边的表达式或者任何数值赋给左边的变量 基本的赋值运算符的使用格式如下 : 变量类型变量名 = 所赋的值 ; 例 2-19 使用赋值运算符为变量赋值 int x = 3; int y = 10; int z = x + y + 8; // 声明 int 型的变量 x // 声明 int 型的变量 y // 将变量 x y 和 8 进行运算后的结果赋值给变量 z 2. 复合赋值运算符 在基本的赋值运算符基础上, 可以结合算术运算符形成复合运算符, 其具有特殊含义 常用的复合赋值运算符如表 2-7 所示 40

17 2 Java 第 表 2-7 赋值运算符 赋值运算符 范例 含义 += a+=b a=a+b -= a-=b a=a-b *= a*=b a=a*b /= a/=b a=a/b %= a%=b a=a%b &= a&=b a=a&b = A =b a=a b ^= a^=b a=a^b 章 零基础开始学习 基本语法 通过表 2-7 可以知道其中所列的各种赋值运算符, 与 = 相同, 左边的变量是被赋值变量 实际上, 自增和自减运算符也可以说是赋值运算符, 因为它将最终结果赋值给变量本身 例 2-20 复合赋值运算符的使用 int num = 23; // 声明 int 型变量 num num += 12; // 复合运算符, 等同于 num = num + 12; 算术运算符 算术运算符的功能是进行算术运算 算术运算符可以分为加 (+) 减(-) 乘(*) 除(/) 及取 模 (%) 这 5 种运算符, 它们组成了程序中最常用的算术运算符 各种算术运算符的含义及其应 用如表 2-8 所示 表 2-8 算术运算符的含义 运算符 含义 实例 结果 + 连接的两个变量或常量进行加法运算 连接的两个变量或常量进行减法运算 * 连接的两个变量或常量进行乘法运算 4*5 20 / 连接的两个变量进行除法运算 4/5 0 % 模运算, 连接两个变量或常量进行除法运算的余数 4%5 4 其中加法运算符 + 和减法运算符 -, 还可以表示 正号 负号, 例 如,+6 表示正 6 例 2-21 在项目中创建 SuanShu 类, 在类的 main() 方法中创建变量, 使用算术运算符 对变量进行运算, 将运算结果输出 ( 源代码 \ch02\src\datatype\suanshu.java) package datatype; public class SuanShu { public static void main(string[] args){ 41

18 int x = 23; int z = 2; float y = 16.28f; System.out.println("x + y = " + (x + y)); System.out.println("x - y = " + (x - y)); System.out.println("x * y = " + (x * y)); System.out.println("x / z = " + (x / z)); System.out.println("x % z = " + (x % z)); 运行上述程序, 结果如图 2-9 所示 案例剖析 在本案例中, 定义了 x y z 这 3 个变量, 对 x y 和 z 进行加 减 乘 除 取模和取余运算, 在控制台输出它们的值 比较运算符 比较运算符是指对两个操作数进行关系运算的运算 图 2-9 算术运算 符, 属于二元运算符 比较运算符也是 Java 程序中经常会 用到的运算符, 它的结果通常是布尔类型, 可将它们的比较结果作为判断或循环的条件 常 用的比较运算符的含义及应用如表 2-9 所示 表 2-9 比较运算符的含义及应用 运算符 含义 实例 结果 > 大于运算符 4>5 false >= 大于等于运算符 4>=5 false < 小于运算符 4<5 true <= 小于等于运算符 4<=5 true == 等于运算符 4==5 false!= 不等于运算符 4!=5 true 在表 2-9 所示的各种运算符中, 一定将等于运算符 == 与赋值运算符 = 区 分开, 如果少写一个 =, 那就不是比较了, 整个语句就变成赋值语句 初学者可 能会将赋值运算符错误用作等于运算符, 这在编程中一定要避免 例 2-22 在项目中创建 Compare 类, 在类的 main() 方法中创建整型变量, 使用比较运 算符对变量进行运算, 将运算结果输出 ( 源代码 \ch02\src\datatype\compare.java) package datatype; public class Compare { public static void main(string[] args){ int x = 23; int y = 12; 42

19 2 Java System.out.println("x > y :" + (x > y)); System.out.println("x >= y :" + (x >= y)); System.out.println("x < y :" + (x < y)); System.out.println("x <= y :" + (x <= y)); System.out.println("x!= y :" + (x!= y)); System.out.println("x == y :" + (x == y)); 运行上述程序, 结果如图 2-10 所示 案例剖析 在本案例中, 定义了两个整型变量 x 和 y, 通过对 x 和 y 进行比较运算, 输出它们的比较结果 条件运算符 第 章 零基础开始学习 基本语法 条件运算符的符号是? :, 条件运算符属于三目 运算符, 需要 3 个操作数, 可以把它理解为 if else 语句 的简化, 一般语法结构如下 : 图 2-10 比较运算符 Result = < expression >? < statement1 > : < statement2 > 其含义就是, 如果 expression 条件表达式成立, 执行语句 statement1, 否则执行语句 statement2 例 2-23 在项目中创建 TiaoJian 类, 在类的 main() 方法中创建整型变量, 使用条件运 算对变量进行运算, 将运算结果输出 ( 源代码 \ch02\src\datatype\tiaojian.java) package datatype; public class TiaoJian { public static void main(string[] args){ int x = 23; int y = 12; int z = (x > y)? x : y; System.out.println("x 和 y 中最大的值是 :" + z); 运行上述程序, 结果如图 2-11 所示 案例分析 在本案例中, 定义两个整型变量 x 和 y, 如果条件成立输出 x, 否则输出 y 逻辑运算符 在编程中进行逻辑运算不可避免 逻辑运算符用来图 2-11 条件运算符把各个运算的变量 ( 或常量 ) 连接起来组成一个逻辑表达式, 来判断编程中某个表达式是否成立, 判断的结果是 true 或 false 逻辑运算符的具体含义及应用如表 2-10 所示 43

20 表 2-10 逻辑运算符的含义及应用 运算符含义实例结果 && 逻辑与 (AND) false&&true false 逻辑或 (OR) false true true! 逻辑非 (NOT)!false true 逻辑与运算符表示它连接的两个条件同时成立时, 整个逻辑与运算才成立 ; 逻辑或运算 符表示连接的两个条件其中有一个成立时, 整个逻辑或运算就成立 ; 而逻辑非运算符表示相 反的运算, 如果条件成立则使用逻辑非运算的逻辑表达式值为不成立, 反之亦然 例 2-24 在项目中创建 Calculation 类, 在类的 main() 方法中创建 boolean 型变量, 使 用逻辑运算对变量进行运算, 将运算结果输出 ( 源代码 \ch02\src\datatype\ Calculation.java) package datatype; public class Calculation { public static void main(string[] args) { boolean x = true; // 定义 boolean 型变量 x 并初始化 boolean y = false; // 定义 boolean 型变量 y 并初始化 System.out.println("x && y : " + (x && y)); System.out.println("x y : " + (x y)); System.out.println("!x : " + (!x)); 运行上述程序, 结果如图 2-12 所示 案例剖析 在本案例中, 定义了 boolean 型的两个变量 x 和 y 并初始化 对 x 和 y 做逻辑与和逻辑或运算, 并输出它 们的值 再对变量 x 做逻辑非运算, 并输出它的值 位运算符 位运算符主要用于对操作数为二进制的位进行运 算 按位运算表示按每个二进制位来进行运算, 其操作数的类型是整数类型以及字符类型, 运算的结果是整数类型 位运算符大致分为两大类, 即按位运算符和移位运算符, 各运算符 的含义及功能如表 2-11 所示 表 2-11 位运算符 运算符含义实例结果运算分类 & 按位与 6&3 2 按位或 ^ 按位异或 6^3 1 ~ 按位取反 ~7-8 图 2-12 逻辑运算符 按位运算符 44

21 2 Java 续表 运算符 含义 实例 结果 运算分类 << 左移 9<<1 96 >> 右移 8>>1 24 移位运算符 >>> 无符号右移 1. 按位与 运算 按位与 运算的运算符为 &, 是双目运算符 其运算规则是 : 先将参与运算的数 转换成二进制数, 然后进行低位对齐, 高位不足补零 ; 如果对应的二进制位同时为 1, 那么结 果就为 1, 否则结果为 0 例 2-25 使用 按位与 运算符 第 章 零基础开始学习 基本语法 int a = 6; int b = 3; a & b = 2; 案例剖析 (1) a 的二进制是 : (2) b 的二进制是 : (3) a & b 的二进制是 : ( 即十进制的 2) 2. 按位或 运算 按位或 运算的运算符为, 是双目运算符 其运算规则是 : 先将参与运算的数转 换成二进制数, 然后进行低位对齐, 高位不足补零 ; 如果对应的二进制位有一位为 1, 那么结 果就为 1, 否则结果为 0 例 2-26 使用 按位或 运算符 int a = 6; int b = 3; a b = 7; 案例剖析 (1) a 的二进制是 : (2) b 的二进制是 : (3) a b 的二进制是 : ( 即十进制的 7) 3. 按位取反 运算 按位取反 运算, 运算符为 ~, 是单目运算符 其运算规则是 : 先将参与运算的 数转换成二进制数, 然后将各位的 1 改为 0,0 改为 1 例 2-27 使用 按位取反 运算符 int a = 7 ; ~ a = -8; 45

22 案例剖析 (1) a 的二进制是 : (2) ~a 的二进制是 : ( 即十进制的 -8) 4. 按位异或 运算 按位异或 运算的运算符是 ^, 是双目运算符 其运算规则是 : 先将参与运算的数 转换成二进制数, 然后进行低位对齐, 高位不足补零, 如果对应的二进制位相同 ( 同时为 1, 或者同时为 0), 那么结果就为 0, 否则结果为 1 例 2-28 使用 按位异或 运算符 int a = 6; int b = 3; a ^ b =5; 案例剖析 (1) a 的二进制是 : (2) b 的二进制是 : (3) a^b 的二进制是 : ( 即十进制的 5) 5. 右移位 运算 右移位 的运算符是 >> 其运算规则是 : 按二进制形式把所有数字向右移右边操 作数指定的位数, 低位数移出 ( 舍弃 ), 高位补符号位 ( 正数补 0, 负数补 1) 例 2-29 使用 右移位 运算符 int a = 8 ; a >> 1 ; 案例剖析 (1) a 的二进制是 : (2) a>>1 的二进制是 : ( 即十进制的 4) 6. 左移位 运算 左移位 的运算符是 << 其运算规则是 : 按二进制形式把所有数字向左移右边操 作数指定的位数, 高位数移出 ( 舍弃 ), 低位的空位补零 例 2-30 使用 左移位 运算符 int a = 8 ; a << 2 ; 案例剖析 (1) a 的二进制是 : (2) a<<2 的二进制是 : ( 即十进制的 32) 7. 无符号右移 运算 无符号右移 的运算符是 >>> 其运算规则是 : 按二进制形式把所有数字向右移右 46

23 2 Java 边操作数指定的位数, 低位数移出 ( 舍弃 ), 高位补零 例 2-31 使用 无符号右移 运算符 int a = 10 ; a >>>2 ; 案例剖析 (1) a 的二进制是 : (2) a>>>2 的二进制是 : ( 即十进制 2) 移位可以让用户实现整数除以或乘以 2 的 n 次方的效果 例如,a>>1 与 a/2 结果 相同,a<<2 与 a*4 的结果相同 总之, 一个数左移 n 位, 即将这个数乘以 2 的 n 次 方 ; 一个数右移 n 位, 即将这个数除以 2 的 n 次方 例 2-32 在项目中创建 WeiTest 类, 在类的 main() 方法中创建整型变量, 使用位运算 对变量进行运算, 将运算结果输出 ( 源代码 \ch02\src\datatype\weitest.java) package datatype; public class WeiTest { public static void main(string[] args) { int x = 6; int y = 30; System.out.println("x << 2: " + (x << 2)); System.out.println("y >> 1: " + (y >> 1)); //x 左移 2 位 //x 右移 1 位 第 章 零基础开始学习 基本语法 运行上述程序, 结果如图 2-13 所示 案例剖析 在本案例中, 定义了两个整型的变量 x 和 y, 对 x 向左移 2 位, 看到运算结果是 24, 即 x * 2 2 = 24 对 y 向右移 1 位, 结果是 15, 即 y / 2 1 = 自增和自减运算符 图 2-13 位运算自增 (++) 和自减 (--) 运算符是一种特殊的算术运算符, 一般算术运算符需要两个操作数来进行运算, 而自增和自减运算符只需一个操作数 ++ 表示自增运算符, 它表示对使用该运算符的变量进行加 1 的运算 ; -- 表示自减运算符, 它表示对使用该运算符的变量进行减 1 的运算 当一个自增或自减运算符用在一个变量之前, 则表示首先对该变量进行递增或递减运算, 然后返回该变量的值 例 2-33 分析 ++a 与 a++ 的含义, 赋值 a = 12, 计算 a++ 和 ++a int a = 12,b; // 声明变量 a b, 并给 a 赋值 b = a++; // 将 a 的值赋给 b,a 再自加 1 b = 12,a = int a = 12,b; // 声明变量 a b, 并给 a 赋值 b = ++a; // 将 a 的值自加 1, 赋给 b b=a=13 47

24 2.4.8 运算符优先级 当多个运算符同时出现在一个表达式中时, 就会遇到运算符的优先级别问题 在一个多运算符的表达式中, 运算符优先级不同, 会导致最后得出的结果不同 在实际编写程序时, 一般使用括号来划分优先级, 初学者也应养成这种习惯 表 2-12 中列出了常见运算符之间的优先级 表 2-12 运算符优先级优先级运算符 1 括号, 如 ( ) 和 [ ] 2 一元运算符, 如 和! 3 算术运算符, 如 * / % + 和 - 4 关系运算符, 如 > >= < <= == 和!= 5 逻辑运算符, 如 & ^ && 6 条件运算符和赋值运算符, 如? : = *= /= += 和 -= 2.5 流程控制 流程控制语句用于控制程序的流程, 以实现程序的各种结构方式 所有应用程序开发环 境都提供一个判定过程, 称为控制流语句, 即程序控制语句, 它用于引导应用程序的执行 程序控制语句分为 3 类 :1 分支语句, 包括 if 语句和 switch 语句 ;2 循环语句, 包括 for 循 环语句 while 循环语句和 do while 循环语句 ;3 跳转语句, 包括 break 语句 continue 语句 和 return 语句 下面详细介绍这些控制程序执行流程的语句 分支控制 顺序结构只能顺序执行, 不能进行判断和选择, 因此需要分支结构 分支结构是逻辑选 择的核心, 同时也是所有流程控制结构中最基础的控制语句 程序在执行过程中会根据条件 来选择执行程序分支 分支语句包含两种重要的语句, 使用它们可以实现程序流程的分支控 制, 这两种语句是 if 和 switch 语句 1. if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句 if 语句的一般语法结构如下 : if ( 布尔表达式 ) { // 如果布尔表达式为 true 将执行的语句块 如果布尔表达式的值为 true, 则执行 if 语句中的代码块, 否则执行 if 语句块后面的 48

25 2 Java 代码 例 2-34 if 语句的使用 ( 源代码 \ch02\src\control\iftest.java) package control; public class IfTest { public static void main(string args[]){ boolean b = true; if( b ){ System.out.print("if 语句块 "); 运行上述程序, 结果如图 2-14 所示 案例剖析 在本案例中, 定义了一个布尔型的变量 b, 通过 if 语句判断 b 的值是否为 true, 如果是, 执行 if 语句块 ; 否则, 跳过 if 语句不执行 第 章 零基础开始学习 基本语法 2. if else 语句 if 语句后面可以跟 else 语句, 当 if 语句的布尔表达图 2-14 if 语句式值为 false 时,else 语句块会被执行 该语句还可以嵌套使用, 完成多路分支及更复杂的程序流程 使用它们的一般语法结构如下 : if ( 布尔表达式 ){ // 如果布尔表达式的值为 true else { // 如果布尔表达式的值为 false 例 2-35 if else 语句的使用 ( 源代码 \ch02\src\control\ifelsetest.java) package control; public class IfElseTest { public static void main(string args[]){ boolean b = true; if(!b ){ System.out.print("if 语句块 "); else{ System.out.println("else 语句块 "); 运行上述程序, 结果如图 2-15 所示 案例剖析 在本案例中, 定义了一个布尔型变量 b, 通过 if 语句 判断!b 的值是否是 true, 如果是, 执行 if 语句块 ; 否则, 执行 else 语句 图 2-15 if else 语句 49

26 if 和 else 后面的语句块里如果只有一个语句, 大括号可以省略不写, 但为了增强 程序的可读性, 最好不要省略 有时为了编程的需要,else 或 if 后面的大括号里可以 没有语句 3. if...else if...else 语句 if 语句后面还可以跟 else if else 语句, 这种语句可以检测到多种可能的情况 它的语法 结构格式如下 : if( 布尔表达式 1){ // 如果布尔表达式 1 的值为 true 执行代码 else if( 布尔表达式 2){ // 如果布尔表达式 2 的值为 true 执行代码 else if( 布尔表达式 3){ // 如果布尔表达式 3 的值为 true 执行代码 else { // 如果以上布尔表达式都不为 true 执行代码 使用 if else if else 这个语句时, 需要注意下面几点 (1) if 语句至多有 1 个 else 语句,else 语句在所有的 else if 语句之后 (2) if 语句可以有若干个 else if 语句, 它们必须在 else 语句之前 (3) 一旦其中一个 else if 语句检测为 true, 其他的 else if 及 else 语句都将跳过执行 例 2-36 在下面的程序中, 使用 if else if else 语句, 实现对学生成绩判定的功能 ( 源代码 \ch02\src\control\stucore.java) package control; public class StuCore { public static void main(string [] args){ int math = 92; if(math >= 85){ System.out.println(" 数学成绩优秀 "); else if(math >=75 && math < 85){ System.out.println(" 数学成绩良好 "); else if(math >= 60 && math <75){ System.out.println(" 数学成绩及格 "); else{ System.out.println(" 数学成绩不及格 "); 运行上述程序, 结果如图 2-16 所示 案例剖析 在本案例中, 通过 if else if else 语句, 分段实现对学生成绩的判断 math 大于等于 85, 输出 数学成绩优秀 ;math 大于等于 75 且小于 85, 输出 数学成绩良好 ;math 大于等于 60 且小于 75, 输出 数学成绩及格 ; 否则, 输出 数学成绩不及格 图 2-16 if else if else 语句 50

27 2 Java 4. 嵌套使用 if else 语句 if...else 语句可以实现嵌套使用, 不论是在 if 语句块还是在 else 语句块中, 都可以再次嵌 入 if...else 语句 嵌套使用 if...else 语句, 可以实现控制程序的多个流程, 实现多路分支, 满 足编程的需求 嵌套使用 if else 的语法结构如下 : if( 布尔表达式 1){ // 如果布尔表达式 1 的值为 true 执行代码 if( 布尔表达式 2){ // 如果布尔表达式 2 的值为 true 执行代码 else { // 如果布尔表达式 2 的值为 false 执行代码 例 2-37 在下面的程序中, 学习使用 if else 嵌套语句, 实现对学生成绩判定的功能 ( 源代码 \ch02\src\control\ QanTaoIf.java) 第 章 零基础开始学习 基本语法 package control; public class QanTaoIf { public static void main(string [] args){ int math = 78; if(math >= 60){ if(math >= 85){ System.out.println(" 数学成绩优秀 "); else if(math >= 75){ System.out.println(" 数学成绩良好 "); else{ System.out.println(" 数学成绩及格 "); else{ System.out.println(" 数学成绩不及格 "); 运行上述程序, 结果如图 2-17 所示 案例剖析 在本案例中, 通过嵌套的 if else 语句实现对学生 成绩的等级判定 首先判断 math 是否大于等于 60, 条 件成立进入 if 语句执行, 否则执行 else 语句输出 数学 成绩不及格 在 if 语句内, 执行嵌套的 if 语句 在嵌 套的 if 语句中, 首先判断 math 是否大于等于 85, 如果 条件成立, 执行输出 数学成绩优秀, 否则执行 else if 语句判断学生成绩是否大于等于 75, 如果条件成立, 输出 数学成绩良好, 否则执行 else 语句, 输出 数学成绩及格 由此可以看到, if...else 语句的使用相当灵活, 不仅在嵌套中呈现多种形式, 还能使用单独的 if 语句实现复杂 的嵌套, 以满足程序需求 图 2-17 嵌套 if else 语句 51

28 5. switch 语句 虽然可以使用 if...else 语句嵌套实现程序的多路径分支, 但分支过多的情况下, 使用 if...else 嵌套不但使程序的可读性不高, 而且执行效率也低, 在这种情况下, 使用 switch 语句 可以解决 if...else 语句嵌套带来的弊端 switch 语句判断一个变量与一系列值中某个值是否相等, 每个值称为一个分支 该语句 的一般语法结构如下 : switch (expression){ case value : // 语句 break; // 可选 case value : // 语句 break; // 可选 // case 语句数量不限 default : // 可选 // 语句 switch 语句有如下规则 (1) switch 语句中的变量类型可以是 byte short int 或 char 从 Java SE 7 开始,switch 支持字符串类型了, 同时 case 标签必须为字符串常量或字面常量 常量 (2) switch 语句有多个 case 语句 每个 case 后面跟一个要比较的值和冒号 (3) case 语句中的值的数据类型必须与变量的数据类型相同, 而且只能是常量或者字面 (4) 当变量的值与 case 语句的值相等时, 那么执行这条 case 语句 ; 直到 break 语句出 现, 跳出 switch 语句 (5) 遇到 break 语句时, 程序跳转到 switch 语句后面执行 如果没有 break 语句出现, 程 序会继续执行下一条 case 语句, 直到出现 break 语句 (6) switch 语句还可以包含一个 default 分支, 该分支必须是 switch 语句的最后一个分 支 default 在没有 case 语句的值和变量值相等的时候执行 default 分支不需要 break 语句 例 2-38 使用 switch 语句, 根据用户输入月份的数值, 在控制台输出相应的月份信息 ( 源代码 \ch02\src\control\switchtest.java) package control; package control; import java.util.scanner; public class SwitchTest { public static void main(string [] args){ System.out.print(" 请输入当前月份 ( 如 3 表示 3 月 ):"); Scanner input = new Scanner(System.in); int month = input.nextint(); System.out.println(); switch(month){ case 1: System.out.println(" 现在是 : 一月份 "); 52

29 2 Java break; case 2: System.out.println(" 现在是 : 二月份 "); break; case 3: System.out.println(" 现在是 : 三月份 "); break; case 4: System.out.println(" 现在是 : 四月份 "); break; case 5: System.out.println(" 现在是 : 五月份 "); break; case 6: System.out.println(" 现在是 : 六月份 "); break; case 7: System.out.println(" 现在是 : 七月份 "); break; case 8: System.out.println(" 现在是 : 八月份 "); break; case 9: System.out.println(" 现在是 : 九月份 "); break; case 10: System.out.println(" 现在是 : 十月份 "); break; case 11: System.out.println(" 现在是 : 十一月份 "); break; case 12: System.out.println(" 现在是 : 十二月份 "); break; default: System.out.println(" 对不起你输入的月份不正确!"); 第 章 零基础开始学习 基本语法 运行上述程序, 在 Console 视图中, 输入数字 4, 运行结果如图 2-18 所示 当输入月份 不正确时, 如输入 15, 运行结果如图 2-19 所示 图 2-18 switch 循环 case:4 图 2-19 switch 循环 default 53

30 案例剖析 在本案例中, 使用 switch 语句, 根据用户的输入数值判定并显示用户输入的月份 default 语句是可选的, 当输入值和 case 语句的值都不相等时, 执行该语句 当输入在 case 值之外的 值 15 时, 输出 default 的提示信息 ; 当输入数字 4 时, 就会在控制台输出 当前月份是 : 四 月份 switch 语句判断条件可以接受 int byte char short 型, 不可以接受其他类型 循环控制 顺序结构的程序语句只能被执行一次 如果想要同样的操作执行多次, 就需要使用循环 结构 Java 中有 3 种主要的循环结构 :while 循环 do while 循环 for 循环和增强型 for 循环 1. for 循环 for 循环语句是计数型循环语句, 提前指定循环的次数, 适用于循环次数已知的情况 使 用 for 循环时, 一般遵循下面的语法结构 : for( 初始化 ; 布尔表达式 ; 更新 ) { 循环体 ; 关于 for 循环有以下几点说明 (1) 首先初始化变量 可以声明一种类型, 也可初始化一个或多个循环控制变量, 还可 以是空语句 (2) 判断布尔表达式的值 如果为 true, 循环体被执行 如果为 false, 循环终止, 开始 执行循环体后面的语句 (3) 执行一次循环后, 更新循环控制变量 (4) 再次判断布尔表达式 循环执行上面的过程 例 2-39 编写一个程序, 在控制台输出 100 以内可以被 5 整除的数, 并统计其个数 ( 源 代码 \ch02\src\control\fortest.java) package control; public class ForTest { public static void main(string [] args){ int count = 0; // 计算被 5 整除的数的个数 System.out.println(" 使用 for 循环 "); System.out.println(" 输出 100 内被 5 整除的数 :"); for(int i = 1;i <= 100;i++){ if(i % 5 == 0){ count ++; // 计算被 5 整除的数的个数 System.out.print(" " + i); // 在同一行输出 if(count%8==0){ // 被 5 整除的数的个数, 一行输出 8 个 System.out.println(""); // 换行 System.out.println(); 54

31 2 Java System.out.println("100 内被 5 整除的数共有 " + count +" 个 "); 运行上述程序, 结果如图 2-20 所示 案例剖析 (1) 在本案例中, for 循环的循环控制变量为 i, 其初始值为 1; i <= 100 是 boolean 型表达式, 其结果如果为 true 则循环继续执行, 否则跳出循环 ;i++ 是循环控制变量, 每次累加 1, 如此循环, 直到表达式 i<=100 为 false 时结束循环 (2) 在 for 循环中, 通过 if 语句判断 i 是否可以被 5 整除, 可以被 5 整除时输出,count++; 否则执行下一次 for 循图 2-20 for 循环环 在 if 语句中嵌套 if 语句判断 count 是否可以被 8 整除, 从而控制每行输出 8 个被 5 整除的数 (3) 在本案例中注意区分 System.out.print() 和 System.out.println(), 前者是在同一行输出, 后者是输出后紧接着换行 第 章 零基础开始学习 基本语法 for() 循环可以不进行变量初始化, 而在循环体内初始化, 但是分号 (;) 不可以省略 ;for() 循环也可以没有布尔表达式, 只是会无限循环 ;for() 循环没有最后一个表达式时, 可以在循环体内进行变量的更新 for() 循环也可以没有循环体, 但是要在 for() 循环后加分号 (;) 2. while 循环 While 循环是最基本的循环, 它也可以控制一条或者多条语句的循环执行 和 for 循环语 句相似, 都需要一个判断条件, 如果该条件为真则执行循环语句, 否则跳出循环 而 for 循环 语句与 while 循环语句不同的是 for 循环语句的循环次数确定, 而 while 循环语句的循环次数 不确定 while 循环的结构如下 : while( 布尔表达式 ) { // 循环体 例 2-40 在程序中, 使用 while 循环语句输出 100 以内被 5 整除的数, 并统计个数 ( 源 代码 \ch02\src\control\whiletest.java) package control; public class WhileTest { public static void main(string [] args){ int count = 0; // 计算被 5 整除的数的个数 int num = 1; System.out.println(" 使用 while 循环 "); System.out.println(" 输出 100 内被 5 整除的数 :"); while(num <= 100){ if(num % 5 == 0){ count ++; // 计算被 5 整除的数的个数 System.out.print(" " + num); // 在同一行输出 55

32 num ++; if(count % 8 == 0){ // 被 5 整除的数的个数, 一行输出 8 个 System.out.println(""); // 换行 System.out.println(); System.out.println("100 内被 5 整除的数共有 " + count +" 个 "); 运行上述程序, 结果如图 2-21 所示 案例剖析 (1) 在本案例中, 首先声明整数变量 count 用于计数, 整型变量 num 用于表示 100 内的数, 初值是 1,while 循环的条件表达式是 num<=100 (2) 在 while 循环体中, 首先使用 if 语句判定 num 是否可以被 5 整除, 可以在 if 语句中输出而且令 count++, if 语句不成立令 num++, 再次执行 while 循环, 直到循环结束 (3) 在 if 语句中使用嵌套的 if 语句判断 count 是否可以被 8 整除, 来实现每行输出 8 个被 5 整除的数 图 2-21 while 循环 3. do while 循环 while 循环有时称为 当型循环, 因为它在循环体执行前先进行条件判断 ; 而 do while 循环称 直到型循环, 它会先执行循环体, 然后进行条件判断 使用 do.while 循环的一般语法结构如下 : do{ 循环体 ; while( 布尔表达式 ); 布尔表达式 在循环体的后面, 所以循环体在判断布尔表达式之前已经执行 了 while 表达式后的分号 (;) 不要忘记 例 2-41 在程序中使用 do while 语句, 输出 100 内可以被 5 整除的数, 并统计个数 ( 源代码 \ch02\src\control\dowhile.java) package control; public class DoWhile { public static void main(string [] args){ boolean b = false; //b 赋初值 false do{ System.out.println("do-while 循环 "); System.out.println(" 先执行循环体, 再执行 while 判断 "); while(b); // 条件表达式不成立, 不执行循环体 56

33 2 Java 第 运行上述程序, 结果如图 2-22 所示 案例剖析 在本案例中, 声明了 boolean 型变量, 并赋值 false, 在程序中 do while 语句先执行循环体, 然后执行 while 循环的布尔表达式, 表达式不成立, 不执行循环体 因此, 输出一次循环体的内容 章 零基础开始学习 4. 增强型 for 循环 Java 5 引入了一种主要用于数组的增强型 for 循环 增 强型 for 循环的语法结构如下 : for( 声明语句 : 表达式 ) { // 代码句子 图 2-22 do-while 循环 基本语法 声明语句 用于声明新的局部变量, 该变量的类型必须和数组元素的类型匹配 其作 用域限定在循环语句块, 其值与此时数组元素的值相等 表达式 是要访问的数组名, 或者是返回值为数组的方法 例 2-42 在下面的程序中, 使用 Java 5 提供的增强型 for 循环, 输出字符串数组中的 内容 ( 源代码 \ch02\src\control\javafor.java) package control; public class JavaFor { public static void main(string args[]){ System.out.println(" 使用增强 for 循环 "); String[] fruits ={"Apple", "Banana", "Orange", "Pear"; for( String fruit : fruits ) { System.out.print( fruit ); System.out.print(","); System.out.print("\n"); 运行上述程序, 结果如图 2-23 所示 案例剖析 在本案例中, 定义了一个字符串型的数组 fruits, 使 用增强型 for 循环输出 在增强型 for 循环中, 定义变量 fruit, 用于输出数组中的元素,fruits 是数组的名, 在增强 型 for 循环体中输出数组的值 跳转语句 在使用循环语句时, 只有循环条件表达式的值为假时 图 2-23 增强型 for 循环 才能结束循环 如果想提前中断循环, 就需要在循环语句块中添加跳转语句 跳转语句有 57

34 break 语句 continue 语句和 return 语句 break 语句跳出循环, 执行循环后面的语句 continue 语句是跳过本次循环, 开始执行下 一次循环 return 语句是跳出方法, 并为方法返回相应值 1.break 语句 break 主要用在循环语句或者 switch 语句中, 用来跳出整个语句块 break 跳出最里层的 循环, 并且继续执行该循环下面的语句 break 的用法很简单, 就是循环结构中的一条语句 : break; 例 2-43 在 for 循环中, 使用 break 语句跳出循环 ( 源代码 \ch02\src\control\ BreakTest.java) package control; public class BreakTest { public static void main(string args[]) { System.out.println(" 使用 break 跳出循环 :"); for(int i = 1;i <=100 ;i++ ) { if( i % 13 == 0 ) { System.out.print(i); // 输出 100 内第一个被 13 整除的数 break; // 跳出 for 循环, 不再执行 运行上述程序, 结果如图 2-24 所示 案例剖析 在本案例中, 使用 for 循环输出 100 内可以被 13 整除 的数 在 for 循环中嵌套了 if 语句判断 i 的值是否可以 被 13 整除, 条件成立输出 i 的值, 并使用 break 跳出循 环, 不再执行 通过运行结果可以看出, 只执行了一次 for 循环 2. continue 语句 continue 适用于任何循环控制结构中, 作用是让程序 立刻跳转到下一次循环的迭代 在 for 循环中,continue 语句使程序立即跳转到更新语句 在 while 或 do while 循环中, 程序立即跳转到布尔表达式 的判断语句 continue 就是循环体中一条简单的语句 : continue; 例 2-44 在 for 循环中使用 continue 语句 ( 源代码 \ch02\src\control\continuetest.java) package control; public class ContinueTest { public static void main(string args[]) { System.out.println(" 使用 continue 结束本次循环 :"); for(int i = 1;i <=100 ;i++ ) { 图 2-24 break 语句 58

35 2 Java if( i % 13 == 0 ) { System.out.print(i+" "); // 输出 100 内第一个被 13 整除的数 continue; // 跳出 for 循环, 不再执行 运行上述程序, 结果如图 2-25 所示 案例剖析 在本案例中, 使用 for 循环输出 100 内可以被 13 整 除的数 在 for 循环中嵌套了 if 语句判断 i 的值是否可 以被 13 整除, 条件成立输出 i 的值, 并使用 continue 结束本次循环, 不再执行后面的输出语句了, 而是进行 下一次的循环 从图 2-25 中的输出结果可以看出, 执 行了多次循环 通过这两个例子可以看出 break 语句和 continue 语句的区别 图 2-25 continue 语句 第 章 零基础开始学习 基本语法 3. return 语句 return 语句经常使用在类的方法中, 在类中使用 return 语句可以退出类的方法, 把控制返 回给该方法的调用者 ; 如果方法有返回类型, 则必须在方法中使用 return 语句返回一个该类 型的值 使用 return 语句的一般语法结构为 : return 返回类型 ; 例 2-45 return 语句的使用 ( 源代码 \ch02\src\control\returntest.java) package control; public class ReturnTest { public static void main(string[] agrs){ System.out.print(ReturnTest.add()); public static String test(){ return "return 语句的使用 "; 运行上述程序, 结果如图 2-26 所示 案例剖析 在本案例中, 创建了一个静态方法 test(), 它的返 回类型为 String 型, 在 main 方法中调用该方法并输出 test() 的返回值 图 2-26 return 语句 59

36 2.6 Java 代码编写规范 应用编码规范对软件本身和软件开发人员而言都非常重要 在 Java 开发中所要遵守的编码规范大体上有 7 点 : 命名规范 声明规范 语句规范 注释规范 编程规范 文件内容规范及缩进排版规范 1. 命名规范命名规范是一种约定, 也是程序员之间良好沟通的桥梁 下面是 Java 语言中标识符的命名规范 (1) 标识符严格区分大小写 (2) 标识符是由字母 数字 下画线 (_) 和美元符号 ($) 组成的字符序列 (3) 标识符必须以字母 下画线 (_) 或美元符号 ($) 开头而不能以数字开头 (4) 标识符不能是关键字或保留字 (5) 对变量和方法总是使用小写 如果名称由多个单词组成, 将它们连接在一起, 第一个单词的首字母小写, 其他单词的首字母大写 (6) 类名中每一个单词的首字母大写 (7) 常量中的每一个字母大写, 单词之间使用下画线 标识符命名时, 不能以数字开头, 也不能使用任何的 Java 关键字 2. 声明规范声明规范有助于代码的阅读和理解, 在 Java 语言中声明规范可以参照下面几点 (1) 变量在声明时, 同时进行初始化 (2) 同一行只声明一个变量 (3) 勿把不同类型的变量声明放在同一行 (4) 方法和方法之间空一行 3. 语句规范语句规范使整个程序的思路比较清晰, 同时有助于代码的阅读和理解 在 Java 语言中语句规范可以参照下面几点 (1) 每行至多包含一条语句 (2) 复合语句是包含在大括号中的语句序列, 如 { 语句 (3) 带返回值的 return 语句, 返回值不使用小括号括起来 (4) if 语句总是用大括号 { 括起来 (5) 在 for 语句的初始化或更新子句中, 避免使用 3 个以上变量, 而导致程序复杂度提高 60

37 2 Java 4. 注释规范定义注释规范的目的是增强程序的可读性, 让项目中所有的文档都看起来像是同一个程序员写的 在 Java 语言中注释规范可以参照下面几点 (1) 注释尽可能使用 // ; 对于所有的 javadoc 注释, 则使用 /** */ ; 而临时代码块进行注释尽量使用 /* */ (2) 注释使用中文 (3) 在局部变量的右侧添加注释 (4) 在代码逻辑块前加上功能说明 (5) 在判断条件的上面加上说明注释 (6) 代码中建议有 20% 行的注释,20% 行的空行, 以便于阅读 5. 编程规范 第 章 零基础开始学习 基本语法 编程规范可以减少对内存的需求量, 加快代码的执行速度, 同时降低程序的出错率 在 Java 语言中, 编程规范可参照下面几点 (1) 提供对类的对象及类变量的访问控制, 尽可能不使用默认 (default) 的访问控制 (2) 避免用一个对象访问类的静态变量和静态方法, 应使用类名代替 (3) 避免在一个语句中给多个变量赋相同的值 (4) 在含有多种运算符的表达式中, 使用圆括号括起来, 避免运算符优先级的问题 (5) 如果使用 JDBC, 考虑使用 java.sql.preparestatement, 而不是 java.sql.statement 6. 文件内容规范文件内容规范有助于减少运行时产生不必要的麻烦 在 Java 语言中, 文件内容规范可参照下面几点 (1) 每个源文件的代码行数不超过 500 行 (2) 每个源文件中都含有一个单一的公共类或接口 (3) 在多数 Java 源文件中, 第一个非注释行是包语句 (4) 文件名和类名相同 (5) 对于关键的方法要多加注释 7. 缩进排版规范 1) 行长度避免一行的长度超过 70 个字符, 因为这会导致很多终端和工具不能很好地处理 2) 换行当一个表达式无法容纳在一行内时, 可以依据如下规则断开 (1) 在一个逗号后面断开 (2) 在一个操作符前面断开 (3) 选择较高级别 (higher-level) 的断开, 而非较低级别 (lower-level) 的断开 (4) 新的一行应该与上一行同一级别表达式的开头处对齐 (5) 如果以上规则导致代码混乱或者使代码都堆积在右边, 那就代之以缩进 8 个空格 61

38 2.7 大神解惑 小白 :break 语句和 continue 语句的区别是什么? 大神 : 在循环体中,break 语句是跳出循环, 而 continue 语句是跳出当前循环, 执行下一次循环 小白 : & 与 && 的区别是什么? 大神 : 在 Java 程序中, & 与 && 的区别在于, 如果使用 & 连接时, 那么无论任何情况, & 两边的表达式都会参与计算 如果使用 && 连接, 当 && 的左边为 false 时, 则不会计算其右边的表达式 && 通常称为 短路与, 通常称为 短路或 小白 : b = a++ 与 b = ++a 的区别是什么? 大神 : b = a++ 是指先将 a 的值赋给 b,a 再自加 1; b = ++a 是指 a 先自加 1, 然后将 a 的值赋给 b 2.8 跟我学上机 练习 1: 编写 Java 程序, 声明两个变量并赋值 25.8 和 16.8 作为矩形的长和宽, 求矩形的面积 练习 2: 使用位运算符, 计算 的值 练习 3: 编写程序, 使用 for 循环输出 100 以内的质数 练习 4: 使用 while 循环, 输出 1~100 内前 5 个可以被 3 整除的数 练习 5: 使用 switch 循环, 判定学生的成绩等级 ( 提示 : 成绩使用字符型表示,A 表示优秀,B 表示良好,C 表示及格 ) 练习 6: 使用嵌套的 for 循环, 输出九九乘法表 62

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 流程控制语句的应用 语句是程序中最小的程序指令, 即程序完成一次完整正操的基本单位 在 C# 中, 可以使用多种类型的语句, 每一种类型的语句又可以通过多个关键字实现 通过这些语句可以控制程序代码的逻辑, 提高程序的灵活性, 从而实现比较复杂的程序逻辑 本章主要内容 : 选择语句的应用 迭代语句的应用 跳转语句的应用 3.1 选择语句的应用 选择语句也叫作分支语句, 选择语句根据某个条件是否成立来控制程序的执行流程

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63>

<4D F736F F D204A617661B3CCD0F2C9E8BCC6BBF9B4A1A3A8B5DA35B0E6A3A9CAB5D1E9D6B8B5BCD3EBCFB0CCE2BDE2B4F020B5DA33D5C22E646F63> 第 3 章 结构语句 本章知识点 : 流程控制语句是用来控制程序中各语句执行顺序的语句, 是程序中基本却又非常关键的部分 流程控制语句可以把单个的语句组合成有意义的 能完成一定功能的小逻辑模块 最主要的流程控制方式是结构化程序设计中规定的顺序结构 分支结构 ( 选择结构 ) 和循环结构三种基本流程结构 本章将指导读者掌握 Java 程序中的流程控制语句, 包括这些语句的语法结构和使用中需注意的要点

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

计算概论A B03 C++语言的基本成分 - 运算成分(2)

计算概论A B03 C++语言的基本成分 - 运算成分(2) 计算概论 A 程序设计部分 C 语言的构成成分 运算成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn C 语言中的运算符 C 语言的运算符范围很宽 求字节数运算符 : sizeof 下标运算符 [ ] 赋值运算符 = 算术运算符 + - * / % 关系运算符 < > == >= > ~

More information

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循 实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循环 实验范例 系统常用类 : 字符串类 (String) a) 从字符串 s 中截取一个字符串方法 s.substring()

More information

chp3

chp3 Java 软件设计基础 3. 流程控制 3.1 语句控制结构 语句类型 变量声明语句 用来声明变量, 格式为 : 表达式语句 在一个表达式的最后加上一个分号构成的语句, 分号是语句不可缺少的部分, 格式为 : 变量 = 表达式 ; 复合语句 [ 修饰符 ] 类型名变量名 1[, 变量名 2][, ]; [ 修饰符 ] 类型名变量名 1[= 初值 1][, 变量名 2][= 初值 2][, ]; 将相关语句组合在一起就构成复合语句,

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

第 章 程序由语句组成, 语句经常使用数据类型 运算符 表达式等 Java 语言的数据类型 运算符与表达式等是从 C++ 语言简化而来, 更加简洁 高效 2. 1 常量和变量 Java 程序运行时, 值不可修改的数据称为常量, 分为字面常量 ( 常数 ) 与标识符常量两种 变量是程序运行时值发生改变

第 章 程序由语句组成, 语句经常使用数据类型 运算符 表达式等 Java 语言的数据类型 运算符与表达式等是从 C++ 语言简化而来, 更加简洁 高效 2. 1 常量和变量 Java 程序运行时, 值不可修改的数据称为常量, 分为字面常量 ( 常数 ) 与标识符常量两种 变量是程序运行时值发生改变 第 章 程序由语句组成, 语句经常使用数据类型 运算符 表达式等 Java 语言的数据类型 运算符与表达式等是从 C++ 语言简化而来, 更加简洁 高效 2. 1 常量和变量 Java 程序运行时, 值不可修改的数据称为常量, 分为字面常量 ( 常数 ) 与标识符常量两种 变量是程序运行时值发生改变的量 2.1.1 数据类型 Java 是一种强类型语言, 这意味着所有变量都必须先明确定义其数据类型才能使用

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2

运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 第十一讲 运算符重载 与类型转换 运算符重载 为什么要 运算符重载 那些运算符可以重载, 哪些不可以 如何实现运算符重载 实现方式 : 成员函数与非成员函数 类型转换 怎样实现对象与基本数据类型数据的运算 2 为什么要运算符重载 预定义的运算符只针对基本数据类型, 若要对类的对象进行类似的运算, 需要重新定义运算符的功能 运算符重载实质就是函数重载 : 对已有的运算符赋予多重含义, 使得同一个运算符作用于不同类型的数据时导致不同的行为

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B,

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B, 1 下列类头定义中, 正确的是 A class x B public x extends y C public class x extends y. D class x extends y implements y1 2 现有两个类 A B, 以下描述中表示 B 继承自 A 的是 (D ) A) class A extends B B) class B implements A C) class A

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1ADBBB7> 能源与动力工程学院 结构化编程 结构化程序设计 循环 循环结构 确定性循环 非确定性循环 I=1 sum=sum+i I = I +1 陈 斌 I>100 Yes No 目录 求和 :1+2+3++100 第四节循环的应用 PROGRAM GAUSS INTEGER I, SUM 计数器 SUM = 0 DO I = 1, 100, 1 SUM = SUM + I print*, I, SUM DO

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

第二章 Java 语法基础 实验目的 (1) 常量 变量与数据类型 a. 掌握 Java 的常量 变量声明及使用方法 b. 掌握 Java 各种数据类型的使用 c. 掌握基本的输入输出方法 (2) 运算符与表达式 a. 掌握算术运算 关系运算 逻辑运算, 及优先关系 b. 掌握表达式的使用 (3)

第二章 Java 语法基础 实验目的 (1) 常量 变量与数据类型 a. 掌握 Java 的常量 变量声明及使用方法 b. 掌握 Java 各种数据类型的使用 c. 掌握基本的输入输出方法 (2) 运算符与表达式 a. 掌握算术运算 关系运算 逻辑运算, 及优先关系 b. 掌握表达式的使用 (3) 第二章 Java 语法基础 实验目的 (1) 常量 变量与数据类型 a. 掌握 Java 的常量 变量声明及使用方法 b. 掌握 Java 各种数据类型的使用 c. 掌握基本的输入输出方法 (2) 运算符与表达式 a. 掌握算术运算 关系运算 逻辑运算, 及优先关系 b. 掌握表达式的使用 (3) 常用系统类 a. 基本输入输出类的使用 b. 掌握 Math 类的使用 (4) 类及其方法的使用 a.

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

数据结构

数据结构 信息管理与信息系统专业 第 3 章变量与表达式 任课教师 : 吕雅丽 本章内容 3.1 C# 基本数据类型 3.2 常量与变量 3.3 创建并使用枚举类型 3.4 运算符与表达式类型 3.5 运算符的优先级与结合性 2 3.1 C# 基本数据类型 3.1.1 数值类型 1. 整数类型 整数类型又有有符号整数与无符号整数 有符号整数可以带正负号, 无符号整数不需带正负号, 默认为正数 有符号整数包括

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

第一章 引言

第一章  引言 第四章 循环结构 上机问题 程序书写风格 缩入 : 例如, 统一缩入四个空格 复合语句中 {} 的对齐 适当的空行 变量名命名 变量名使用 2 上机问题 关系运算符 == 与赋值运算符 = n == 0 与 n = 0 的区别? 逻辑运算符 :&& 与 的区别? && : 两个条件均为真, 结果为真 : 有一个条件为真, 结果为真 for 语句 if-else 语句的逻辑错误 3 上机问题 scanf

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Python 入门 孙栩 xusun@pku.edu.cn 1 课程的整体介绍 目录 contents 2 Python 的介绍及如何安装 Python 3 使用 Python 编写简单小程序 1 课程的整体介绍 课程的整体介绍 Python 入门 1. Python 的介绍与安装 2. 变量与表达式 3. 一些简单的小程序 数据结构 1. 字符串 2. 列表 3. 元组 4. 字典 5. 集合 分支与循环

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 lambda 表达式及其应用 lambda 表达式是 Java 8 提供的一种新特性, 它使得 Java 也能像 C# 和 C++ 语言一样进行简单的 函数式编程, 这不仅简化了某些通用结构的实现方式, 也大大增强了 Java 语言的表达功能 3.1 lambda 表达式简介 lambda 表达式是基于数学中的 λ 演算得名, 本质上就是一个没有方法名的匿名方法 例如, 有一个方法定义如下

More information

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法

第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 第 3 章选择结构 q q q Python 中表示条件的方法 if 语句 选择结构程序设计方法 3.1 条件的描述 3.1.1 关系运算 Python 的关系运算符有 : =( 大于等于 ) ==( 等于 )!=( 不等于 ) 关系运算符用于两个量的比较判断 由关系运算符将两个表达式连接起来的式子就称为关系表达式, 它用来表示条件, 其一般格式为

More information

模板

模板 制作人 : 张刚 目录 类和对象 面向对象程序设计基本特征 类的声明 构造方法 成员变量和方法 封装 继承 多态 包 访问控制 final static 抽象类和接口 内部类 沈阳工业大学软件学院 Java 课程教研组 Page 2 核心知识点 类 对象 三个基本特征 类的基本结构 成员变量 构造方法 成员方法 类实例 对象创建和操作 沈阳工业大学软件学院 Java 课程教研组 Page 3 1.

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富

第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富 第 章 顺序结构程序设计 程序里要对数据进行各种操作 其中进行各种运算操作是最基本的操作之一 在 语言程序中 使用表达式 也就是通常所说的计算式子 描述各种运算 表达式是由参与运算的数据和表示运算的符号按照一定的规则组成的式子 描述运算的符号称为运算符 由一个或两个特定符号表示一种运算 语言具有丰富的运算符 可分为多种类型 包括 算术运算符? 9 关系运算符 >> > > > 逻辑运算符 位运算符

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

3.1 Java 的数据类型 Java 支持以下四种不同的数据类型 : 基本数据类型 数组类型 类类型 接口类型 标识符 标识符可由编程者自由指定, 但需要遵循一定的编程约定 : 标识符可由字母 ( 包括 A-Z a-z 汉字 日文片假名 平假名 朝文 ) 数字和两个特殊字符下划线 (_

3.1 Java 的数据类型 Java 支持以下四种不同的数据类型 : 基本数据类型 数组类型 类类型 接口类型 标识符 标识符可由编程者自由指定, 但需要遵循一定的编程约定 : 标识符可由字母 ( 包括 A-Z a-z 汉字 日文片假名 平假名 朝文 ) 数字和两个特殊字符下划线 (_ Java 语言程序设计 Java 语言基础 第三章 Java 语言基础 第三章 本章将讨论 Java 编程语言的基础知识 其中内容涉及以下几个方面 : 数据类型 变量 运算符以及控制结构流程等 1 3.1 Java 的数据类型 Java 支持以下四种不同的数据类型 : 基本数据类型 数组类型 类类型 接口类型 3.1.1 标识符 标识符可由编程者自由指定, 但需要遵循一定的编程约定 : 标识符可由字母

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

chp2

chp2 Java 软件设计基础 2. Java 语言基础 2.1 符号 标识符 程序中要用到许多名字, 诸如类 对象 变量 方法等 标识符就是用来标识它们的唯一性和存在性的名字 Java 采用 Unicode 字符集, 由 16 位构成 标识符分为两类 : 保留字 : 是 Java 预定义的标识符, 都具有特定的含义, 保留字又称关键字 用户定义标识符 : 是程序设计者根据自己的需要为定义的类 对象 变量

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1>

<4D F736F F F696E74202D BDE1B9B9BBAFB3CCD0F2C9E8BCC D20D1A1D4F1> 能源与动力工程学院 结构化编程 结构化程序设计 选择 结构化编程的三种基本结构 : 顺序结构 I=1 选择 ( 分支 ) 结构 循环结构 sum=sum+i I = I +1 陈 斌 A?=B NO I>100 No YES Yes 目录 第一节逻辑运算 第一节逻辑运算 第二节 I 语句 逻辑运算 算术运算 关系运算 逻辑运算 关系运算符 运算优先级 第三节浮点数及字符的逻辑运算 90 77 功能

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程 Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程序大小超过 256M 是未定义的 解释 : 我们测试用的源程序大小不会超过 256M 2 程序结构 Mx*

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include

More information

Microsoft Word - 第2章.doc

Microsoft Word - 第2章.doc 2 第第 2 章 学习第 1 章后, 读者已经对 Java 语言有了初步的了解, 本章将具体解析 Java 类的组成元素 任何一个 Java 类, 都有 5 种基本组成元素 : 属性 方法 构造方法 块和内部类 其中属性 方法 构造方法是使用最多的元素, 而块 内部类使用较少 本章将对各种元素进行学习 Java 类基本结构 2.1 类 类 Java 类的声明形式 访问权限修饰符 修饰符 class

More information

ch02_Basic

ch02_Basic 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

数学软件 Matlab 编程基础 ( 脚本 ) 1

数学软件 Matlab 编程基础 ( 脚本 ) 1 数学软件 Matlab 编程基础 ( 脚本 ) 1 本讲主要内容 M 文件 基本运算 : 算术 关系 逻辑 简单的输入输出 控制结构 : 顺序 选择 循环 2 M 文件 M 文件介绍 用 Matlab 语言编写的程序称为 M 文件 M 文件以.m 为扩展名 M 文件是由若干 Matlab 命令组合在一起构成的, 它可以完成某些操作, 也可以实现某种算法 两类重要的 M 文件 ( 调用方式不同 ) Script:

More information

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param 7. 附录 A:C 语言文法 在本附录中, 我们给出 C 语言的文法定义和补充说明 7. 文法定义 7.. Tokens INT /* A sequence of digits without spaces */ FLOAT /* A real number consisting of digits and one decimal point. The decimal point must be surrounded

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第二讲 C++ 编程基础 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

编译原理与技术

编译原理与技术 编译原理与技术 中间代码生成 2015/11/7 编译原理与技术 讲义 1 中间代码生成 - 布尔表达式翻译 - 控制流语句翻译 2015/11/7 编译原理与技术 讲义 2 布尔表达式的翻译 布尔表达式文法 G 4 E E 1 or E 2 E 1 and E 2 not E 1 ( E 1 ) id 1 relop id 2 true false id 3 布尔运算符 or and 和 not(

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

姓名 : 年级专业 : 学号 : 凡年级专业 姓名 学号错写 漏写或字迹不清者, 成绩按零分记 密 封 线 java 较难 试卷 总分 题号 一 二 三 四 五 题分 得分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 得分 一 单选题 ( 每题 3 分,

姓名 : 年级专业 : 学号 : 凡年级专业 姓名 学号错写 漏写或字迹不清者, 成绩按零分记 密 封 线 java 较难 试卷 总分 题号 一 二 三 四 五 题分 得分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 得分 一 单选题 ( 每题 3 分, java 较难 试卷 总分 题号 一 二 三 四 五 题分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下列修饰符中, 成员内部类被 ( ) 修饰后, 可以被外界访问 C 多态 D 重构 5 下列关于构造方法重载的说法中, 错误的是 () A 不同构造方法中调用本类其它的构造方法时, 需要使用 this([

More information

结构文本 (ST) TM246 简介 前提 培训模块 : 软件 : 硬件 : TM0 Automation Studio 基础 TM Automation Studio 在线通讯 TM 自动化运行 (Runtime) 系统 TM Automation Studio 诊断 无 无 结构文本 (ST) TM 目录 简介. 目的 结构文本特点. 概述. 特点. 可能性 结构文本基础. 表达式. 赋值.

More information

Microsoft PowerPoint - 01_Introduction.ppt

Microsoft PowerPoint - 01_Introduction.ppt Hello, World C 程序设计语言 第 1 章章观其大略 孙志岗 sun@hit.edu.cn http://sunner.cn prf("hello,, world\n"); 超级无敌考考你 : 如何把 hello 和 world 分别打印在两行? 2004-12-19 A Tutorial Introduction 2 hello.c 打印华氏温度与摄氏温度对照表 计算公式 : C=(5/9)(

More information

教案模板4-2

教案模板4-2 传智播客 Java 基础入门 教学设计 课程名称 : Java 基础入门 授课年级 : 2014 年级 授课学期 : 2014 学年第一学期 教师姓名 : 某某老师 2014 年 02 月 09 日 课题名称第 3 章面向对象上 计划学时 6 课时 Java 是一种面向对象的语言, 认识面向对象的编程思想对于 Java 学习至关重 内容分析 要 在面向对象中, 有两个重要的概念, 分别是类和对象,

More information

<4D F736F F D204323B3CCD0F2C9E8BCC6BDCCB3CCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620B5DA33D5C22E646F63>

<4D F736F F D204323B3CCD0F2C9E8BCC6BDCCB3CCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620B5DA33D5C22E646F63> 第 3 章 语句 运算符和表达式 语句是 C# 程序的基本构成元素, 通常包含表达式, 而表达式由操作数和运算符构成 本章要点 : C# 语句 运算符和表达式的基本概念 ; 算术运算符 ; 关系和类型测试运算符 ; 视频讲解 逻辑运算符 ; 赋值运算符 ; 字符串运算符 ; 位运算符 ; 条件运算符 ; 运算符优先级 ; 表达式的组成和书写规则 3.1 语句 3.1.1 C# 语句的组成 语句是 C#

More information

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式] 用户定义类型 User-defined Datatypes classes and structs 几何向量 (Geometry Vector) 二维平面上的向量由起点和终点构成 每个点包含两个坐标 (x, y), 因此一个向量需要四个实数表示 Start= (0.9,1.5) Start= (0.4,0.8) int main() { double xstart = 0.4; double xend

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 Java 中的基本数据类型和运算符 在前面两章中, 我们对 Java 有了一个初步的认识, 并且准备好了我们的开发利器 Eclipse 下面回顾一下前两章学到的东西 我们知道 JDK 是 Java 世界的基础, 并且在计算机上成功安装和配置了 JDK; 我们编写了第一个 Java 程序 虽然我们对这个程序并不了解, 但是知道了一个 Java 程序 大概长得什么样 ; 我们了解了编写一个

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 4.4.1 逻辑运算符及其优先次序 3 种逻辑运算符 : &&( 逻辑与 ) ( 逻辑或 )!( 逻辑非 ) && 和 是双目 ( 元 ) 运算符! 是一目 ( 元 ) 运算符 逻辑表达式 用逻辑运算符将关系表达式或其他逻辑量连接起来的式子 4.4.1 逻辑运算符及其优先次序 判断年龄在 13 至 17 岁之内? age>=13 && age

More information

<4D F736F F F696E74202D20B5DA32D5C220B5A5C6ACBBFA433531D3EFD1D4BBF9B4A1>

<4D F736F F F696E74202D20B5DA32D5C220B5A5C6ACBBFA433531D3EFD1D4BBF9B4A1> 第 2 章 单片机 C51 语言基础 2.1 C51 语言的基本知识 2.2 运算符与表达式 2.3 指针与绝对地址访问 2.4 本章小结 2.5 实训二发光二极管流水广告灯 返回首页 教学提示 随着单片机开发技术的不断发展, 目前已有越来越多 的人从普遍使用汇编语言逐渐过渡到使用高级语言开发, 其中又以 C 语言为主, 市场上几种常见的单片机均有其 C 语言开发环境 应用于 51 系列单片机开发的

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

Guava学习之CharSequenceReader

Guava学习之CharSequenceReader CharSequenceReader 类是以 CharSequence 的形式读取字符 CharSequenceReader 类继承自 Reader 类, 除了 remaining() hasremaining() 以及 checkopen() 函数之后, 其他的函数都是重写 Reader 类中的函数 CharSequenceReader 类声明没有用 public 关键字, 所以我们暂时还不能调用这个类

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information