《JAVA零基础讲义ch002》由会员分享,可在线阅读,更多相关《JAVA零基础讲义ch002(29页珍藏版)》请在金锄头文库上搜索。
1、第二章 Java语言基础,2.1标识符和关键字P23-24,合法的标识符 标识符是指类、方法、常量、变量、接口和包等的名称。(1)标识符必须以大小写字母、数字、_和$组成,但不可以用数字开头。 例如: PinNum、_abc33、$Qian等等都是合法的; 100Age,my age,abc#,hotmail都是不合法的标识符。(2)Java语言严格区分大小写。 标识符的命名习惯:类: 每个单词的首字母大写 方法: 第一个字母小写,其它单词首字母大写 变量: 第一个字母小写,其它单词首字母大写 常量: 所有字母均大写,单词之间使用下划线分开,2.1标识符和关键字P24,关键字(Reserved
2、 Words,也叫保留字)是Java语言语法的组成部分,具有特殊的含义,不可以作为标识符使用。48个关键字,2.2数据类型和变量,定义常量和赋初值 格式:= ;Examples:final double PI=3.1415926;final int COUNT =1000;,2.2数据类型和变量,定义变量和赋初值 格式:=, =, ; Examples:int abc=30;double a,b,c;,2.2数据类型和变量,变量的作用域 域 可以是类体,方法体,复合语句。 在一个确定的域中,变量名唯一Example,2.2数据类型和变量,Java将数据分成基本数据类型和复合数据类型两大类。 基
3、本数据类型又可以分成整数类型、浮点类型、逻辑类型和字符类型4种。 基本数据类型:,2.2数据类型和变量,字符型常量 定界符:单引号 转义符:P27 表2-2 字符型变量 char ch=k; 字符串常量 定界符:双引号 字符串连接:“+”,2.2数据类型和变量,整型P28 实型P29 布尔型 boolean true /false 不对应于任何整数值 数据类型转换 默认转换规则P30 注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换 强制类型转换 Example: int i; byte b=(byte) i;,2.3
4、 字符串-字符,字符是指用单引号括起来单个字符,占2个字节的Unicode字符。 因为Unicode被设计用来处理现在世界上所有书面语言中的字符,所以一个汉字也是被当作一个字符来处理的。 对于单个字符,除了有char这个原始类型以外,Java平台中的java.lang包还专门提供了一个Character类来进行储存和操作。,Character类的构造函数 Character类只能用于存储和操作单一的字符数值,Character类的对象包含了单一字符数值。以下是Character类提供的构造函数:public Character(char)参数必须为一个char类型数据,它创建了一个Charac
5、ter对象,该对象包含了由参数提供的数值。一旦Character对象被创建,它包含的数值就不能改变。下面的语句将创建一个Character对象a,该对象包含字符数据b:Character a = new Character(b);,2.3 字符串-字符,2.3 字符串-字符,Character类提供的常用方法 1public int compareTo(Character)compareTo(Character)是一个实例方法,参数必须为一个Character对象,而不能是char类型数据。该方法比较两个Character对象包含的数值,返回一个整数表明在当前对象中的数值是否大于、等于或者小于
6、参数给定的数值。 2public boolean equals(Object obj)equals()是一个实例方法,用于比较两个对象。用于Character类对象时,该方法比较当前对象容纳的数值和参数对象容纳的数值。在两个对象容纳的数值相等的时候返回true,否则返回false。,2.3 字符串-字符,Character类提供的常用方法 3public String toString() 所有的类从对象类继承了toString方法。toString是一个实例方法,它将对象转换为字符串。该方法用于Character类对象时,结果的字符串在长度为1,并且它包含了有这个Character对象容纳的
7、数值。 4public char charValue()charValue是一个实例方法,它返回Character对象的字符。 5public static boolean isUpperCase(char)isUpperCase(char)是一个类方法,该方法用来判断字符参数值是否为大写。当字符参数值是大写时,返回值为true,否则返回false。,2.3 字符串-字符串,字符串指的是字符的序列,有两种类型的字符串: 字符串常量,String类用于存储和处理字符串常量; 字符串变量,StringBuffer类用于存储和操作字符串变量。,String类-字符串连接,在Java中,没有内置的字符
8、串类型,字符串常量是作为String类的对象存在。 注:Java不允许对String对象进行操作,但有一个例外就是 + 运算符,它可以连接两个字符串。,String类-求子串,利用String类提供的substring方法可以从一个大的字符串中提取一个子串,该方法有两种常用的形式:1)public String substring(int beginIndex)该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。2)public String substring(int beginIndex, int endIndex)该方法从当前字符串中取出一个子串,该子
9、串从beginIndex位置起至endIndex-1为结束。子串返的长度为endIndex-beginIndex。,修改字符串,String对象本身是不能改变的,修改字符串的方法有多种,但都将构造一个完成修改的字符串的副本。 另外也可用StringBuffer类修改字符串,String 类-修改字符串P31-34,1. 利用substring方法修改字符串 P32 例2-3 2. 利用concat 方法连接两个字符串 3. 利用replace 方法 4. 利用trim方法,String 类测试串相等,比较相等 利用equals方法 利用equalsIgnoreCase方法 比较大小compar
10、eTo方法,2.4 数组,理解数组这种数据结构 连续存储空间(固定长度),相同数据类型(简单数据类型或者复杂数据类型均可),随机访问(index) ,一个名称,在Java中,数组也是一个对象。数组是一个Object类的一个不明显的扩展,所以可以指定一个数组给一个类型定义为Object的变量。考虑:如果需要在一个数据结构中存储不同类型的数据,或者需要一个长度可变的结构怎么办?,2.4 数组,在Java中,一个数组的创建一般需要以下三个步骤: 1数组的声明 数组元素类型 数组名 ;数组元素类型 数组名; 2创建数组空间 数组名=new 数组元素类型数组长度; 创建数组空间的工作可以和声明数组的工作
11、组合在一起,用一条语句来实现。如 :int a; a= new int20; 等价于:int a= new int20;,2.4 数组,3初始化数组 初始化数组就是要使数组中的各个元素有确定的数值。如果数组元素的类型是基本数据类型,由于基本数据类型都有缺省值,数组元素都自动初始化为缺省值。如果需要给数据元素赋其他的值,可以有静态与动态两种方式: 静态: int intArray=1,2,3;int intArray=1,2,3,4; 动态: int intArray=new int3;intArray0=1; .对于以某个类的对象为数组元素的数组,初始化每个数组元素是必须的。 复杂数据类型,需
12、要给每一个元素分配空间:String strArray;strArray=new String3;strArray0=new String(“red”);注意:(1)所有的数组都有一个属性length,这个属性存储了数组元素的个数。(2)Java编程环境会自动检查数组下标是否越界。,2.5 运算符,算术运算符P42 关系运算符P43 逻辑运算符44 &与 |或 !非 异或 位运算符: 按位非(NOT)(一元运算) & 按位与(AND) |按位或(OR) 按位异或(XOR) 参与以上运算的只能是逻辑数据 true or false 有符号右移 无符号右移,左边空出的位以0填充 = 右移赋值 =
13、右移赋值,左边空出的位以0填充 1=(00000001) b2=(00000000) byte b2=-128; b21=(11000000) b21=(01000000),2.5 运算符,复杂的赋值运算 条件语句instanceof运算符 运算符的优先级,2.6控制语句,1条件语句 if-else if(boolean-expression) statement1; else statement2;2多分支语句 switch switch (expression) case value1 : statement1; break; case value2 : statement2; break
14、; case valueN : statemendN; break; default : defaultStatement; 表达式expression的返回值类型必须是这几种类型之一:int,byte,char,short。 case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的。 default子句是可选的。 break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。,2.6控制语句,1while语句 initialization wh
15、ile (termination) body; iteration; 2do-while语句 initialization do body; iteration; while (termination); 3for语句 for (initialization; termination; iteration) body; , for语句执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 初始化、终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。 在初始化部分和迭代部分可以使
16、用逗号语句,来进行多个操作。逗号语句是用逗号分隔的语句序列。 for( i=0, j=10; ij; i+, j-) ,2.6控制语句,break语句 在switch语中,break语句用来终止switch语句的执行。使程序从switch语句后的第一个语句开始执行。 在Java中,可以为每个代码块加一个括号,一个代码块通常是用大括号括起来的一段代码。加标号的格式如下: BlockLabel: codeBlock break语句的第二种使用情况就是跳出它所指定的块,并从紧跟该块的第一条语句处执行。例如: break BlockLabel; a: /标记代码块a b: /标记代码块b c: /标记代码块c break b; /此处的语句块不被执行 /此处的语句块不被执行 /从此处开始执行 ,