第2章 Java编程基础_补充案例
Java程序设计案例教程课件第2章

Java程序设计案例教程
幻灯片 6,共24页
6
2.1.4 代码注释❖ 单 Nhomakorabea注释// 单行注释,以换行符为结束。
❖ 多行注释
/* 多行注释,注释内容跨越数行。 */
❖ 文档注释
/** 文档注释的格式是HTML,因此,换行后面应该加上HTML的断行标签。<br> */
14
变量
❖ 变量用于标识数据的存储单元。
int i; int count = 1; String str = “Java”; Student student;
❖ 四种变量
▪ 成员变量:在类中声明,但是在方法之外,因此作用域范围是整 个类。
▪ 局部变量:在语句块内声明,作用域范围是从声明处直到该语句 块的结束。
❖ 字符型与整型的转换
▪ 在本质上字符型是一个16位的正整数 ▪ 可以与整型转换 ▪ 注意下述代码的输出不是 A3
char ch = ’A’; System.out.println(ch + 3);
▪ 问题:下述代码有什么错误?
byte b = 3; b = b + b;
Java程序设计案例教程
幻灯片 13,共24页
❖ 分为8大类
▪ 算术运算符 ▪ 关系运算符 ▪ 布尔运算符 ▪ 位运算符 ▪ 类型比较运算符 ▪ 条件运算符 ▪ 字符串连接运算符 ▪ 赋值运算符等
Java程序设计案例教程
幻灯片 16,共24页
16
运算符的优先级
Java程序设计案例教程
幻灯片 17,共24页
17
表达式与语句
❖ 1、表达式
▪ 表达式是由操作数和运算符按一定的语法形式组成的用来表达某 种运算或含义的符号序列。
Java程序设计教程 第2章-Java语言基础(39页)

第2章Java语言基础2.1Java Java程序的构成程序的构成2.2Java Java数据类型、常量和变量数据类型、常量和变量2.3Java Java运算符、表达式、语句、程序运算符、表达式、语句、程序2.4Java Java流程控制语句流程控制语句2.5Java Java语言编程的基本技巧语言编程的基本技巧2.6Java Java数组数组目录2.7Java Java编程作业提交要求编程作业提交要求2.8本章小结·Java语言主要由以下元素组成。
Java语言主要由以下元素组成。
)Identifier).标识符(Identifier1.标识符(Word))Reserved WordKeyWord)或保留字()或保留字(Reserved2.关键字(.关键字(KeyWord3.分隔符:要求用英文半角字符)Operator)4.运算符(运算符(Operator)Expression).表达式(Expression5.表达式(Statement)).语句(Statement6.语句(Method)).方法(Method7.方法(class)).类(class8.类(interface)).接口(interface9.接口(package))10.包(10.包(package2.1.1标识符object、、attibute、·标识符:用户用来标识attibute、、objectinterface、标识符:用户用来标识package、classpackage、class、、interface、parameter等成份的名字。
parameter等成份的名字。
const/constant、method、const/constantmethod、、local variablevariable、标识符的命名规则:Java标识符的命名规则:·Java标识符是字母、下划线、$$、数字组成的字符混合序列,不能以数字开头。
第2章Java编程基础-精选文档

值范围 -3.4×1038~3.4×1038 -1.7×10308~1.7×10308
2.浮点型常量
在计算中,为了要求计算的准确性,对数据的要求是非常严格的。 使用整数不能很好地表现数据的准确性,这种情况下就引入了浮点 型。
浮点型就是可以带小数点的数据类型。
◦ (1)表示形式 ◦ 浮点型有两种表示形式:小数点形式(如:12.37,-0.5946)
1.整数类型常量 2.浮点型常量
3.字符型常量
4.字符串常量 5.布尔型常量
1.整数类型常量
在Java中,整数的数据类型可以分为long、int、short和byte 四种类型。整型的取值范围参见下表。
类型
存储位数
单精度(float) 4(bits)
双精度(double) 8(bits)
本章知识点
数据类型 常量、变量、表达式 数据类型的转换 数组 流程控制语句
2.1 数据类型
Java语言的数据类型可以分为两大类:基本类型
(primitive type)和引用类型(reference e)。
基本类型
整型 浮点型 字符型 布尔型
Java数据类型
引用类型
数组 接口 类
2.1 数据类型
第2章 Java编程基础
通过本章的学习,掌握Java语言的语法结构和书写规范,为今后 Java编程打好基础。本章的主要内容有:数据类型,常量、变量、 表达式,数组,数据类型的转换,流程控制语句。
2.1 数据类型 2.2 常量、变量、表达式 2.3 数组 2.4 流程控制语句
学习目标
学习Java编程基础,使学生能比较快速 地进入学习Java编程环境,为以后熟练 地应用开发工具进行试验和验证各种技 术细节打下良好的基础。
第二章-Java编程基础PPT课件

-
19
变量5-4
• 字符型变量 char c;char c1=‘a’;char c2=‘0’;
• 布尔型变量 boolean b=true;
-
20
各类数据类型的转换
• 自动类型转换
转换规则
例如:iNum整型变量,cStr字符型,fNum浮点型, iNum*cStr+fNum
• 强制类型转换
一般形式: (数据类型名称)(表达式)
-
9
浮点型数据类型
类型
float double
缺省值
0.0 0.0
长度
32位 64位
数的范围
3.4E-038~3.4E+038 1.7E-308~1.7E+308
-
10
字符数据类型
类型
char
缺省值
'\u0000'
长度
16位
数的范围
\u0000 ~ \uFFFF
Unicode编码的表示方式:\u+4位十六进制数
• 循环关键字
- do - while - for - break - continue
• 分支关键字
- if
- else
- switch
- case
- default
- break
• 方法、变量和类修饰符
- private
- public
- protected
- final
- static
- abstract
-
28
可以确定对象是否 属于一个特定的类
Instanceof 运算符(略)
class InstanceOfDemo { public static void main (String args []) { InstanceOfDemo t = new InstanceOfDemo( ); if (t instanceof InstanceOfDemo) { System.out.println ("T是InstanceOfDemo 的实例"); } else { System.out.println ("T不是InstanceOfDemo 的实例! "); }
Java基础案例教程 第2章 Java编程基础

✎
2.1.2 Java中注释
1.单行注释 单行注释用于对程序中的某一行代码进行解释,一般用来注释局部变量。 单行注释用符号“//”表示,“//”后面为被注释的内容,具体示例如下:
int c = 10; // 定义一个整型变量
2.多行注释 多行注释顾名思义就是注释的内容可以为多行,它以符号“/*”开头,以 符号“*/”结尾。多行注释具体示例如下:
/* int c = 10; int x = 5; */
✎
2.1.2 Java中注释
3.文档注释 文档注释是以“/**”开头,并在注释内容末尾以“*/”结束。文档注释 是对一段代码概括性的解释说明,可以使用javadoc命令将文档注释提取 出来生成帮助文档。文档注释具体示例如下: /**
name = “黑马程序员”; */
类型名占用空间取值范围float32位4个字节14e4534e3834e3814e45double64位8个字节49e32417e30817e30849e324??222变量的数据类型在java中一个小数会被默认为double类型的值因此在为一个float类型的变量赋值时在所赋值的后面一定要加上字母f戒者小写f而为double类型的变量赋值时可以在所赋值的后面加上字母d戒小写d也可以丌加
✎
多学一招:十进制和二进制之间的转换
2.二进制转十进制 二进制转化成十进制要从右到左用二进制位上的每个数乘以2的相应次 方。例如,将最右边第一位的数乘以2的0次方,第二位的数乘以2的1次 方,第n位的数乘以2的n-1次方,然后把所有相乘后的结果相加,得到 的结果就是转换后的十进制。
✎
多学一招:十进制和二进制之间的转换
System.out.println("这是第一个 Java程序!");
java基础编程 第二章 语句 案例

第2章Java编程基础案例2-1 while循环语句一、案例描述1、考核知识点编号:029002017名称:while循环语句2、练习目标➢掌握while循环语句的语法格式和使用➢了解while循环语句的特点3、需求分析while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环才会结束。
为了让初学者熟悉while语句,本案例将使用while语句实现统计1-10以内奇数的功能。
4、设计思路(实现原理)1)编写一个类Example122)定义一个变量x为1,用while语句循环条件为x<=103)在while循环中,使用表达式x%2判断是否为奇数,如果为奇数,则变量count的值加1。
二、案例实现运行结果如图2-14所示。
图2-1运行结果三、案例总结1、while循环语句和条件判断语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。
区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。
2、while循环的执行流程如图2-15所示。
图2-2流程图案例2-2 for循环语句一、案例描述1、考核知识点编号:029002018名称:for循环语句2、练习目标➢了解for循环语句的特点➢掌握for循环语句的语法格式和使用3、需求分析for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。
为了让初学者熟悉for 循环语句,本案例将使用for循环语句计算1+2+3+4+5...+100表达式的结果4、设计思路(实现原理)1)编写一个类Example132)在该类中定义一个变量sum来存储每次循环整数相加的和。
3)在for循环语句中定义变量x,循环条件为x<=100二、案例实现图2-3编译结果三、案例总结1、在for循环中,for关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用“;”分隔,{}中的执行语句为循环体。
java语言程序设计(基础篇)第2章精品PPT课件

11
animation
跟踪程序的执行
public class ComputeArea { /** Main method */ public static void main(String[] args) {
double radius; double area;
// Assign a radius radius = 20;
2
2.2 编写一个简单程序
Listing 2.1 计算打印面积值
3
程序设计
所有JAVA程序都在类中,要 给类起相应的类名,假定选
取类名为ComputeArea
public class ComputeArea { // Data and methods to be given later
double radius; double area;
// Assign a radius radius = 20;
// Compute area area = radius * radius * 3.14159;
内
存
radius 没有具体数值 area 没有具体数值
为变量area分配内存单元
// Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } }
public class ComputeArea { public static void main(String[] args) { double radius; double area; // Step 1: 读取半径 // Step 2: 计算面积 // Step 3: 打印显示面积 }
Java程序设计教程chap2 (2)(108页)

第2章 Java编程基础
ቤተ መጻሕፍቲ ባይዱ
2.1
Java程序的构成
2.2 数据类型、变量、常量
2.3 Java中的运算符和表达式
2.4
程序的流程控制
2.5
数组
2.6
常用算法
2.1 Java程序的构成
2.1.1 Java程序的基本结构 2.1.2 Java基本编码规则
2.1.1 Java程序的基本结构
1.Java程序结构引例
变量名必须以一个字母开头,是一系列字 母和数位的组合,空格不能在变量名中使用;变 量名习惯用小写字母,如果变量名由多个单词构 成,则首字母小写,其后单词的首字母大写,其 余字母小写,取名时“见名知意”。变量名也最 好不要起成汉字。
变量名不能使用Java中的关键字,且区分大小 写。
与C语言相似,声明多个变量时,变量间用逗 号分隔。
package语句;//该部分至多只有一句,必须放在源程序 的第一句。
import语句;/*该部分可以有若干import语句或者没有, 必须放在所有的类定义之前。*/
public classDefinition;/*公共类定义部分,至多只有一 个公共类的定义,Java语言规定该Java源程序的文件名必 须与该公共类名完全一致。*/
说明:
符号常量必须先声明(定义),后使用。
修饰符是表示该常量使用范围的权限修饰符,如public、 private、protected或缺省。“[]”表示其中的内容可以省 略。
符号常量全部大写,起名时要“见名知意”。
声明符号常量的优点:
增加了程序的可读性,由常量名可知常量的含义。
增强了程序的可维护性,只要在常量的声明处修改常量 的值,就自动修改了程序中所有地方所使用的常量值,起 到了“一改全改”的作用。
第2章 Java编程基础

2.3.4 逻辑运算符和逻辑表达式
Java中常用的三种逻辑运算符是: &&(逻辑与,二元运算符) a&&b || (逻辑或,二元运算符) a||b ! (逻辑非,一元运算符) !a 注意短路运算 a&&b a||b
2.3.5 位运算符和位运算表达式
位(bit)是计算机中表示信息的最小单位,一般用0和1表示。一个字符在计算机中占一个字节, 一个字节由8个二进制组成。 • 位运算符对操作数按其二进制形式逐位进行运算,参加位运算的操作数必须为整数。相应的运
赋值运算符的结合性是从右至左的,因此程序中可以出现连续赋值的情况。例如,下面的赋值是合法的:
int i,j,k;
i=j=k=10;
//i,j,k都赋值为10
2.复合赋值运算符
表2-4是一些常用的复合赋值运算符。
2.3.2 赋值运算符和赋值表达式
2.复合赋值运算符
表2-4中的非直接赋值运算符在执行速度上快于一般的赋值方式,
第2章 Java编程基础
本章内容
2.1 标识符与数据类型 2.2 常量与变量 2.3 运算符和表达式 2.4 逻辑控制语句 2.5 Java数组和应用 2.6 Java方法
Java程序设计实例教程-第2章

Java语言中,标识符是以字母,下划线(_),美元符($) 开始的一个字符序列,后面可以跟字母,下划线,美元 符,数字。
合法的标识符
identifier _sys_value 2mail userName $change room# class User_Name
使用javadoc命令生成文档注释 语法格式: javadoc [-option] yourProgram.java 常用选项: -public:只显示public类及其类成员 -protected:只显示public和protected类及其类成员,该选项为默认选项 -package:只显示public、protected和package包内的类及其类成员 -private:显示所有的类和类成员 -d <目录>:指定输出HTML文档存放的目录 -version:将包含@version标记的注释信息加入文档 -author:将包含@author标记的注释信息加入文档 -windowtitle <文本>:指定生成HTML文档显示时的浏览器窗口的标题 如,在d:/doc目录下生成HelloWorld.java的文档注释,并且包含@author标 记信息 javac -author -d d:/doc HelloWorld.java
2.2 标识符和变量
——基本数据类型:整数类型(byte, short, int, long) 基本数据类型:整数类型 基本数据类型
Java中变量的缺省初值 缺省初值都是确定的: 缺省初值
布尔变量的初值为:false 整数变量的初值为:0 浮点数变量的初值为:0.0 引用(复合)变量的初值为:null 在方法实现中定义的变量必须显式的初始化。
Java简明教程(第二版) 第2章 Java编程基础

第6页
标识符
本书中的标识符特指用户自定义的标识符。在Java中,标识符必须以字母、美元符号或者下 划线打头,后接字母、数字、下划线或美元符号串。另外,Java语言对标识符的有效字符个 数不做限定。
合法的标识符如a、b、c、x、y、z、result、sum、value、a2、x3、_a、$b等。 非法的标识符如2a、3x、byte、class、&a、x-value、new、true、@www等。 为了提高程序的可读性,以下特别列举几个较为流行的标识符命名约定。
Java简明教程(第二版)
第2章 Java编程基础
第7页
关键字
关键字是Java语言内置的标识符,有特定的作用。所有 Java关键字都不能被用作用户的标识符,关键字用英文小 写字母表示。
Java简明教程(第二版)
第2章 Java编程基础
第8页
2.1.2 分隔符
Java中的分隔符可分两大类;空白符和可见分隔符。 1. 空白符 空白符在程序中主要起间隔作用,编译系统利用它来区分
► (1) 一般标识符定义应尽可能达意,如value、result、number、getColor、getNum、setColor、 setNum等。
► (2) final变量的标识符一般全部用大写字母,如final double PI=3.1415 ► (3) 类名一般用大写字母开头,如Test、Demo。
► (2) “/*”和“*/”:“/*”和“*/”是配对使用的多行注释符,以“/*”开始,至“*/”结束的部分均为注释内容 。
► (3) “;”:分号用来标识一个程序语句的结束,在编写完一条语句之后,一定要记得添加语句结束标志——分号 ,这点是多数初学者容易遗忘的。
java02(第2章java基础)

a=00110111,则 a>>2 = 00001101
b=11010011,则 b>>2 = 11110100
左移运算符“<<”将一个数的二进制位序列 左移若干位,高位左移后溢出舍弃,不 起作用。
当移位运算符通过对运算对象左移位或者右移位来对数据执行 位操作时,一个数每左移1位,相当于这个数乘以2,每右移 1位,相当于除以2。
条件运算符
运算符
运算
条件与 &&
条件或 ‖
条件非 !
条件异或 ^
用法 返回true的情况
x && y x和 y都是true
x ‖ y x或者 y是true
!x
x为 false
x ^ y x和 y逻辑值不相同
2.2.4 位运算符
位运算符是对操作数以二进制位为单位进 行的操作和运算,其结果均为整型量。
例如,设x=8, 则 x << 1表示左移1位,相当于作x×21的运算,其结果为
16。 x <<2 表示左移2位,相当于作x×22的运算,其结果为32。 而 x >> 1表示右移1位,相当于作x÷21的运算,其结果为4, x >> 2表示右移2位,相当于作x÷22的运算,其结果为2。 一般地: x << n表示左移n位,相当于作x×2n的运算,
数据类型分类
Java定义了8个基本数据类型:字节 型,短整型,整型,长整型,字符型, 浮点型,双精度型,布尔型。 它们分为4组:
整数型(byte,short,int,long) 浮点数型(float,double) 字符型(char) 布尔型(boolean)
第2章Java编程基础_补充案例解析

了解变量进行自动类型转换的条件
3、需求分析
变量的自动类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。为了明确哪些数据类型可以实现自动转换,本案例演示的是将一种数据类型的值赋给另外一种数据类型变量的情形。
4、设计思路(实现原理)
1)编写一个类Example02。
2)在类Example02中,定义byte类型的变量a,int类型的变量b,float类型的变量f,double类型的变量d,其中,变量a的初始值为10,变量f的初始值为12.5f。
(3)其它类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double类型的变量。
案例
一、案例描述
1、考核知识点
编号:00102006
名称:变量的类型转换
2、练习目标
掌握不同数据类型间的强制类型转换
3、需求分析
强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。例如,两种类型彼此不兼容,或者目标类型取值范围小于源类型,都需要进行强制类型转换。为了明确两种不同类型的变量如何进行强制类型转换,本案例以int和byte类型为例,演示如何将int类型的变量强转为byte类型。
System.out.println(l);
//定义单精度类型(7-8位的有效数字)
float f = 12.5F;
System.out.println(f);
//定义双精度类型(15-16位的有效数字)
double d = 12.5;
System.out.println(d);
//定义字符类型
char c = 'a';
第2章JAVA基础

第2章Java 编程基础2.1 Java基本语法格式2.1.1 Java代码的落脚点Java中的所有程序代码都必须存在于一个类中,用class关键字定义类,在class前面可以有一些修饰符。
格式如下:修饰符 class 类名{程序代码}2.1.2 Java是严格区分大小写的例如,我们不能将class写成Class。
2.1.3 Java是一种自由格式的语言在Java中,所有的程序代码分为结构定义语句和功能执行语句,一条语句可以写在若干行上,功能执行语句的最后必须用分号(;)结束,不必要对齐或缩进一致。
可以按自己的意愿任意编排,只要每个词之间用空格、制表符、换行符或大括号、小括号这样的分隔符隔开就行。
例如第一章的例子程序改成下面这种编排方式也是可以的:class Test{public static void main(String [] args){System.out.println(“My first java program”);}}用哪种代码书写的格式因个人爱好而定,但出于可读性的考虑不建议使用这种格式。
脚下留心:1. Java程序中一句连续的字符串不能分开在两行中写,以上程序如果写成下面这种方式是会编译出错的:class Test{public static void main(String [] args){System.out.println(“My first javaprogram”);}}2. 功能执行语句的最后必须用分号(;)结束,但中国的初学者常将这个英文的(;)误写成中文的(;)自己却找不出错误的原因来,对于这样的情况,编译器通常会报告“illegal character”(非法字符)这样的错误信息。
2.1.4 Java程序的注释为程序添加注释可以提高程序的可读性,它是写在程序里的信息,用来说明某段程序的作用和功能。
Java里的注释根据不同的用途分为三种类型:●单行注释●多行注释●文档注释第一种是单行注释,就是在注释内容前面加双斜线(//),java编译器会忽略掉这部分信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章Java编程基础案例2-1 定义不同类型的变量一、案例描述1、考核知识点编号:00102005名称:变量的定义及其数据类型2、练习目标➢了解变量的定义方式➢掌握如何为不同类型的变量赋值3、需求分析变量用于存储程序运行期间的一些数据。
为了加深初学者对变量的认识,本案例针对八种基本数据类型,分别定义了八个变量,并进行赋值操作。
4、设计思路(实现原理)1)编写一个类Example01。
2)在Example01的main()方法中,针对八种基本数据类型,分别定义变量并赋值。
3)使用println语句打印变量的值。
二、案例实现定义Example01类,其代码如下:class Example01{public static void main(String[] args) {//定义字节变量byte b = 12;System.out.println(b);//定义短整型变量short s = 1234;System.out.println(s);//定义整数变量int i = 12345;System.out.println(i);//定义长整型变量long l = 12345678912345L;System.out.println(l);//定义单精度类型(7-8位的有效数字)float f = 12.5F;System.out.println(f);//定义双精度类型(15-16位的有效数字)double d = 12.5;System.out.println(d);//定义字符类型char c = 'a';//重新赋值,Java中的字符采用的编码是Unicode编码。
占用2个字节。
c = '中';System.out.println(c);//定义布尔类型boolean flag = true;System.out.println(flag);}}运行结果如图2-1所示。
图2-1运行结果三、案例总结1、Java对变量的数据类型有严格的限定。
在定义变量时必须声明变量的类型,并且变量值的类型和变量类型必须一致,否则程序会报错。
2、byte类型的变量存储的值必须是-27 ~27-1之间的整数。
赋值的时候,尽量不要超出范围,如果超出可能损失精度。
3、定义变量的方式有两种,具体如下:方式一:数据类型变量名 = 初始化值;方式二:数据类型变量名;变量名 = 初始化值;案例2-2 变量的自动类型转换一、案例描述1、考核知识点编号:00102006名称:变量的类型转换2、练习目标➢了解变量进行自动类型转换的条件3、需求分析变量的自动类型转换,指的是两种数据类型在转换的过程中不需要显式地进行声明。
为了明确哪些数据类型可以实现自动转换,本案例演示的是将一种数据类型的值赋给另外一种数据类型变量的情形。
4、设计思路(实现原理)1)编写一个类Example02。
2)在类Example02中,定义byte类型的变量a,int类型的变量b,float类型的变量f,double 类型的变量d,其中,变量a的初始值为10,变量f的初始值为12.5f。
3)将变量a的值赋给变量b,变量a、b、f相加后的结果值赋给变量d。
4)使用println语句打印出变量b和变量d的值。
二、案例实现定义Example02类,其代码如下:class Example02{public static void main(String[] args){//隐式转换byte a = 10;int b = a;float f = 12.5F;System.out.println(b);double d = a+b+f;System.out.println(d);}}运行结果如图2-2所示。
图2-2运行结果三、案例总结1、要实现自动类型转换,必须同时满足两个条件,第一是两种数据类型彼此兼容,第二是目标类型的取值范围大于源类型的取值范围。
2、列出三种可以进行自动类型转换的情况,具体如下:(1)整数类型之间可以实现转换,如byte类型的数据可以赋值给short、int、long类型的变量,short、char类型的数据可以赋值给int、long类型的变量,int类型的数据可以赋值给long类型的变量。
(2)整数类型转换为float类型,如byte、char、short、int类型的数据可以赋值给float类型的变量。
(3)其它类型转换为double类型,如byte、char、short、int、long、float类型的数据可以赋值给double 类型的变量。
案例2-3 变量的强制类型转换一、案例描述1、考核知识点编号:00102006名称:变量的类型转换2、练习目标➢掌握不同数据类型间的强制类型转换3、需求分析强制类型转换也叫显式类型转换,指的是两种数据类型之间的转换需要进行显式地声明。
例如,两种类型彼此不兼容,或者目标类型取值范围小于源类型,都需要进行强制类型转换。
为了明确两种不同类型的变量如何进行强制类型转换,本案例以int和byte类型为例,演示如何将int类型的变量强转为byte类型。
4、设计思路(实现原理)1)编写一个类Example032)在Example03中的main()方法中定义一个int类型的变量i和byte类型的变量b,并将变量i 的值赋给变量b3)使用println语句打印出变量b的值二、案例实现定义Example03类,其代码如下:class Example03{public static void main(String[] args){int i = 10;byte b = (byte)i;System.out.println(b);}}运行结果如图2-3所示。
图2-3运行结果三、案例总结1、强制类型转换,具体格式如下:目标类型变量 = (目标类型)值2、在对变量进行强制类型转换时,会发生取值范围较大的数据类型向取值范围较小的数据类型的转换,如将一个int类型的数转为byte类型,这样做极容易造成数据精度的丢失。
int在内存中占用4个字节。
byte类型的数据在内存中占用1个字节,当将变量i的数据在内存中占的内存大于1个字节时,前面3个高位字节的数据会丢失,数值也会发生改变。
案例2-4 变量的作用域一、案例描述1、考核知识点编号:00102007名称:变量的作用域2、练习目标➢了解变量的作用域3、需求分析在程序中,变量一定会被定义在某一对大括号中,该大括号所包含的代码区域便是这个变量的作用域。
为了让初学者熟悉变量的作用域,本案例将在三层的大括号内分别定义三个变量x、y、z,用输出语句输出变量的值,观察变量的作用域。
4、设计思路(实现原理)1)编写一个类Example042)在main方法下定义变量x,并在每一层大括号内都使用一次x,观察x的作用域3)在第一层括号内定义变量y,并在第二层括号内使用y,观察y的作用域4)在第二层括号内定义z,并在第一层括号内使用z,观察z的作用域二、案例实现(1)定义Example04类,具体代码如下所示:public class Example04 {public static void main(String[] args) {int x = 12;{int y = 96;{int z = 0;y = x;}System.out.println("x is " + x);System.out.println("y is " + y);z = x;System.out.println("z is " + z);}System.out.println("x is " + x);}}运行结果如图2-4所示。
图2-4运行结果(3)对上述代码进行修改,修改后的代码如下所示:public class Example04 {public static void main(String[] args) {int x = 12;{int y = 96;{int z = 0;y = x;System.out.println("z is " + z); }System.out.println("x is " + x);System.out.println("y is " + y);}System.out.println("x is " + x);}}运行结果如图2-5所示。
图2-5运行结果三、案例总结1、第一次程序编译错误是因为程序在变量z的作用域外进行访问,所以程序找不到变量z。
如果在变量z的作用域内访问z,程序就会编译成功。
2、x定义在main方法下,所有main方法下的任何位置都能够使用变量x。
3、y定义在第一层括号下,因为第二层括号在第一层括号内,所以在第二层括号内使用变量y也不会报错。
案例2-5 算术运算符一、案例描述1、考核知识点编号:00102008名称:算术运算符2、练习目标➢了解算术运算符的用法3、需求分析在程序中,经常会使用算术运算符进行四则运算,为了让初学者熟悉算术运算符的用法,本案例将以++、--、\等运算符为例,讲解不同算术运算符的作用。
4、设计思路(实现原理)1)编写一个类Example052)在main方法下定义变量a,并赋值为2,定义变量b,并赋值为4;3)首先运算表达式++a+b++,并把计算结果赋给变量x,然后将b/a的值赋给变量y;4)输出变量a、b、x和y的值二、案例实现public class Example05 {public static void main(String[] args) {int a = 2;int b = 4;int x = ++a + b--;int y=b/a;System.out.println("a=" + a);System.out.println("b=" + b);System.out.println("x=" + x);System.out.println("x=" + y);}}运行结果如图2-6所示。
图2-6运行结果三、案例总结1、在进行自增(++)和自减(--)的运算时,如果运算符(++或--)放在操作数的前面则是先进行自增或自减运算,再进行其它运算。
反之,如果运算符放在操作数的后面则是先进行其它运算再进行自增或自减运算。
2、在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个整数。
如果除法运算有小数参与,得到的结果会是一个小数。