1 / 39

第 2 章 Java 语言编程基础

第 2 章 Java 语言编程基础. 主讲:胡伏湘. 复习与思考. 1 、举例说明什么是对象,什么是类,类和对象有什么不同? 2 、举例说明类的继承性。. 2.1 Java 语言的基本组成. 2.1.1 分隔符 1.空白符:换行、回车、空格、 tab 2.注释语句:例题参见 P25 // 一行的注释内容 /*一行或多行的注释内容*/ /**文档注释内容*/ 3.普通分隔符: { } ; , :共 4 种. 2.1 Java 语言的基本组成. 2.1.2 关键字 所有的关键字都是小写的。参见 P25

amaya-kirk
Download Presentation

第 2 章 Java 语言编程基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章Java语言编程基础 主讲:胡伏湘

  2. 复习与思考 • 1、举例说明什么是对象,什么是类,类和对象有什么不同? • 2、举例说明类的继承性。

  3. 2.1 Java语言的基本组成 • 2.1.1 分隔符 1.空白符:换行、回车、空格、tab 2.注释语句:例题参见P25 // 一行的注释内容 /*一行或多行的注释内容*/ /**文档注释内容*/ 3.普通分隔符:{ } ; , :共4种

  4. 2.1 Java语言的基本组成 • 2.1.2 关键字 • 所有的关键字都是小写的。参见P25 • const和goto是java的保留字,但已经不再使用 • then和sizeof都不是java的关键字,大写的NULL不是java语言的关键字,String是java语言的一个封装类的类名,也不是关键字,使用时要注意。

  5. 2.1 Java语言的基本组成 • 2.1.3 Java语言标识符 • 首字符必须是字母(大小写均可)、下划线_或美元符$ • 标识符可以由数字(0--9)、所有从A--Z的大写字母、a--z的小写字母和下划线_、美元符$和所有在十六进制0xc0前的ASCII码等构成 • 长度不限

  6. 2.1 Java语言的基本组成 • 2.1.4 Java的编码规范 包package:包名采用完整的英文描述符,全由小写字母组成 类class和接口interface:类名采用完整的英文描述符,所有单词的第一个字母均大写 组件/部件(Component):使用完整的英文描述来说明组件的用途,末端应接上组件类型

  7. 2.1 Java语言的基本组成 2.1.4 Java的编码规范 • 异常(Exception):通常采用字母 e 表示异常的实例 • 变量variable和方法method:采用完整的英文描述,第一个字母小写,后面任何单词的首字母大写 • 静态常量字段(static final):全部采用大写字母,单词之间用下划线分隔

  8. 2.2 基本数据类型 • 数据类型

  9. 2.2 基本数据类型 • 2.2.1 基本数据类型 1.布尔型boolean 也称为逻辑型,只有两个取值:true表示逻辑真,false表示逻辑假,这种变量称为boolean型变量 ,使用方法实例如下: 2.字符型char char型是用来表示字母的,它仅能表示一个单一的Unicode字母,其值用16位无符号整数表示,范围是0~65535

  10. 2.2 基本数据类型 • 2.2.1 基本数据类型 3.整型 在Java语言中,提供了4种整型数据类型:byte、short、int、long,它们都是定义了一个整数,但它们能够表示数据的范围不同。使用方法实例如下: 4.浮点型 在Java语言中有两种浮点数类型:float、double

  11. 2.2 基本数据类型 • 2.2.2 类型转换 整型、实型、字符型数据可以进行混合运算。运算时,不同类型的数据先转换成同一类型后再参与运算,转换的原则是位数少的类型转换成位数多的类型,称为自动类型转换

  12. 2.3 运算符与表达式 • 2.3.1 算术运算符 1. 双目算术运算符  双目算术运算符包括+、-、*、/和%(取模)五种运算符。 2.单目算术运算符 +,++,-,--

  13. 2.3 运算符与表达式 • 2.3.2 关系运算符 > >= < <= == != 注意:=不是关系运算符,而是赋值运算符

  14. 2.3 运算符与表达式 • 2.3.3 逻辑运算符 &&、|| 为双目运算符,实现逻辑与、逻辑或。 !为单目运算符,实现逻辑非。 对于布尔逻辑运算,先求出运算符左边的表达式的值,对或运算如果为true,则整个表达式的结果为true,不必对运算符右边的表达式再进行运算;同样,对与运算,如果左边表达式的值为false,则不必对右边的表达式求值,整个表达式的结果为false,这种逻辑运算又称为逻辑短路与和逻辑短路或。 其应用见下面例题:

  15. 2.3 运算符与表达式 • 2.3.4 位运算符 ~ 按位取反 & 按位与 | 按位或 ^ 按位异或 >> op1右移op2位 << op1左移op2位 >>> op1无符号右移op2位 位运算实例见例2-6:

  16. 2.3 运算符与表达式 • 2.3.5 赋值运算符= 1.赋值运算符 赋值运算符“=”把一个数据赋给一个变量,在赋值运算符两侧的类型不一致的情况下,进行类型转换 2.扩展赋值运算符 在赋值符“=”前加上其它运算符,即构成扩展赋值运算符

  17. 2.3 运算符与表达式 • 2.3.6 条件运算符 条件运算符 ?:为三目运算符,它的一般形式为: expression? statement1: statement2 例:maxValue:=a>b?a:b

  18. 复习提问 • 1、指出下面的标识符,哪些合法,哪些非法? • char i90 integer_2 71string myFile-2 文件1 • I love Java! • 2、&运算与&&运算有什么区别? • 3、64>>3 = ?

  19. 2.4 数组 • 2.4.1 一维数组 1.一维数组的定义 type arrayName[]; 或 type [] arrayName[]; 2.一维数组元素的引用 定义了一个数组,并用运算符new为它分配了内存空间后,就以引用数组中的每一个元素了。 arrayName=new type[arraySize] 数组元素的引用方式为:arrayName[index] 使用举例:赋值及输出—例2-7

  20. 2.4 数组 • 2.4.1 一维数组 3.一维数组的初始化 intArray.length表示数组intArray的长度 对数组元素可以先声明再进行赋值。也可以在定义数组的同时进行初始化。 如:int arr[]={2,4,6,8,4}; 但int arr[5]={2,4,6,8,4};非法 例2-8:求Fabonacci数组的前10项。 例2-9:冒泡排序法

  21. 2.4 数组 • 2.4.2 多维数组 1.二维数组的定义 type arrayName[][]; 直接分配每维空间:int arr[][]=new int[2][3]; 也可从高维开始,分别为每一维分配空间: int a[][]=new int[2][]; arr[0]=new int[3]; arr[1]=new int[3];

  22. 2.4 数组 • 2.4.2 多维数组 2.二维数组的初始化 • 直接对每个元素赋值 • 如:int a[][]={{2,3},{1,5},{3,4}}; • 定义的同时初始化: int arr[][]={{3,4},{7,1},{-4,12}}; 实例2-10:矩阵的乘法运算

  23. 2.4 数组 • 2.4.3 与数组有关的系统函数(方法) 1.数组复制System.arraycopy() 格式:public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length) arraycopy(source,o,dest,o,x)表示复制源数组中从下标0开始的x个元素到目标数组,从目标数组下标0对应的位置开始存放。 2.数组排序Array.sort() 格式:Array.sort(数组变量名) 功能:将元素由小到大排序,结果仍然放在原数组中。

  24. 2.4 数组 • 实例:数组排序 • public class ArrSort{ • public static void main(String[] args){ • int ia[]=new int[] {4,18,6,10,25,3}; • Arrays.sorts(ia); • for (int i=0;i<ia.length;i++) • System.out.print(ia[i]); • } • }

  25. 复习提问 1、数组下标变量是从哪个数字开始编号的?假如有一个数组a,其长度怎么表示? 2、指出下面数组定义中有没有错误: • int [46] intStudentNo; • int a[][]=new int[][3]; • int a[][]=new int[2][]; • int a[5]={1,2,3,4,5}; 3、定义一个整形数组myArray大小为4,并赋值(任意数),写出代码段

  26. 补充内容 • 例1:命令行参数的使用,从命令行输入参数并执行—数值 • //CommandParamIsInt.java,命令行参数的使用 • public class CommandParamIsInt • { • public static void main(String args[]) • { • int i=Integer.parseInt(args[0]); • int j=Integer.parseInt(args[1]); • int sum=i+j; • System.out.println("你输入的数是: "+i+" 和 "+j); • System.out.println("两数之和是: "+sum); • } • }

  27. 补充内容 • 例2:从命令行输入参数并执行—字符串 • //CommandParamIsChar.java--命令行参数是字符串 • public class CommandParamIsChar • { • public static void main(String args[]) • { • System.out.println(“你在命令行输入的字符串分别是: "+args[0]+" 和 "+args[1]); • } • }

  28. 2.5 控制结构 • 2.5.1 分支语句 1. 条件语句 if-else 格式: if(boolean-expression) statement1; [else statement2;] 实例1:判断今年是否为闰年

  29. 2.5 控制结构 闰年规则:年份用4位数表示且符合2个条件之一 • 1、能被4整除,但不能被100整除; • 2、能被400整除 • 即可以表示为: (year%4==0&&year%100!=0)||(year%400==0)

  30. 2.5 控制结构 • 2.5.1 分支语句 2.多分支选择语句switch switch (expression){ case value1 : statement1;break; case value2 : statement2;break; ………… case valueN : statemendN;break; [default : defaultStatement; ] } 实例2:根据运算符输出结果

  31. 2.5 控制结构 • //SwitchOp.java,根据不同的四则运算符(+、-、*、/),对两个实数执行相应的运算并输出结果。 • public class SwitchOp1{ • public static void main(String args[]){ • float a=9; • float b=3; • float result=0; • char op='+'; • switch(op){ • case '+': result=a+b; • case '-': result=a-b; • case '*': result=a*b; • case '/': result=a/b; • default: result=0; • } • System.out.println("result="+result); • } • }

  32. 2.5 控制结构 • 2.5.1 分支语句 3.break语句:在switch语中,break语句用来终止switch语句的执行,使程序从switch语句后的第一个语句开始执行。 格式1: break //直接中止并退出 格式2:break blockLabel;// blockLabel:代码块 4.返回语句return 格式1:return expression //返回一个值,相当于定义一个函数 格式2:return //不返回任何值,用于void方法

  33. 2.5 控制结构 • //SwitchOp.java,对例2程序的修改 • public class SwitchOp{ • public static void main(String args[]) { • float a=9; • float b=3; • float result; • char op='+'; • switch(op) { • case '+': result=a+b;break; • case '-': result=a-b;break; • case '*': result=a*b;break; • case '/': result=a/b;break; • default: result=0; • } • System.out.println("result="+result); • } • }

  34. 2.5 控制结构 • 2.5.2 循环语句 1.while语句 格式: [initialization] while (terminationCondition){ body; [iteration;] //反复执行或者返回结果 }

  35. 2.5 控制结构 • 2.5.2 循环语句 2.do-while语句 格式: [initialization] do { body; [iteration;] } while (terminationCondition);

  36. 2.5 控制结构 • 2.5.2 循环语句 3.for语句 格式: for (initialization; terminationCondition; iteration){ body; }

  37. 2.5 控制结构 • 2.5.2 循环语句 4.continue语句 格式1:continue; 格式2:用continue跳转到括号指明的外层循环中:continue outerLable; outer: for( int i=0; i<10; i++ ){ //外循环 for( int j=0; j<20; j++ ){ //内循环 if( j>i ){ …… continue outer;} …… } …… }

  38. 2.5 控制结构 • 2.5.2 循环语句 • 实例3:输出1—20之内的单数 public class ContinueOp { public static void main(String args[]) { int n; for(n=1;n<=10;n++){ if (n%2==0) System.out.println("n="+n);} } } continue;

  39. 2.5 控制结构 • 2.5.2 循环语句 • 实例4:计算10的阶乘,DoWhileOp.java public class DoWhileOp { public static void main(String args[]) { int n=10; result=1; do result*= ; while(n>=1); System.out.println("10!="+result); } } long n--

More Related