1、手机游戏JAVA语言基础,第2章 Java基础语法,第2章 Java基础语法,Java基本数据类型 变量 运算符与表达式 注释和文档 字符串,掌握Java基本数据类型 掌握运算符与表达式的使用 了解字符串的简单使用,基本数据类型 运算符和表达式 字符串,Java基本数据类型 运算符和表达式 字符串的使用,第2章 Java基础语法,2.1简单的Java程序,public class Hellopublic static void main(String args)System.out.println(“Hello World!“); ,“Hello World”程序虽然简单,但是包含了Java程
2、序的基本结构,第2章 Java基础语法,2.2 标识符和关键字,2.2.1标识符,程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)包括:类名、变量名、常量名、方法名、。Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。,第2章 Java基础语法,2.2 标识符和关键字,2.2.1标识符,合法的标识符:identifier userName User_Name _sys_value $change 非法的标识符:2mail room# class this,第2章 Java基础语法,2.2 标识符
3、和关键字,2.2.2关键字,具有专门的意义和用途,不能当作一般的标识符使用,这些标识符称为关键字,也称为保留字(reserved word)。,第2章 Java基础语法,2.3 数据类型,Java是一种强类型语言。即每个变量都必须声明类型。Java共有8种基本类型:4种整型,2种浮点数型,1种字符型,以及用于表示真假的布尔类型。除了基本数据类型之外,都属于符合数据类型。,第2章 Java基础语法,2.3 数据类型,2.3.1 整型,整型表示无小数部分的数字,允许是负数。Java提供了4种整数类型byte、short、int、long。通常情况下,int类型是最常用的。,第2章 Java基础语法
4、,2.3 数据类型,2.3.2 浮点类型,浮点类型表示有小数部分的数字。 Java 中有两种浮点类型 float和double表示float类型数据时需在后面添加后缀F,比如,3.402F。没有后缀F的浮点数据(比如3.402)总被认为是double类型的。当然,也可以在其后面加上后缀D,但不是必须的。另外,浮点数可以有4个特殊的状态:1)负无穷大2)正无穷大3)零4)非数,第2章 Java基础语法,2.3 数据类型,2.3.3 字符类型,字符数据类型 charchar型用来表示单个字符,char常量是用单引号进行表示的。Java中的字符是一个特殊的集。用户既可将它当作16位的无符号整数,取值
5、范围为0到65535,也可以将它当作统一码字符 ,字符变量的缺省值是/u0000。,第2章 Java基础语法,2.3 数据类型,2.3.4 布尔类型,布尔数据类型boolean布尔类型用于逻辑条件判断,它只有两个值假(false)和真(true) ,且它们不对应于任何整数值。布尔型数据只能参与逻辑关系运算:& 、 |、 = 、 != 、 !,第2章 Java基础语法,2.3 数据类型,2.3.5 复合数据类型,复合数据类型包括数组、类、接口等,这些概念将在后面的章节详细介绍。,第2章 Java基础语法,2.4 常量和变量,2.4.1 变量的声明,int Count; float f; char
6、 n; boolean Flag;,Java中,每个变量都有类型。声明一个变量时,应先给出此变量的类型,随后再写上变量名。语法格式如下:,例如:,typeSpecifier varName;,第2章 Java基础语法,2.4 常量和变量,2.4.1 变量的声明,变量名是区分大小写的。意味着同一个名称,只要有字母大小写不同,就是两个变量,变量名在命名的时候,需要注意如下7点: 1)尽量使用完整的英文描述符。 2)采用适用于相关领域的术语。 3)采用大小写混合使名字可读。 4)尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一。 5)避免使用长的名字(名字长度以小于 15 个字母为佳)。
7、6)避免使用类似的名字,或者仅仅是大小写不同的名字。 7)避免使用下划线(除静态常量等)。,第2章 Java基础语法,2.4 常量和变量,2.4.2 变量的赋值和初始化,声明一个变量后,可以通过赋值语句对它进行明确的初始化,即给它赋个值。使用未被初始化的值会导致程序运行出错。要对一个已经声明过的变量赋值,应把此变量名写在左边,随后是等号(=),然后右边是合适的Java表达式。 语法格式如下:,varName=value,varName=value;,也可以和声明连起来一起:,typeSpecifier varName=value,varName=value;,int planeNumber;
8、/这里声明一个整型变量来表示飞机的数目 planeNumber = 5; /这是一条赋值语句,使飞机的数目为5 char inputChar; /这里声明一个字符型变量来表示输入的字符 inputChar = a; /给inputChar赋值 double income = 5000.34 /同一行中声明并赋值 int m = 100,n = 35; /一行中可以同时声明多个变量并赋值,例如:,第2章 Java基础语法,2.4 常量和变量,2.4.2 变量的赋值和初始化,Java中变量的缺省初值都是确定的:布尔变量的初值为:false整数变量的初值为:0浮点数变量的初值为:0.0引用(复合)变
9、量的初值为:null,第2章 Java基础语法,2.4 常量和变量,2.4.3 常量,常量表示只能对变量赋一次值,其值一旦设定,就不能再变更。习惯上常量名都用大写。声明常量的语法是在声明变量的语句前面加上final关键字,其常量的初始化要与声明同时进行。其语法如下:,final typeSpecifier varName=value,varName=value;,例如:,final int NUM = 100 final float PI = 3.14f,第2章 Java基础语法,2.4 常量和变量,2.4.4 数据类型转换,1. 自动类型转换,整型、实型、字符型数据可以混合运算。运算中,不同
10、类型的数据会自动转化为同一类型,然后进行运算,转换从低级到高级。,不同类型的数进行运算的时候,总是向精度高的类型转换。,第2章 Java基础语法,2.4 常量和变量,2.4.4 数据类型转换,2. 强制类型转换,有时程序也有需要将存储所占位数大的值转化为存储所占位数小的值来使用。这种数字转换时信息可能会丢失,一般是通过强制类型转换来完成的。其语法是在圆括号中给出要转换的目标类型,随后是待转换的变量名。,强制类型转换过程中,双精度或单精度数转换成整型数的时候是通过截去小数部分把一个浮点值转换为整数,所占位数大的转换成所占位数小的是通过直接截取后边的位数,例如整型转化成字节型。,第2章 Java基
11、础语法,2.5 运算符,2.5.1 算术运算符,在Java中,最常见的操作符是加、减、乘、除,分别对应+、-、*、/。比较特殊的是“/”,当两个整数运算时,就是整数除法;若是两个浮点数运算,就是浮点数除法。,第2章 Java基础语法,2.5 运算符,2.5.1 算术运算符,“/”:当两个整数运算时,就是整数除法,若是两个浮点数运算,就是浮点数除法。,int a=5; int b=2; int c=a+b; /c的值是7 c=a*b; /c 的值是10 c=a/b; /c的值是2。一定注意整数除法只取整数倍 double income=150.4; double salary=income/2;
12、/那么salary的值是75.2,第2章 Java基础语法,2.5 运算符,2.5.1 算术运算符,“%”:取余运算。例如7%3得到1,7%4得到3。这种操作得到第一个整数被第二个整数整除后的余数。这种方式得到的结果永远都不会大于所给定的除数。,第2章 Java基础语法,2.5 运算符,2.5.1 算术运算符,赋值运算符: =,及其复合赋值运算符如+=,=,*=,/=等。,a += 3; /与a = a + 3等价,如果原来a是5,运算后a是8; a *= 2; /与a = a * 2等价,第2章 Java基础语法,2.5 运算符,2.5.2 递增和递减运算符,在编程中,经常会遇到让某个变量,
13、不断增大,或减小的情况,用编程的术语,称之为递增或递减。比如在某个场景中一个物体水平的由左向右移动,就是x坐标递增的过程。数字变量最常见的操作之一就是递增1或递减1。在Java中有专门的递增和递减操作符:+,-。,int n = 5; n+; /相当于n = n + 1;n的值变为6; n-; /相当于n = n - 1;n的值又变为5;,第2章 Java基础语法,2.5 运算符,2.5.2 递增和递减运算符,“+”、“-”:递增1或递减1 ,递增和递减操字符只能对变量操作,不能对数字操作 。,int a=5; int b; b=a+; /后缀的形式,a先将原来的值赋给b,b的值是5,然后自增
14、1,a的值是6 b=+a;/前缀的形式,a先增加1,然后赋给b,现在a、b都是7,第2章 Java基础语法,2.5 运算符,2.5.3 关系和逻辑运算符,Java中关系运算符有:,=,=,=,!=上述运算符计算出的结果只能是布尔型值true或false。,3 != 7,例如: 使用!=判断是否不等,第2章 Java基础语法,2.5 运算符,2.5.3 关系和逻辑运算符,Java中逻辑运算符有:!,&,|上述运算符计算出的结果只能是布尔型值true或false。,最后,Java还支持三元操作符“? :”,这个操作符有时候很有用。条件表达式为:,condition ? e1:e2;,在condit
15、ion为true时值为e1,否则值为e2。例如:,得到x与y中的较小值。,xy ? x:y;,第2章 Java基础语法,2.5 运算符,2.5.4 位运算符,AND运算、OR运算和Exclusive OR(有时叫XOR即异或)运算。这三个运算符是: 按位与: 按位或: |按位异或:,第2章 Java基础语法,2.5 运算符,2.5.4 位运算符,在Java中有3个移位运算符:左移:带符号右移:无符号右移:,第2章 Java基础语法,2.5 运算符,2.5.4 位运算符,移位运算符将数中的所有位向左或向右移动。运算符左面是要移位的操作数,而右面的操作数是要移动的位数。例如:172数字17将被向左
16、移动两位。左移和无符号右移用零来填补空位。带符号右移使用符号位来填补空位。,第2章 Java基础语法,2.5 运算符,2.5.4 位运算符,移位运算符的优先级高于关系运算符,但是低于附加的算术运算符。,第2章 Java基础语法,2.5 运算符,2.5.5 运算符优先级,第2章 Java基础语法,2.6 字符串简介,String型是字符串型数据,表示一串由双引号括起来的字符串。字符串是有序的字符序列。它的最基本元素是字符,字符可以是字母、数字、标点符号或其它的符号。字符的个数可以是0个或多个,常用来表示用多个字符才能表达的信息。如玩家的名字,游戏中的提示信息,大量字符的文本内容等。,可以通过使用
17、在String后面跟一个变量名的形式来直接建立一个保存字符串的变量。例如,String型变量的定义:,String s = “字符串简介“;,这个语句创建了一个名为s的字符串变量,并将文本“字符串简介“保存在此变量中。,第2章 Java基础语法,2.6.1 字符串连接,2.6 字符串简介,Java允许使用符号+把两个字符串连接在一起,例如:,String a = “abc”; String b = “de”; String c = a + b;,得到c的值为”abcde”。,第2章 Java基础语法,2.6.2 字符串长度,2.6 字符串简介,字符串长度指的就是一个字符串内所包含的字符个数。要
18、取得字符串长度,要使用String类中的length方法。例如 :,String s = “hello”; System.out.println(s.length(); System.out.println(“hello“.length();,length方法会返回一个整数。上例代码打印出的结果都是5。,第2章 Java基础语法,2.6.3 子串,2.6 字符串简介,String类中的subString方法可以从字符串中提取一个子串,例如:,s1得到的结果为”hell”。字符串计数中的第一个字符位置为0。subString方法的第一个参数代表子串从原字符串中哪一个位置开始取,第二个参数代表要取
19、出多少个字符。则上例中,取位置从0到4的字符,包括0,但不包括4。,String s1 = s.subString(0,4); String s = ”hello”;,第2章 Java基础语法,2.6.4 判断字符串是否相等,2.6 字符串简介,判断两个字符串是否相等,使用equals方法。 例如要比较a、b两字串是否相等:,上例语句会返回一个布尔值。“true”代表a、b相等;“false”代表a、b不相等。不要使用操作符“=”来检测两个字符串是否相等,它只能判断两个字符串是否存储在内存中的同一个位置。,a.equals(b);,第2章 Java基础语法,2.7 注释,1. / 单行注释,简
20、单的解释语句含义.2. /* 多行注释,用来说明更多的内容,包括算法等.*/3. /* Java文档注释,可以通过javadoc生* 成类和接口的HTML格式的帮助文档.* 这种注释有其特殊的格式(参见相关文档)*/,所谓的注释是在程序中添加的一些来帮助理解程序,提示代码作用的语句。这些不是代码的有效成分,在程序运行中不起作用,不占用运行时内存空间。在Java编程中,有3种类型的注释:,第2章 Java基础语法,本课小结,需要记忆Java的标识符的命名规则,了解关键字的含义。Java中的数据类型有简单数据类型和复合数据类型两种,其中简单 数据类型包括整数类型、浮点类型、字符类型和布尔类型;复合
21、数据类型包含类、接口和数组。 另外,本课还包括了变量和常量的定义方法、标识符的使用、字符串的简单操作以及注释的写法。其中标识符和操作数组成表达式。对一个表达式进行运算时,要按运算符的优先顺序从高向低进行,同级的运算符则按从左到右的方向进行。,第2章 Java基础语法,小测验,单选题 1.下列标识符正确的是( ) A. 2mail B. room# C. class D. dog_2.现有整形变量r,其值不确定,则r%3的值的范围为( )A. 0,1,2 B. 1,2,3C. 1,2 D. -2,-1,0,1,23.表达变量i的范围在1到10之间,不包括1但包括10的语句( )A. 1c2 D.
22、 c1 = c2,D,D,D,D,第2章 Java基础语法,小测验,多选题 1.属于Java基本数据类型的有( )A. int B. floatC. String D. class2下列表达式中出现赋值运算符的有( )。A. int i=1;B. i+=2;C. i=3;D. i+;3属于Java基本数据类型的有( )。A. intB. floatC. StringD. class,AB,AB,AB,第2章 Java基础语法,课后作业,【作业1】分别定义8种基本类型的变量,并且赋值,输出。,【作业2】定义int,float,double类型的变量,两两进行算数运算,并且把结果输出。,【作业3】定义字符串变量,按照教材上的简单操作,逐一测试,第2章 Java基础语法,