




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 Java语法基础,Page 2,Review 1:,试着编写一个简单的java application程序,当通过java Welcome命令时,可以在命令行界面上打印一行语句: “Welcome to Java World !”,Page 3,Welcome to Java World!,/welcome.java: this application program prints Welcome to Java World on the console ! public class Welcome public static void main ( String args ) System.out.println( “Welcome to Java World !” ); ,Java 程序至少包含一个类,每个类从类的声明开始,定义自己的数据和方法。 public 为修饰符; class为保留字; Welcome 为类的名字,注:保存的时候文件名要和类名一致,包括大小写,Page 4,编译源程序 首先在命令提示符下,进入该文件的根目录 用javac命令编译源文件,如: javac Welcome.java 运行Java程序 执行java命令就可运行Java程序 ,如: java Welcome,Page 5,编写源程序 (例MyFirstApplet.java) import java.applet.*; import java.awt.*; public class MyFirstApplet extends Applet public void paint(Graphics g) g.drawString(“Hello! java world!“,2,20); ,Review 2:Applet程序的编写与运行,Page 6,编译源程序 建立MyFirstApplet.html,将MyFirstApplet.class字节码文件放入其中。 MyFirstApplet program 浏览MyFirstApplet.html,Page 7,小窍门:为他人的阅读提供方便,文档生成器(javadoc.exe) 接受源文件(后缀为.java)输入,然后自动生成一个HTML文件,内容包括java源文件中的类、变量、方法、接口、异常等。 实现步骤: 在文档中利用/* .*/实现注释 利用javadoc -d path Welcome.java命令,Page 8,本章目录,2.1 Java程序的结构 2.2 Java程序的一些特殊语句 2.3 常量 2.4 变量和数据类型 2.5 Java标识符和关键字 2.6 运算符和表达式,Page 9,教学目标,了解Java程序的组成。 熟练掌握Java语言中的数据类型。 掌握Java中各类运算符的使用方法。 掌握Java中表达式的基本原理及使用方法,Page 10,教学重点,数据类型、运算符和表达式是编程语言的基本元素,详细了解这些元素是掌握编程语言的基石。 本章首先详细介绍了数据类型,让读者能够了解变量的使用方法,接着讲解了Java语言的运算符,让读者明确Java编程中变量定义及使用的基本方法。 最后介绍了表达式的语法形式及使用方法,让读者对于变量的使用有了更深的了解,Page 11,2.1 Java程序的结构,一、Java程序布局 Java的程序在结构上看,有两个部分: 一个是引入库声明区 引入库声明区的格式如下: import 类库名; 另一部分是类的定义区,Page 12,2.1 Java程序的结构,二、Java源程序的组成 Java源文件主要包含以下三个要素: (1)一个可选择的包声明语句,格式如下: package 语句; (2)任意数量的引入类声明语句,格式如下: import 已有类名; (3)类和接口的声明,只能有一个可见性为public的类,且要求源文件必须和public类名相同,而且大小写都完全一致。,Page 13,2.2 Java程序的一些特殊语句,一、注释语句 注释:是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,书写注释是编写程序的良好习惯。 Java中有三种形式的注释: / 注释部分 (单行) /* 注释部分 */ (多行) /* 注释部分 */ (多行),Page 14,一、注释语句 段落注释: /* this is a comment */ 或 /* that continues * across lines */,2.2 Java程序的一些特殊语句,Page 15,一、注释语句 文档注释: /* Class Name: MyClass Author:michale Ma Version:1.0 Date:apr 16 2010 This is the first java applet! */,2.2 Java程序的一些特殊语句,Page 16,一、注释语句 注释文档根据它所注释的内容,分成三类:变量,方法和类。 类的注释一定要出现在类定义的前面; 变量注释要出现在变量定义的前面; 而方法注释则要出现在方法定义的前面。 注释和定义之间在不能有任何东西,2.2 Java程序的一些特殊语句,Page 17,例如: /* A class comment */ public class doctest /* A variable comment */ public int I; /* A method comment */ public void f( ) ,2.2 Java程序的一些特殊语句,Page 18,一、注释语句 文档注释除了在标准表格中使用文档方法和类的特定起始标签外,还包括HTML标记。后跟一个定义标签用途的关键字。,2.2 Java程序的一些特殊语句,Page 19,2.2 Java程序的一些特殊语句,Page 20,二、输出语句 使用System.out.print(x)将数值x输出 例如: double x=10000.0/3.0; System.out.print(x); 或 System.out.printf(“%8.2f”,x); System.out.printf(“Hello,%s,Next year,youll be %d”,name,age); 也可以使用System.out.println()语句,2.2 Java程序的一些特殊语句,Page 22,常量:如果一个存储空间中的数据在程序运行过程中一直都没有发生改变,称这种空间为常量,常量也有常量名,用保留字final来定义。 例如:final double PI = 3.1415926 ; final int MY_DATE = 5 ; 其中PI与MY_DATE就是常量 注意:常量只能在定义时赋值 变量可以随时赋值,赋值由赋值符( = )实现.,2.3 常量,例如: final int myData1 = 3; /定义常量 int myData2 = 2; /定义变量 myData2 =5;给myDate2赋值为5 可以改变myData2的值,但是不能改变 myDate1的值。,Page 23,类常量:可以在一个类中的多个方法中使用 使用关键字static final public class ConstantsExample2 public static final double M=2.54; public static void main(String args) double width=8.5; double height=11; System.out.println(“paper size in centimeters:” +width*M +”by” +height*M); ,2.3 常量,Page 24,一、变量(Variable),变量:一个命名的内存块,用于存储Java程序中的信息。每个内存块只能存储一种类型的数据。 变量的类型和变量名 变量名以Unicode字母(国际字符集标准,包括_和$)开头 接下来是任意数量的Unicode字母和数字 类名以大写字母开头 字面值:程序中出现的明确给定的数值,每个字面值必须属于一种特定类型。,2.4 变量和数据类型,例子:合法的变量定义 String Name; int CardID; String PassWord; int Money;,Page 25,一、变量(Variable),Java的变量命名要遵从如下的三条规则: 必须由Unicode字符集中的字符组成 不能与Java语言的关键字相同,或命名成布尔值(true或false) 在同一个作用范围内,不能有相同名字的两个变量。 所谓的变量的作用范围是指可以存取变量的代码模块。 变量的作用范围同时也决定了变量何时产生,何时消灭。,2.4.1 变量,Page 26,变量命名:按标识符中的命名规则 变量定义:包括变量名、变量类型和作用域,Type varName =value , varName =value ,变量类型,变量名,变量值,例如: int x,y; double a=3.2,b=7.1;,变量的定义分为两步: 1.变量声明(declaration) 如:int x; 2.变量赋值(Assignment)如:x=10; 合并这两步即为声明变量同时进行初始化, 如: int x=10;,二、变量的命名与定义,2.4.1 变量,Page 27,声明同时初始化:让一个变量在生成的时候具有一个指定的常量。 声明后赋值:在变量生成后,利用赋值语句把数据从内存中的一个位置复制另一个位置。,int x=10;,x,10,int x; x=10;,x,10,10,注意:必须要先声明,再使用。,二、变量的命名与定义,2.4.1 变量,Page 28,变量的作用域:指可访问变量的一段代码。 变量作用域的划分: 局部变量(Local Variable):是定义在方法或方法里的程序块中的变量,使用前一定要初始化。又可称为: 自动变量(Automatic Variable) 临时变量(Temporary Variable) 栈变量(Stack Variable),演示LocalVariableTest.java,二、变量的命名与定义,2.4.1 变量,Page 29,变量作用域的例子1, int i ; /对这个作用域而言,i是局部变量 /这里不可以访问i,i在这里不存在 ,Page 30,变量作用域的例子2,在某个局部作用域内定义的变量不能在其嵌套的局部作用域中重新定义。 int i = 2; int j =4; int i = 6; /出错,i已被定义 j = 8; ,Page 31,变量作用域的划分: 全局变量(Global Variable):又可分为 实例变量(Instance Variable)或非静态成员域:是定义在类中的变量,所有对象建立副本。使用前不需要初始化。 类变量(Class Variable)或静态成员域:要用static关键字修饰,所有对象共用一个,不创建对象也存在。,二、变量的命名与定义,2.4.1 变量,Page 32,类Sphere的定义,public class Sphere /class variable static double PI=3.14; /instance variable double xCenter; double yCenter; double zCenter; double radius; ,3.14,Sphere.PI由所有对象共享,globe xCenter yCenter zCenter radius,ball xCenter yCenter zCenter radius,演示InstanceVariableTest.java,Page 33,数据类型,基本数据类型,引用数据类型,数值型,字符型:char,布尔型:boolean,整型:byte,short,int,long,实型:float,double,类:class,数组和字符串,接口:interface,2.4.2 数据类型,Page 34,一、基本数据类型,基本数据类型:也称作简单数据类型。Java语言有8种简单数据类型,分别是: boolean 布尔型 byte 字节型 short 短整型 int 整型 long 长整型 float 单精度 double 双精度 char 字符型,2.4.2 数据类型,Page 35,基本数据类型习惯上可分为4大类型: 整数类型:byte、short、int、long 浮点类型:float、double 字符类型:char 逻辑类型:boolean Java的基本数据类型长度是固定的,可以跨平台自由移植。(c语言的基本数据类型根据平台的不同会有所差别),一、基本数据类型,2.4.2 数据类型,Page 36,二、整型数据类型(字面值及变量),整型数据类型:不含小数点的数字为整数类型。例如:-124、948、0等。 有以下4种:,2.4.2 数据类型,Page 37,二、整型数据类型(字面值及变量),2.4.2 数据类型,Page 38,整型字面值:整型数据可以表示10进制、8进制、16进制。 10进制:123, -234; 8进制: 0123,-0234; 16进制:0x64, -0xff; 思考:在书写表达上它们有什么区别? 整型默认为int型,若是长整形需要在数据后加上字母L。例如:123为int型,而123L则是long型,二、整型数据类型(字面值及变量),2.4.2 数据类型,Page 39,整型变量: 例: int x=123; long y=123L; long z=123l; byte luckyNumber=7; short smallNumber=1234;,注意: 必须确保变量的初始值在相应数据类型的取值范围之内,否则编译器就会报错。 Java中没有无符号型整数。,二、整型数据类型(字面值及变量),2.4.2 数据类型,Page 40,三、浮点数据类型(字面值及变量),浮点数据类型:含小数点的数字为浮点类型。例如:-38.32、34.0等。有以下2种:,2.4.2 数据类型,Page 41,浮点型字面值: 实型数据用10进制形式表示,带有小数部分。如1.23,-3.45,1.0 用科学计数法形式表示。如1.23456E+3、12345E-4,其中e或E之前必须有数字,且e或E后面的指数必须为整数。 实型默认为double型,数字后加f或F为float型,加d或D为double型。,三、浮点数据类型(字面值及变量),2.4.2 数据类型,Page 42,浮点型变量: 例: double sunDistance=1.496E8; float electronMass=9E-28F; double x=0.123; float y=0.123F,z=0.123f;,三、浮点数据类型(字面值及变量),2.4.2 数据类型,Page 43,动动脑筋,public class FloatTest public static void main ( String args ) float f; f = 1.3 ; System.out.println( f ); ,f ;,演示FloatTest.java,Page 44,四、字符数据类型(字面值及变量),字符型字面值: 用单引号作为定界符。 如: x , X , a , A 字符型变量: 用于存储一个字符,在内存中占2个字节。 存储为Unicode码形式 如: char myChar=A,2.4.2 数据类型,Page 45,字符集: ASCII(American Standard Code for Information Interchange)字符集:使用7位代码表示大小写字母、数字09以及若干控制字符,如换行符。 ISO-8859-1 Latin-1字符集:在西欧,用户希望字符集能够表示他们本国字符集的所有字符,ASCII字符集因而被扩展到8位,即增加了128个字符,用于表示英文中不存在的各种西欧语言的字符。,四、字符数据类型(字面值及变量),2.4.2 数据类型,Page 46,字符集: Unicode字符集:是ISO标准16位字符集,支持65536个不同的字符。其中大约有21000个字符专门用于中文、日文和韩文的表意文字。 ASCII、ISO Latin-1都是Unicode的子集。 Java内部使用2个字节表示每个字符,采用Unicode编码。,演示CharTest.java,四、字符数据类型,2.4.2 数据类型,Page 47,转义字符: 转义符号以“”开头,后跟一个或几个字符或符号来显示一些打印语句不能显示的符号或效果。 例如: “、 、 等等。 n :表示回车换行; t :表示制表(即Tab键); f :表示换页; b :表示退格; r :表示回车; ddd : 3位八进制数所代表的字符; uxxxx : 4位十六进制数所代表的字符。,2.4.2 数据类型,Page 48,五、字符串常量,字符串常量是用一对双引号括起来的一系列字符。 如”It is a nice day!”和”Java” ; 注意,c不等于“c”。,2.4.2 数据类型,Page 49,六、布尔数据类型(字面值及变量),布尔型字面值: 只有两个值:true false 布尔型变量: 例如: boolean state=true; 或 boolean state; state=true;,演示BooleanTest.java,2.4.2 数据类型,Page 50,各基本数据类型默认缺省值,byte ( byte )0 short ( short )0 int 0 long 0l float 0.0f double 0.0d char u0000(空字符) boolean false,2.4.2 数据类型,Page 51,七、有固定序列整型值的变量(枚举),定义枚举型定义结尾不加分号,因为是定义类型 枚举型名字用大写字母开头,枚举值的名字一般用小写字母开头。 例: enum Day Monday,Tuesday,Wednesday Day weekday=Day.Tuesday;,演示EnumTest.java,2.4.2 数据类型,Page 52,八、引用类型,引用类型是一种针对对象的数据类型。 在Java中,“引用”指向一个对象在内存中的位置,实质上是一种带有很强的完整性和安全性的限制的指针。 当声明某个类、接口或数组类型的一个变量时,这个变量的值总是某个对象的引用或是null引用。 指针就是简单的地址,而引用除了表示地址外,还可以提供对象其他信息。 指针可以有+,-运算,引用不可以运算。,2.4.2 数据类型,Page 53,例: public class Teacher private String name; private int age; private double salary; public static void mian(String args) Teacher myTeacher=new Teacher(“Smith”,30,10000); ,代表类型,对象的引用,代表一个对象,演示Teacher.java,八、引用类型,2.4.2 数据类型,Page 54,总结:,变量有两种类型: 简单类型变量:保存在堆栈中 对象变量:保存在堆中,需要用new来分配空间,字节,2.4.2 数据类型,Page 55,简单变量,进程堆栈,一个进程有一个堆栈,独享 堆栈大小有限制,2.4.2 数据类型,Page 56,对象内容不放在堆栈stack中,放在堆heap中 对象引用放在堆栈中,对象变量,堆栈,进程,堆对象,对象,2.4.2 数据类型,Page 57,练习:,定义一 常量 PI并赋值为3.14 定义一字符串类型的常量 NAME并赋值为qrsoft 定义一整型常量并赋值为100 定义一字符常量并赋值为a,2.4.2 数据类型,Page 58,九、数据类型转换,强制类型转换的通用格式如下: 目标类型 变量=(目标类型)值; 例如: int i = 3; byte b = ( byte )i; 赋值语句中的自动类型转换,2.4.2 数据类型,Page 59,九、数据类型转换,自动类型转换 两种类型兼容; 目标类型大于源类型; 强制类型转换 两种类型不兼容 目标类型小于源类型,2.4.2 数据类型,Page 60,开动脑筋:编译结果是什么?,public class ByteTest public static void main ( String args ) byte b; b = 3 ; b = b * 3; System.out.println( b ); ,Page 61,开动脑筋:编译结果是什么?,public class ByteTest public static void main ( String args ) byte b; b = 3 ; b = (byte) (b * 3); System.out.println( b ); ,Page 62,一、标识符,标识符的引入:程序开发人员需要对程序中的变量、方法等元素加以命名,以确保它们的唯一性,这时用到标识符。 什么是标识符:变量、方法、类和对象的名称都是标识符,2.5 Java标识符和关键字,标识符的组成:以字母、下划线或美元符号开始的字符序列,后跟字母、数字、下划线或美元符号。,Page 63,使用标识符的注意事项,标识符区分大小写。 不用使用Java关键字来命名。 标志符不能以数字开头,标志符中间也不能包括空格或制表符; 没有长度限制,但不建议使用太长的标识符。 可以使用中文作为标识符,练习:找出合法的标识符 2teacher studentName Student_Name room# abstract _my_value $address 3a int my date email,演示IdentifierSample1.java,2.5 Java标识符和关键字,Page 64,二、关键字(保留字),2.5 Java标识符和关键字,Page 65,请判断下列标识符哪些合法哪些不合法? 123, abs , $123,myname, my name, MYname, #myname, _myname, My_name,2.5 Java标识符和关键字,Page 66,三、J2EE命名规范,类名和接口名:各单词首字母大写,其余字母小写。如SamDoc ,HelloWorldApp 方法名和变量名:一般首字母小写,后面每个单词的第一个字母大字。如delStudent 包名:字母全部小写。如,com.abc.dollapp。 常量名:采用大写形式,单词之间以下划线“_”隔开。如DEFAULT_COLOR_DOL。,2.5 Java标识符和关键字,Page 67,2.6 运算符和表达式,运算符,也称为操作符,用于对数据进行计算和处理,或改变特定对象的值。 运算符按其操作数的个数来分,可分为一元运算符、二元运算符和三元运算符。 表达式是运算符、常量和变量的组合。 Java的表达式既可以单独组成语句,又可以出现于循环条件测试、变量说明、方法的调用参
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人大硕士考试题库及答案
- 梯形课件简介图
- 梭伦改革选修课件
- 桥面防腐知识培训内容课件
- 2025年继电保护员中级考试知识点梳理与复习计划
- 2025年初入IT行业软件开发工程师技术面试模拟题集及答案解析
- 2025年护师考试完整版试题及答案
- 2025年能源行业后勤集团工程总监竞聘面试模拟题及解析
- 桥梁三维建模知识培训课件
- 2025年碳足迹评价师专业题库高级篇
- 音响设备消费行为预测-洞察及研究
- 手术部(室)医院感染控制标准WST855-2025解读课件
- 2025广西来宾宾信投资集团有限公司招聘拟聘人员考前自测高频考点模拟试题及答案详解一套
- 2025年安徽演艺集团有限责任公司招聘20人笔试备考题库及完整答案详解
- 医学人文与医患沟通能力
- 安全生产施工管理方案(3篇)
- 2025数字量化混凝土配合比设计标准
- 2025年四川省事业单位考试公共基础知识真题及答案解析
- 毒蛇咬伤病人院前急救要点
- 无痛胃镜检查护理配合
- 广东能源海洋渔业有限公司招聘笔试题库2025
评论
0/150
提交评论