Java-第03章-基础语法.ppt_第1页
Java-第03章-基础语法.ppt_第2页
Java-第03章-基础语法.ppt_第3页
Java-第03章-基础语法.ppt_第4页
Java-第03章-基础语法.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 基础语法 专注成就未来 第3章 3.1 类型、变量与运算符 3.2 流程控制 3.3 重点复习 3.4 课后练习 专注成就未来 3.1.1 类型 Java 类型 体系 基本类型类类型null 字符数值布尔class interfacearray 整数 浮点数 byteshortintlongfloatdouble 专注成就未来 基本的数据类型(Primitive type) v整数 短整数(short)(占2个字节) 整数(int)(占4个字节) 长整数(long)(占8个字节) v字节(byte) 专门储存位数据 占一个字节(可表示-128-127的整数) v浮点数 单精度浮点数(float)(占4个字节) 双精度浮点数(double)(占8个字节) 专注成就未来 基本的数据类型(Primitive type) v 字符 (char) 采用Unicode编码 每个字符数据类型占两个字节,汉字和英文字符都是 用两个字节存储 可储存的字符范围由u0000到uFFFF v 布尔数 (boolean) 占内存2个字节 可储存true与false两个数值 专注成就未来 基本的数据类型(Primitivetype) System.out.printf(“%d%d%n“, Byte.MIN_VALUE ,Byte.MAX_VALUE); System.out.printf(“%d%d%n“, Short.MIN_VALUE ,Short.MAX_VALUE); System.out.printf(“%d%d%n“, Integer.MIN_VALUE ,Integer.MAX_VALUE); System.out.printf(“%d%d%n“, Long.MIN_VALUE ,Long.MAX_VALUE); System.out.printf(“%d%d%n“, Float.MIN_EXPONENT ,Float.MAX_EXPONENT); System.out.printf(“%d%d%n“,Double.MIN_EXPONENT ,Double.MAX_EXPONENT); System.out.printf(“%h%h%n“,Character.MIN_VALUE ,Character.MAX_VALUE); System.out.printf(“%b%b%n“, Boolean.TRUE ,Boolean.FALSE); ch03Range.java 专注成就未来 Java的批注 v单行注释符号:/ v多行注释符号:/*与*/ 专注成就未来 为程序加入注释 v 注意:1.多行注释不能嵌套 v 2.多行批注可以包括单行注释 /*批注文字1blabla /* 批注文字2blabla */ */ /* 批注文字1blabla /批注文字2blabla */ 专注成就未来 Java的标准输出 v 使用System类的静态对象out实现输出。该对象常用3 个输出方法 1.print(输出的内容);输出后不换行 2.println(输出的内容);输出后换行 3.printf(输出格式,输出内容);C语言中的输出函数 输出格式控制符号见下表 专注成就未来 格式字符作 用 %在字符串中显示% %d以10进位整数方式输出,提供的数必须是Byte、Short、 Integer、Long、或 BigInteger %f将浮点数以10进位方式输出,提供的数必须是Float、Double或 BigDecimal %e, %E将浮点数以10进位方式输出,并使用科学记号,提供的数必须是Float、 Double或 BigDecimal %h, %H以16进位格式输出 %o以8进位整数方式输出,提供的数必须是Byte、Short、 Integer、Long、或 BigInteger %x, %X将浮点数以16进位方式输出,提供的数必须是Byte、Short、 Integer、Long、或 BigInteger %s, %S将字符串格式化输出 %c, %C以字符方式输出,提供的数必须是Byte、Short、Character或 Integer %b, %B将“true“或“false“输出(或“TRUE“、“FALSE“,使用 %B)。另外,非null值输出是 “true“,null值输出是“false“ %n换行 专注成就未来 输出格式控制 v可以在输出浮点数时指定精度 System.out.printf(“example:%.2f%n“, 19.234); example:19.23 v可以指定输出时,至少要预留的字符宽度 System.out.printf(“example:%6.2f%n“, 19.234); example: 19.23 补上一个空格在前端 专注成就未来 3.1.2 变量 v 在Java中要使用变量,必须先声明变量名称与数据类型 v 使用int、float、double、char等关键词来声明变量名称 并指定其数据类型 不可以使用数字作为开头 不可以使用一些特殊字符,像是* /声明一个整数变量 double scope; /声明一个倍精度浮点数变量 专注成就未来 变量 v 鼓励用清楚的名称来表明变量的作用 v 强调:不可以声明变量后,而在未指定任何值给它之前就 使用它 v 编译程序在编译时会汇报这个错误 int ageOfStudent; int ageOfTeacher; variable var might not have been initialized 变量 var 可能尚未初始化 专注成就未来 变量 v 使用赋值运算符=来指定变量的值 int ageOfStudent = 5; double scoreOfStudent = 80.0; char levelOfStudent = B; System.out.println(“年級t得分t等級“); System.out.printf(“%4dt %4.1ft %4c“, ageOfStudent, scoreOfStudent, levelOfStudent); 专注成就未来 变量 v 声明变量名称的同时,加上“final”关键词来限定 v 这个变量一但指定了值,就不可以再改变它的值 final int maxNum = 10; maxNum = 20; cannot assign a value to final variable maxNum (不能给final变量 maxNum 赋值) 专注成就未来 2.字面常量 v 何谓字面常量? v 12、0xC、014、0.00123、 v 1.23e-3、S、林 v 常用转义符号 专注成就未来 常用转义符号 控制字符作用 反斜杠 单引号 “双引号“ uxxxx以16进位数指定Unicode字符输出 xxx以8进位数指定Unicode字符输出 b倒退一个字符 f换页 n换行 r游标移至行首 System.out.println(“u0048u0065u006Cu006Cu006F“); 专注成就未来 3.JDK7数字常量表示法(了解) v 特点:表示数值常量时可以使用下划线 专注成就未来 3.1.3 运算符 v 1.算术运算符 v 加(+)、减(-)、乘(*)、除(/)、余除运算符(% ) System.out.println(1 + 2 * 3); System.out.println(2+2+8 / 4); System.out.println(double)(2+2+8) / 4); 专注成就未来 2.比较、条件运算 v 大于()、不小于(=)、小于( 5结果%b%n“ , (10 5); System.out.printf(“10 = 5结果%b%n“ , (10 = 5); System.out.printf(“10 = 60 ? 是 : 否 ); System.out.printf(“是否为偶数? %c%n“ , (number%2 != 0 ? 是 : 否); 专注成就未来 逻辑运算 v 与( System.out.println(number 70 System.out.println( “2的0次: “ + number); number =number 的结果是什么 专注成就未来 递增、递减运算 v 递增、递减运算符 v 将递增或递减运算符撰写在变量之前或变量之后 int i = 0; System.out.println(+i); System.out.println(-i); int i = 0; int number = 0; number = +i; /i = i + 1; number = i; System.out.println(number); number = -i; /i = i - 1; number = i; System.out.println(number); 专注成就未来 递增、递减运算 v 将递增或递减运算符撰写在变量之前或变量之后 int i = 0; int number = 0; number = i+; /相当于number = i; i = i + 1; System.out.println(number); number = i-; /相当于number = i; i = i - 1; System.out.println(number); 专注成就未来 赋值运算符 指定运算符范 例结 果 +=a += ba = a + b -=a -= ba = a - b *=a *= ba = a * b /=a /= ba = a / b %=a %= ba = a % b 错误原因? 专注成就未来 几个细节 v 细节2.不同精度的运算对象来运算,java规定,其运算 结果取精度高的对象。 v 细节3.如果操作数都是不大于int的整数,系统会自动全 部提升为int类型进行运算。 short a=1; short b=2; short c=a+b; /编译失败 解决办法: short c=(short)a+b; 专注成就未来 算术运算 v 这段程序会输出什么结果? v 使用下面的方法 int testNumber = 10; System.out.println(testNumber / 3); int testNumber = 10; System.out.println(testNumber / 3.0); System.out.println(double) testNumber / 3); 专注成就未来 v 细节4. int count=0; while(true) if(count+1Integer.MAX_VALUE) count=0; else count+; 专注成就未来 3.2 流程控制 A B AB 条件 条件A Y N (a)顺序结构(b)分支结构(c)循环结构 专注成就未来 3类语句 v 分支语句 a、if语句;b、switch语句 v 循环语句 a、 for语句; b、 while语句; v 跳转语句 a、break语句;b、continue语句; 专注成就未来 if条件式 v 语法 v 复合语句句 if(条件式) 语句句一; else 语句句二; if(条件式) 语句句一; 语句句二; else 语句句三; 语句句四; 专注成就未来 if条件式 public static void main(Stringargs) int input=10; int remain=input%2; if(remain=1) System.out.printf(“%d为奇数%n“, input); else System.out.printf(“%d为偶数%n“, input); 专注成就未来 If嵌套 if(条件式一) 语句句一; if(条件式二) 语句句二; 语句句三; if(条件式一) 语句句一; /其它语句句 else if(条件式二) 语句句二; if(条件式一) 语句句一; /其它语句句 else if(条件式二) 语句句二; 专注成就未来 Ifelse if语句 public static void main(Stringargs) int score = 88; char level; if(score = 90) level=A; else if(score = 80 else level=E; System.out.printf(“得分等级:%c%n“, level); 专注成就未来 switch条件式 v switch的语法架构 switch(变量名称或表达式) case符合数字或字符: 语句句一; break; case符合数字或字符: 语句句二; break; default: 语句三; Scanner scanner = new Scanner(System.in); System.out.print(“请输入分數: “); int score = scanner.nextInt(); int level = (int) score/10; switch(level) case 10: case 9: System.out.println(“得A“); break; case 8: System.out.println(“得B“); break; case 7: System.out.println(“得C“); break; case 6: System.out.println(“得D“); break; default: System.out.println(“得E(不及格)“); import java.util.Scanner; 专注成就未来 v Switch语句只取出1次变量的值,比if语句效率高。 专注成就未来 循环语句 v for语句 执行初始化 布尔表达式 循环体 修正表达式 true false 专注成就未来 for循环 v 基本语法 for(初始式;判断式;递增式) 语句句一; 语句句二; for(int i = 1; i = 10; i+) System.out.println(i); codech03SimpleLoopFor.java codech03NineTable.java 专注成就未来 for循环 v for括号中的每个语句区块是以分号;作区隔,而在一个 语句区块中若想写两个以上的语句句,则使用逗号,作区 隔 for (int i = 2, j = 1; j 10; i = (i=9)?(+j/j)+1):(i+1) System.out.printf(“%d*%d=%2d%c“, i, j, i * j, (i=9 ? n : ); 专注成就未来 循环语句 v while语句 布尔表达式 循环体语句 true false 专注成就未来 循环 3-1 while 只要指定的条件评估为 true,while 循环则执行一个 语句或一组语句 语法 while(true) int number=(int)(Math.random()*10); System.out.println(number); if(number=5) System.out.println(“i hit 5“); break; 示例 while (测试) / 语句 被执行 条件 = true 专注成就未来 循环语句 v dowhile语句 循环体语句 布尔表达式 false true 专注成就未来 循环 3-2 do-while do-while 循环执行某些语句,直到指定的条件为真。此循 环确保循环体至少执行一次 语法 int number; do number=(int)(Math.random()*10); System.out.println(number)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论