收藏 分享(赏)

05+第5章+Java语言基础知识.ppt

上传人:myk79025 文档编号:4523834 上传时间:2019-01-01 格式:PPT 页数:65 大小:412.50KB
下载 相关 举报
05+第5章+Java语言基础知识.ppt_第1页
第1页 / 共65页
05+第5章+Java语言基础知识.ppt_第2页
第2页 / 共65页
05+第5章+Java语言基础知识.ppt_第3页
第3页 / 共65页
05+第5章+Java语言基础知识.ppt_第4页
第4页 / 共65页
05+第5章+Java语言基础知识.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、第5章 Java语言基础知识,学习内容,简单数据类型 运算符和表达式 注释 控制语句 数组 字符串的处理,5.1 简单数据类型,标识符和保留字 数据类型 简单数据类型 简单数据类型中各类型数据间的优先关系和相互转换,标识符,程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier)。Java语言中,标识符是以字母,下划线(_),美元符($)开始的一个字符序列,后面可以跟字母,下划线,美元符,数字。 例如:,保留字,数据类型,简单类型(8种) 整数类型:byte, short, int,long 浮点类型:float,double 字符类型:char 布尔类型:boole

2、an 引用类型 class Interface 数组,常量和变量,常量: 用保留字final来实现 final typeSpecifier varName=value,varName=value; 如:final int NUM=100; 变量: Java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。 其定义格式如下: typeSpecifier varName=value,varName=value; 如:int count; char c=a;,基本数据类型,Java中定义了四大类/八种基本数据类型: 整数型- byte, short, int, long 浮点数型

3、- float, double 文本型- char 逻辑型- boolean,简单数据类型的例子,package ch04;public class Assign public static void main(String args) int x, y; / 定义x,y两个整型变量float z = 1.234f; / 指定变量z为float型,且赋初值为1.234double w = 1.234; / 指定变量w为double型,且赋初值为1.234boolean flag = true; / 指定变量flag为boolean型,且赋初值为truechar c; / 定义字符型变量cStr

4、ing str; / 定义字符串变量strString str1 = “ Hi “; / 指定变量str1为String型,且赋初值为Hic = A; / 给字符型变量c赋值Astr = “ bye “; / 给字符串变量str赋值“bye“x = 12; / 给整型变量x赋值为12y = 300; / 给整型变量y赋值为300 ,简单数据类型中各类型数据间的优先关系和相互转换,不同类型数据间的优先关系如下: 低-高 byte,short,char- int - long - float - double 自动类型转换规则,简单数据类型中各类型数据间的优先关系和相互转换,强制类型转换: 高级数

5、据要转换成低级数据,需用到强制类型转换, 如:int i; byte b=(byte)i; /*把int型变量i强制转换为byte型*/,5.2 运算符和表达式,运算符 算术运算符 关系运算符 布尔逻辑运算符 位运算符 赋值运算符 条件运算符 其它,算术运算符,代码段,int i = 7, j = 7; System.out.println(+i); System.out.println(j+); 的输出结果为: 8 7,关系运算符,布尔逻辑运算符,位运算符,位运算符,例如:,a=10011101; b=00111001;则有如下结果: a3 =11110011 无符号右移位运算符在进行右移操

6、作时, 高位移出的空位总是补0。 a3=00010011; a,赋值运算符,条件运算符,JAVA语言提供了一个三目运算符?:,其语法格式为:,boolean表达式?返回值1:返回值2 当boolean表达式的值为true时, 返回表达式1的值,否则返回表达式2的值。,int i = 70; System.out.println(i = 60 ? “及格”:“不及格”);结果: 及格,其它,包括分量运算符 下标运算符 int array1=new int4; 实例运算符instanceof 内存分配运算符new 强制类型转换运算符 (类型) 方法调用运算符 (),运算符优先级,5.3 注释,单行

7、注释 多行注释 文档注释,单行注释,从“/”开始到本行结束的内容都是注释 例如:/这是一行单行注释/则是另一行单行注释,多行注释,在“/*”和“*/”之间的所有内容都是注释 例如:/*这是一段注释分布在多行之中*/,文档注释,在“/*”和“*/”之间的内容都是文档注释。 可以通过JDK提供的javadoc命令,生成所编程序的API文档,而该文档中的内容主要就是从文档注释中提取的。该API文档以HTML文件的形式出现,与java帮助文档的风格与形式完全一致。,文档注释例如 :,通过在命令行下面运行“javadoc -d . DocTest.java“,就生成了介绍类DocTest的index.h

8、tml文件,用浏览器浏览结果如图所示,注意到DocTest.java文件中的文档注释的内容都出现在该index.html文件中。,/* 这是一个文档注释的例子,主要介绍下面这个类 */ public class DocTest/* 变量注释,下面这个变量主要是充当整数计数 */public int i;/* 方法注释,下面这个方法的主要功能是计数 */public void count( ) ,文档注释例如 :,5.4 控制语句,Java中的控制语句有以下几类: 分支语句:if-else, switch 循环语句:while, do-while, for 与程序转移有关的跳转语句:break,

9、 continue, return,分支语句,1条件语句 if-else 2多分支语句 switch,条件语句 if-else,if (boolean-expression)statement1; else statement2; ,条件语句 示例,/ 比较两个指的大小 ,这两个值是传递过来的, /假设他们的初始值 int number1 = 0; int number2 = 1;/持有最大值的变量 int max =0; if (number1 number2) max = number1; else max = number2; / 打印最大值max System.out.println(

10、“The maximum is “ + max);,多分支语句 switch,switch (expression)case value1 : statement1;break;case value2 : statement2;break;case valueN : statemendN;break;default : defaultStatement; ,多分支语句 switch 示例,int score = 80;int scoreVal = (score + 5) / 10;char resChar = ;switch (scoreVal) case 0:if (score 0)resC

11、har = Q;elseresChar = E;break;case 1:resChar = E;break; ,多分支语句 switch 小结,表达式expression的返回值类型必须是这几种类型之一: int,byte,char,short case子句中的值valueN必须是常量,而且所有case子句中的值应是不同的; default子句是可选的; break语句用来在执行完一个case分支后,使程序跳出switch语句,即终止switch语句的执行(在一些特殊情况下,多个不同的case值要执行一组相同的操作,这时可以不用break)。,循环语句,while语句 do-while语句

12、for语句,while语句,initializationwhile (termination)body;iteration;,while语句 示例,public class WhilePro public static void main(String args) int i = 100;int r, s, t;int j = 1;r = 0;s = 0;t = 0;while (i 1000) r = i / 100;s = (i - r * 100) / 10;t = i - r * 100 - s * 10;if (i = r * r * r + s * s * s + t * t *

13、t) System.out.print(i + “ “);i = i + 1; ,do-while语句,initializationdo body;iteration; while (termination);,do - while语句 示例,public class DowhilePro public static void main(String args) int i = 100;int r, s, t;int j = 1;r = 0;s = 0;t = 0;do r = i / 100;s = (i - r * 100) / 10;t = i - r * 100 - s * 10;if

14、 (i = r * r * r + s * s * s + t * t * t) System.out.print(i + “ “);i = i + 1; while (i 1000); ,for语句,for (initialization; termination; iteration)body; ,for语句 示例,public class ForPro public static void main(String args) int i = 8;int r, s;int j;r = 0;s = 0;for (j = 0; j = i; j+) r = j * j;s = j * j *

15、j;System.out.println(“整数为:” + j + “ 对应的平方和:“ + r + “ 对应的立方和:“ + s); ,跳转语句,break语句; continue语句; 返回语句return,break语句,break语句被用来从switch语句、loop语句和预先给定了label的块中退出。,break语句示例,public class BreakTest public static void main(String args) for (int i = 0; i 10; i+) if (i = 3)break;System.out.println(“ i =“ + i)

16、;System.out.println(“ Game Over!“); ,i =0i =1i =2Game Over!,结果,continue语句,continue语句被用来略过并跳到循环体的结尾。,public class ContinueTest public static void main(String args) for (int i = 0; i 100; i+) if (i % 10 = 0)continue;System.out.println(i); , 18 19 21 22 ,结果,小结 break与continue,在循环体中break语句:就是跳出它所在的循环体,并从

17、紧跟该块的第一条语句处执行。 在循环体中continue语句:用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。,返回语句return,return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式: return expression ; return; return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中。,返回语句return 示例,public class Max /* 返回两个数中的最大值* param number1* param number

18、2* return*/public int getMax(int number1, int number2) if (number1 number2) return number1; return number2; ,5.5 数组,数组是有序数据的集合,数组中的每个元素具有相同的数据类型; 数组有一维数组和多维数组。,一维数组,1一维数组定义 2一维数组的初始化,一维数组的定义,type arrayName ; type arrayName; 类型(type)可以为Java中任意的数据类型,包括简单类型和引用类型。 例如: int intArray ; Date dateArray;,一维数组

19、的初始化,静态初始化 int intArray=1,2,3,4; String stringArray=“abc“, “How“, “you“; 动态初始化 : 1)简单类型的数组int intArray; intArray = new int5; 2)引用类型的数组String stringArray ;String stringArray = new String3;/*为数组中每个元素开辟引用空间(32位) */stringArray0= new String(“How“);/为第一个数组元素开辟空间 stringArray1= new String(“are“);/为第二个数组元素开辟

20、空间stringArray2= new String(“you“);/ 为第三个数组元素开辟空间,一维数组元素的引用,数组元素的引用方式为:arrayNameindexindex为数组下标,它可以为整型常数或表 达式,下标从0开始。,一维数组 示例,public class ArrayTest public static void main(String args) / 定义intArray整型数组,数组的维数是一个常数int intArray = new int3;/ 动态初始化intArray数组并输出元素的值for (int i = 0; i = 0; j-) intArrayj = j

21、 * 3;System.out.println(“intArray“ + j + “ = “ + intArrayj); ,多维数组,1二维数组的定义 2二维数组的初始化,二维数组的定义,type arrayName ; type arrayName; type arrayName ;,二维数组的初始化,静态初始化 int intArray =1,2,2,3,3,4,5; 动态初始化 1) 直接为每一维分配空间,格式如下:arrayName = new typearrayLength1arrayLength2;int a = new int23; 2) 从最高维开始,分别为每一维分配空间:ar

22、rayName = new typearrayLength1 ;arrayName0 = new typearrayLength20;arrayName1 = new typearrayLength21;arrayNamearrayLength1-1 = new typearrayLength2n;,示例,1.二维简单数据类型数组的动态初始化如下,int a = new int2 ;a0 = new int3;a1 = new int5; 2.对二维引用数据类型的数组,必须首先为最高维分配引用空间, 然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。例如:String s = n

23、ew String2 ;s0= new String2;/为最高维分配引用空间s1= new String2; /为最高维分配引用空间s00= new String(“Good“);/ 为每个数组元素单独分配空间s01= new String(“Luck“);/ 为每个数组元素单独分配空间s10= new String(“to“);/ 为每个数组元素单独分配空间s11= new String(“You“);/ 为每个数组元素单独分配空间,二维数组元素的引用,对二维数组中的每个元素,引用方式为: arrayNameindex1index2 例如: num10;,二维数组 示例,public cl

24、ass MultiArrayTest public static void main(String args) / 简单数据类型二维数组的静态初始化int arrayObj = 1, 2 , 2, 3 , 3, 4, 5 ;/ 输出时对数组元素的引用System.out.println(arrayObj00 + “ “ + arrayObj01);arrayObj00 = arrayObj00 + arrayObj01;/ 重新输出数组元素的值System.out.println(arrayObj00 + “ “ + arrayObj01); ,5.6 字符串的处理,String类 Strin

25、gBuffer类,String类示例,String sourceStr = “There is a string accessing example.“; int leng = sourceStr.length(); char chObj = sourceStr.charAt(16); int firstChar1 = sourceStr.indexOf(r); int lastChar1 = sourceStr.lastIndexOf(r); int firstStr1 = sourceStr.indexOf(“ing“); int lastStr1 = sourceStr.lastInde

26、xOf(“ing“); int firstChar2 = sourceStr.indexOf(e, 15); int lastChar2 = sourceStr.lastIndexOf(e, 15); int firstStr2 = sourceStr.indexOf(“ing“, 5); int lastStr2 = sourceStr.lastIndexOf(“ing“, 5);,StringBuffer类,String中对字符串的操作不是对源操作串对象本身进行的,而是对新生成的一个源操作串对象的拷贝进行的,其操作的结果不影响源串。相反,StringBuffer中对字符串的连接操作是对源串

27、本身进行的,操作之后源串的值发生了变化,变成连接后的串。,StringBuffer类示例,public static void main(String args) StringBuffer sourceStr = new StringBuffer(“This is a stringbuffer modifying example!“); System.out.println(“Source String:“ + sourceStr); String subStr = “very good!“; char charObj = *; sourceStr.setCharAt(4, charObj);

28、 System.out.println(“After setting char * at 4:“ + sourceStr); sourceStr.deleteCharAt(4); System.out.println(“After deleting char at 4:“ + sourceStr); sourceStr.append(“hello“); System.out.println(“After appending sub string hello:“ + sourceStr); sourceStr.insert(0, subStr); System.out.println(“After inserting sub string:“ + sourceStr); sourceStr.delete(1, 6); System.out.println(“After deleting sub string:“ + sourceStr); ,

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

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

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


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

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

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