收藏 分享(赏)

java基础教程03.ppt

上传人:gsy285395 文档编号:4529177 上传时间:2019-01-02 格式:PPT 页数:47 大小:564KB
下载 相关 举报
java基础教程03.ppt_第1页
第1页 / 共47页
java基础教程03.ppt_第2页
第2页 / 共47页
java基础教程03.ppt_第3页
第3页 / 共47页
java基础教程03.ppt_第4页
第4页 / 共47页
java基础教程03.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、第三章 Java技术编程入门,学习目标:掌握编译和运行基本Java程序的步骤 熟练使用各种基本数据类型的定义,对象具备属性和操作Person类: 下列属性:名字、年龄、身高、婚否、性别,分别用变量name、age、height、marriage、sex表示(见名知义), 下列行为:吃饭,讲话,走路等可表示为相应的方法eat() , speak() ,walk()等。,在Java中: 属性=变量 操作=方法,用Java语言描述Person类如下:,class Person /以下5个是变量 String name; int age; double height; boolean marriage

2、; char sex; speak () /方法 eat () /方法 ,对Person类中某一特定的人,上述变量就有特定的值,如name(张三),age(20),height(1.76),marriage(false),sex(m)。,主要的应用程序组件类代码块是程序的主要结构 变量是程序执行所使用的数据 方法代码块是用于程序操作的结构 使用大括号和来定义代码块 在操作的结尾使用分号,查看结果:Shirt.java,javac Hello.java,D:Lesson3 ,java Hello,D:Lesson3 ,Hello, Java World!,编译、运行应用程序,Applicatio

3、n:,Debugging调试,检查错误消息中指出的行 检查分号 检查大括号数是否为偶数,使用基本数据类型将数据存储在变量中,基本类型包括: 整型 byte,short,int和long 浮点型 float和double 字符型 char 逻辑型boolean,基本数据类型,存储没有小数部分的数据类型 Java各整数类型有固定的表示范围和字段长度,而不受具体操作系统的影响,以保证Java程序的可移植性,1、整型,数值20在内存中的存储形式,00010100 byte(1字节)00000000 00010100 short (2字节)高位置000000000 00000000 00000000 0

4、0010100 int (4字节)00000000 00000000 00000000 00000000 00000000 00000000 00000000 00010100 Long (8字节),2、浮点型,浮点型是带有小数部分的数据类型,包括两种不同的数据类型:float和double。 float类型的变量占用4个字节(32位), double类型的数据则需要8个字节(64位)内存。 在许多程序中,就其表示的数值范围而言,使用float类型来存储浮点数已经足够了。,浮点数据有两种表示形式 十进制数形式,必须含有小数点,例如:3.14 314.0 .314 科学记数法形式,如 3.14e

5、2 3.14E-12 Java浮点数据默认为double型,如要声明一个常量为float型,则需在数字后面加f或F,如:double d = 3.14d;float f = 3.14f;,3、布尔型(boolean),布尔数据类型用于表达两个逻辑状态之一的值:true(真)或false(假)。布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:boolean b=true;,4、字符型(char),字符型数据类型用于存放单个字符,每个字符占用2个字节(16位)的存储空间。 将一个字符放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的

6、相应的Unicode代码放到存储单元中。char c1=t; char c2=3; char基于Unicode编码, u前缀标志着这是一个Unicode值例如,u0061代表字符a。,常用的转义字符,b (退格) f (换页) n (换行) r (回车) t (水平制表符(到下一个tab位置) (单引号) “ (双引号) (反斜杠),练习:基本数据类型的使用(1),下面代码的输出结果是什么?,Public static void main(String args) int i=10; System.out.println(i); i=15; System.out.println(i); ,输出

7、结果: 10 15,练习:基本数据类型的使用(2),Public static void main(String args) int i; System.out.println(i); int i=15; System.out.println(i); ,错误2:第二次定义变量i。,错误1:在给变量i赋值前使用它。,下面代码中的两个错误是什么?,练习:基本数据类型的使用(3),没有任何错误。x先被赋予值15.0,然后x被给定一个新的值150.0。,下面的代码中有错吗?,Public static void main(String args) double x=15.0; x = x * 10;

8、System.out.println(x); ,练习:基本数据类型的使用(4),假设有两个int型变量one和two,编写代码交换它们的值并输出。,int one= 10; int two = 20;,System.out.println(one); System.out.println(two);,int temp=two; two= one; One=temp;,System.out.println(one); System.out.println(two);,Java中的标识符,标识符可以用来标识变量名、类名、类中的方法名等. 标识符组成: (1) 字母, (2)数字, (3)下划线“_

9、” 和 (4)美元符号“$”; 首字符必须是(1) 字母, (2)下划线“_” 和 (3)美元符号“$”; 所有标识符是区分大小写的; 除去关键字、false、true和null;,Java关键字(50个),关键字不能作为标识符;关键字是具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为保留字(reserved word) java中的关键字均用小写字母表示。,合法的标识符 identifier userName User_Name_sysval $change A98_23 _abc非法的标识符2mail room# class A- 43_1 the,问题: 是/不是合法标识符

10、?,myVariable 9pins MYVARIABLE i a+c testing1-2-3,_myvariable java¨ My Variable $myvariable _9pins Its,课 堂 练 习,1判断下面标识符,哪些是合法的标识符?哪些是不合法的标识符?myName、 2mail、 room#、value-1、 dollar、 this2. 请指出下面数值的类型: (1)178 (2)8876L (3)37.266D (4)37.266D (5) 87.363F (6) 26.77E3 (7) c (8)true,写类声明来表示基于OOD的对象。类声明中包含类名

11、称、成员变量、成员方法。,声明类,类的定义,类体由两部分构成:,float area;int color; float x,y;,public void draw() public void erase() public void move() public int getColor() ,class Shape,一为成员变量定义(域),二为成员方法定义,类名,成员变量 (域),成员方法,在一个方法或者方法里面的代码块中定义的变量称为局部变量 局部变量在方法或代码块被执行时创建,在方法或代码块结束时被销毁。 局部变量必须先赋值再使用,否则会出现编译错误。,局部变量的初始化,查看结果: Test

12、Var .java,class Person int age;void shout()System.out.println(“oh,my god! I am “ + age); age是类的成员变量 。 shout是类的成员方法。,查看结果:Person.java,方法体内的变量叫局部变量,数据类型,Java变量必须属于某种类型,变量值也必须与变量类型相匹配 例如: int studentNumber; / 声明单个变量 double velocity, distance; / 声明多个变量 studentNumber=30; / 给变量赋以整数30int studentNumber=30;/

13、 声明变量,并赋初值,变量的作用域,变量的作用域:变量的使用范围。 假定在某代码段中能够使用一特定变量,则此段代码即是该变量的作用域。,class Person /以下5个成员变量String name;int age;double tall;boolean marriage;char sex; /以下2个方法eat(String eatwhat)System.out.println(name+” ate up the “+eatwhat); ,Speak(String saywhat,int time)int i;for(i=0;itime;i+)System.out.println(nam

14、e+” say:”+saywhat);,成员变量name、age、tall、marriage、sex的作用域,局部变量i的作用域,下图为变量作用域的示意图:,由左图可以看出,变量name、age、tall、marriage、sex和变量i的作用域是不同的。变量name、age、tall、marriage、和sex的作用域是整个类,在类的方法中也可使用它们。,成员变量在整个类内都有效;,局部变量只在定义它的方法内有效。,在类中声明的类成员变量,可在该类的各个成员方法中使用; 在某个方法体中或参数表中声明的变量,只能在该方法体中使用; 在某个语句块中声明的变量,只能在该语句块中使用。,成员变量的隐

15、藏性,局部变量与成员变量名字相同时,则成员变量将被隐藏,即在这个方法内暂时失效,只有局部变量起作用例:class tomint x=98,y;void f() int x=3;y=x;/y=?,3,class Person int age=18;void shout()int age=20;System.out.println(“oh,my god! I am “ + age); shout方法可以直接访问同一个类中的age成员变量 ,如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。,查看结果:Person1.java,public class

16、 VariableLifeTime public static void main(String args)int sum=0;int A=10;for(int x=1;x=5;x+)int y=0;y=y+A;sum=sum+y;System.out.print(“x=“+x);System.out.print(“y=“+y);System.out.println(“sum=“+sum);System.out.println(“sum=“+sum); ,查看结果: VariableLifeTime .java,public class ScopeError public static voi

17、d main(String args)int E=999; int E=999; /错误的定义,Java中不允许有这种嵌套定义System.out.println(“E=“+E); ,常量,常量是指在程序运行过程中其值不变的量。 定义常量的方法有两种:(1)在定义变量的类型前面加final关键字,并同时进行初始化,如下所示: final int aFinalVar=0; final double PI=3.14159;(2)在定义变量的类型前面加final关键字,不进行初始化。通过另外的语句进行赋值。如下所示: final int aFinalVar; aFinalVar=0;,常量和变量,常

18、量与变量之间最根本的区别是:常量在经过定义并给它一个值之后,不能再对它进行修改。而变量则无此限制。 对于常量a,进行如下的操作是错误的: final int a=1; . a=2;而对于变量a,如下这段代码则是正确的。 int a=1; a=2;,示例: public class Assign public static void main (String args) int x; int y; /定义x,y两个整型变量float z = 1.234f ; /指定变量z为float型,且赋初值为1.234 double w = 1.234 ; /指定变量w为double型,且赋初值为1.234

19、 boolean flag = true ; /指定变量flag为boolean型,且赋初值为true char c ; /定义字符型变量c String str ; /定义字符串变量str String str1 = “ Hi “ ; /指定变量str1为String型,且赋初值为Hi c = A ; /给字符型变量c赋值A str = “ bye “ ; /给字符串变量str赋值“bye“ x = 12 ; /给整型变量x赋值为12 y = x; /给整型变量y赋值为12 ,Java区分大小写 一个程序中可以有一个或多个类,但其中只能有一个public类 源程序编写完毕,应该以主类名作为文

20、件名,再加后缀.java存储,编写Java程序需要注意的几点,变量类型转换,弱类型 强类型:隐式类型转换 强类型 弱类型:强制类型转换,各个基本数据类型间的强弱关系: byteshortint long float double char,!boolean不能与其他基本数据类型进行互换,变量类型转换,强制类型转换其一般形式为: (类型名)(表达式)例: int a=0 ;long b=666L ;b = a ;a = ( int ) b ;boolean c=(boolean)a;,如: int i; byte b; i = 356; b =(byte)i; / 强制转换后丢失一部分数据,使得b的值为100。 一般使用强制类型转换可能会导致数值溢出或精度的下降,应尽量避免。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报