JavaJDK6学习笔记——ppt简体版第03章.ppt_第1页
JavaJDK6学习笔记——ppt简体版第03章.ppt_第2页
JavaJDK6学习笔记——ppt简体版第03章.ppt_第3页
JavaJDK6学习笔记——ppt简体版第03章.ppt_第4页
JavaJDK6学习笔记——ppt简体版第03章.ppt_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第3章 语法入门 第一个Java程序 文本模式下与程序互动 数据、运算 流程控制 第一个Java程序 定义类别(Class) 定义区块(Block) 定义main()方法(Method) 撰写陈述(Statement) public class HelloJava public static void main(String args) System.out.println(“嗨!我的第一个Java程序!“); 给C使用者的第一個Java程序 给了C使用者类似printf()的功能 public class HelloJavaForC public static void main(String args) System.out.printf(“%s! 这是您的第一个Java程序!n“, “C语言Fan“); System.out.printf(“%s! 这是您的第二个Java程序!“, “C语言Fan“).println(); System.out.printf(“%s! 这是您的第%d 个Java程序!n“, “C语言Fan“, 3); 为程序加入批注 原始码档案中被标注为批注的文字,编译 程序不会去处理它 /*作者:良葛格 * 功能:示范printf()方法 * 日期:2005/4/30 */ public class ThirdJavaForC public static void main(String args) / printf()是J2SE5.0的新功能,必须安裝JDK5.0才能编译 System.out.printf(“%s! 这是您的第%d个Java程序!n“, “C语言Fan“, 3); 为程序加入批注 不能用巢状方式来撰写多行批注 多行批注可以包括单行批注 /*批注文字1blabla /* 批注文字2blabla */ */ /*批注文字1blabla /批注文字2blabla */ 使用Scanner取得输入 在J2SE 5.0中,可以使用java.util.Scanner 类别取得使用者的输入 可以使用这个工具的next()功能,来取得用 户的输入字符串 Scanner scanner = new Scanner(System.in); System.out.print(“请输入您的名字:“); System.out.printf(“哈啰!%s!n“, scanner.next(); System.out.print(“请输入一个数字:“); System.out.printf(“您输入了%d!n“, scanner.nextInt(); 使用BufferedReader取得输入 BufferedReader建构时接受java.io.Reader 物件 可使用java.io.InputStreamReader BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(System.in); System.out.print(“请输入一列文字,可包括空白: “); String text = bufferedReader.readLine(); System.out.println(“您输入的文字: “ + text); 标准输入输出串流 System类别中的静态物件out 提供标准输出串流(Stream)输出 通常对应至显示输出(终端机输出) 可以将输出重新导向至一个档案 java HelloJava HelloJavaResult.txt System标准输入串流in 在程序开始之后它会自动开启,对应至键盘或 其它的输入来源 标准输入输出串流 标准错误输出串流err 在程序执行后自动开启,将指定的字符串输出 至显示设备或其它指定的装置 err会立即显示错误讯息 err输出串流的讯息不会被重新导向 System.out.println(“使用out输出讯息“); System.err.println(“使用err输出讯息“); java ErrDemo ErrDemoResult.txt 使用err输出讯息 输出格式控制 控制字符作用 反斜杠 单引号 “双引号“ uxxxx以16进位数指定Unicode字符输出 xxx以8进位数指定Unicode字符输出 b倒退一个字符 f换页 n换行 r游标移至行首 t跳格(一个Tab键) System.out.println(“u0048u0065u006Cu006Cu006F“); 输出格式控制 若是使用J2SE5.0或更高的版本 /输出19的十进制表示 System.out.printf(“%d%n“, 19); /输出19的八进制表示 System.out.printf(“%o%n“, 19); /输出19的十六进制表示 System.out.printf(“%x%n“, 19); 格式字符作 用 %在字符串中显示% %d以10进位整数方式输出,提供的数必须是Byte、Short、 Integer、Long、 或BigInteger %f将浮点数以10进位方式输出,提供的数必须是Float、Double或 BigDecimal %e, %E将浮点数以10进位方式输出,并使用科学记号,提供的数必须是Float、 Double或BigDecimal %a, %A使用科学记号输出浮点数,以16进位输出整数部份,以10进位输出指数 部份,提供的数必须是Float、Double、BigDecimal %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“ %t, %T输出日期/时间的前置,详请看在线API文件 输出格式控制 可以在输出浮点数时指定精度 System.out.printf(“example:%.2f%n“, 19.234); example:19.23 可以指定输出时,至少要预留的字符宽度 System.out.printf(“example:%6.2f%n“, 19.234); example: 19.23 补上一个空白在前端 基本的数据型态(Primitivetype) 整数 短整数(short)(占2个字节) 整数(int)(占4个字节) 长整数(long)(占8个字节) 字节 专门储存位数据 占一个字节 浮点数 浮点数(float)(占4个字节) 倍精度浮点数(double)(占8个字节) 基本的数据型态(Primitivetype) 字符 采Unicode编码 前128个字符编码与ASCII编码兼容 每个字符数据型态占两个字节 可储存的字符范围由u0000到uFFFF 布尔数 占内存2个字节 可储存true与false两个数值 基本的数据型态(Primitivetype) System.out.printf(“short t数值范围:%d %dn“, Short.MAX_VALUE,Short.MIN_VALUE); System.out.printf(“int t数值范围:%d %dn“, Integer.MAX_VALUE, Integer.MIN_VALUE); System.out.printf(“long t数值范围:%d %dn“, Long.MAX_VALUE, Long.MIN_VALUE); System.out.printf(“byte t数值范围:%d %dn“, Byte.MAX_VALUE, Byte.MIN_VALUE); System.out.printf(“float t数值范围:%e %en“, Float.MAX_VALUE, Float.MIN_VALUE); System.out.printf(“double t数值范围:%e %en“, Double.MAX_VALUE, Double.MIN_VALUE); 变数、常数 在Java中要使用变量,必须先宣告变量名 称与数据型态 使用int、float、double、char等关键词来宣 告变量名称并指定其数据型态 不可以使用数字作为开头 不可以使用一些特殊字符,像是* /宣告一个整数变量 double scope; /宣告一个倍精度浮点数变量 变数、常数 鼓励用清楚的名称来表明变量的作用 不可以宣告变量后,而在未指定任何值给 它之前就使用它 编译程序在编译时会回报这个错误 int ageOfStudent; int ageOfTeacher; variable var might not have been initialized 变数、常数 使用指定运算符=来指定变数的值 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); 变数、常数 宣告变量名称的同时,加上“final”关键词来 限定 这个变量一但指定了值,就不可以再改变 它的值 final int maxNum = 10; maxNum = 20; cannot assign a value to final variable maxNum 算术运算 加(+)、减(-)、乘(*)、除(/)、余 除运算符(%) System.out.println(1 + 2 * 3); System.out.println(1+2+3 / 4); System.out.println(double)(1+2+3) / 4); 算术运算 这段程序会印出什么结果? 使用下面的方法 int testNumber = 10; System.out.println(testNumber / 3); int testNumber = 10; System.out.println(testNumber / 3.0); System.out.println(double) testNumber / 3); 算术运算 将精确度大的值指定给精确度小的变量时 ,由于在精确度上会有遗失,编译程序会 认定这是一个错误 int testInteger = 0; double testDouble = 3.14; testInteger = testDouble; System.out.println(testInteger); possible loss of precision found : double required: int testInteger = testDouble 1 error 算术运算 必须明确加上转换的限定字,编译程序才 不会回报错误 %运算符是余除运算符 testInteger =(int) testDouble; count = (count + 1) % 360; 比较、条件运算 大于()、不小于(=)、小于( 5结果“ + (10 5); System.out.println(“10 = 5结果“ + (10 = 5); System.out.println(“10 = 60 ? 是 : 否); System.out.println(“是否为奇數? “ + (number%2 != 0 ? 是 : 否); 逻辑、位运算 且( System.out.println(number 70 System.out.println( “2的0次: “ + number); number =number =a = ba = a b if条件式 语法 复合陈述句 if(条件式) 陈述句一; else 陈述句二; if(条件式) 陈述句一; 陈述句二; else 陈述句三; 陈述句四; if条件式 Scanner scanner = new Scanner(System.in); System.out.print(“请输入数字: “); int input = scanner.nextInt(); int remain = input % 2; /求除2的余数 if(remain = 1) /如果余数为1 System.out.println(input +“为奇數“); else System.out.println(input +“为偶數“); if条件式 if中再设定执行的条件 if(条件式一) 陈述句一; if(条件式二) 陈述句二; 陈述句三; if(条件式一) 陈述句一; /其它陈述句 else if(条件式二) 陈述句二; if(条件式一) 陈述句一; /其它陈述句 else if(条件式二) 陈述句二; if条件式 Scanner scanner = new Scanner(System.in); System.out.print(“输入分数:“); int score = scanner.nextInt(); if(score = 90) System.out.println(“得A“); else if(score = 80 else System.out.println(“得E(不及格)“); switch条件式 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(不及格)“); for循环 基本语法 for(初始式;判断式;递增式) 陈述句一; 陈述句二; for(int j = 1; j 10; j+) for(int i = 2; i 10; i+) System.out.printf(“%d*%d=%2d “,i, j, i * j); System.out.println(); for循环 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 : ); while循环 Scanner scanner = new Scanner(System.in); int score = 0; int sum = 0; int count = -1; while(score != -1) count+; sum += score; System.out.print(“输入分数(-1结束):“); score = scanner.nextInt(); System.out.println(“平均:“ + (double) sum/count) while循环 Scanner scanner = new Scanner(System.in); int input = 0; i

温馨提示

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

评论

0/150

提交评论