




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序语言基础以及java基础,程序语言基础,常量 变量 流程控制 数组,流程控制,选择 - if-else - switch 重复(循环) - while - do-while - for,跳转 - break - continue 其它语句 - return,if语句,if (条件) 语句1; else 语句2;,if (条件) 语句组; else 语句组; ,public class SignFunction public static void main(String args) int intx; intx=0; if(intx0) System.out.println(intx+“ is + ;“); else if(intx0) System.out.println(intx+“ is - ;“); else System.out.println(intx+“ is 0 ;“); ,switch语句,switch(表达式) case 常量值 1: 语句(组); break; case 常量值 2: 语句(组); break; case 常量值 N: 语句(组); break; default: 语句(组); ,表达式必须为byte,short,int或char类型,常量值必须是与表达式类型兼容,且不能重复,break跳出case语句段,若所有的case都不匹配,则可去执行default语句,循环结构,1、while 循环 while(条件) 语句组; 2、do-while循环 do 语句组; while(条件); 3、for 循环 for(变量初始化; 条件; 递增或递减变量的值) 语句组; ,注意:两者的区别,1先判断条件,成立才执行。2先执行在判断条件。,for循环语句,for语句的执行过程,(1) 当循环启动时,先执行其初始化部分即initialization 。通常,这是设置循环控制变量值的一个表达式,作为控制循环的计数器。重要的是你要理解初始化表达式仅被执行一次。 (2)计算条件condition的值。条件condition必须是布尔表达式。它通常将循环控制变量与目标值相比较。如果这个表达式为真,则执行循环体body;如果为假,则循环终止。 (3)执行循环体的反复部分即iteration,这部分通常是增加或减少循环控制变量的一个表达式。 (4)接下来重复循环,首先计算条件condition的值,然后执行循环体,接着执行反复表达式。这个过程不断重复直到控制表达式变为假。,while循环语句,while语句的执行过程,判断控制表达式condition的值,当其是真时,while语句重复执行一个语句或语句块。其中条件condition可以是任何布尔表达式。只要条件表达式为真,循环体就被执行。当条件condition为假时,程序控制就传递到循环后面紧跟的语句行。若只有单个语句需要重复,大括号则是不必要的。,do-while循环语句,do-while语句的功能,先执行循环体,然后再计算条件表达式condition 。如果表达式为真,则循环继续。否则,循环结束。对所有的Java循环都一样,条件condition必须是一个布尔表达式。,其他语句,label:语句块 :用于给程序块取名字。 break :语句在循环中用于立即从当前循环终止执行,结束当前循环的执行。 continue :语句则是从其调用处跳至循环的开始处,结束本次循环,继续执行下一次循环, continue 语句之后的语句将不再执行。,一维数组的定义,数组类型 数组名; 或 数组类型 数组名; 数组类型可为Java中的任何数据类型。 数组名,必须符合标识符定义规则。 “”指明该变量是一个数组类型的变量,可放到数组名后面,也可放到数组名前。,int student; int student;,一维数组的初始化,使用new分配内存空间,并按照数组的类型,为每一个数组元素建立默任值。 int student ; student=new int10; 或 int student=new int10;,一维数组的引用,引用格式为: 数组名下标 int a=new int10; int b=a0+a9; 数组下标为从0到9。如果调用了a10,程序运行时将提示错误: java.lang.ArrayIndexOutOfBoundsException,一维数组的使用,class qiuhe public static void main(String args) int a=5,8,2,4,1,9,78; System.out.println(“The min is:“+minnum(a); static int minnum(int num) int min=num0; for(int i=0;inumi) min=numi; return min; ,注意:两者的区别,1先判断条件,成立才执行。2先执行在判断条件。,二维数组的定义,定义格式为: 数组类型 数组名; 或 数组类型 数组名; 或 数组类型 数组名;,int array_name ; 或 int array_name; 或 int array_name ;,数组的数组,二维数组的初始化,(1)直接为每一维分配空间,例如: int a=new int32; (2)高维开始,分别为每一维分配空间,例如:int a =new int3; a0=new int2; a1=new int3; a2=new int4; (3)数组常量初始化,例如: int a=1,2,3,4,5,6;,二维数组的引用,引用格式为: 数组名下标2 下标1; 下标1,下标2分为二维数组的第一、二维下标,同一维数组一样,也可为整型常量和表达式,并且数组下标都从0开始。,int a=1,2,3,4,5,6,7,8,9,10,11,12; System.out.println(“数组a各元素的值为:“); for(int i=0;i4;i+) for(int j=0;j3;j+) System.out.print(aij+“t“); System.out.println(); ,数组的一些方法,System类中的静态方法arraycopy() 。 Arrays类中的方法 。 排序方法sort(Object arrayname ) 二分查找方法 binarySearch(Object a,Object key),Java知识,Java基本知识 异常、IO和多线程 图形用户界面 深入话题,Java基本知识,Java介绍 Java基础 面向对象基本理论 类和对象 初始化和清除 多态性,三个专题,异常 IO 线程与多线程,图形用户界面,Java Applet GUI application,Java Swing Event model,深入话题,数据库基础知识 JDBC 实战练习,推荐书籍资料,Thinking In Java,Bruce Eckel Core Java 2 ,Java来历,Java语言的发展(1),1991年由James Gosling负责开发的一个分布式代码系统(Oak),最初是为家用消费电子产品(电冰箱、电视机等)进行编程控制 。 1993年Sun 公司将目标市场转向Internet 。 1994年将Oak语言更名为Java。 1995年Java被正式发布,之后立即引起极大的轰动。,Java语言的发展(2),自从于1995年被正式推出之后,Java语言就以其独特的优势迅猛发展,经过短短10来年时间,成为迄今为止最为优秀的面向对象语言。Java也从当初的一种语言而逐渐形成一种产业,基于Java语言的J2EE架构已成为微软.NET平台的强大竞争对手。 当初,Java语言最初的发布不亚于一场革命,但是它并不标志着Java快速革新时代的结束。在Java 1.0发布后不久,Java的设计者就已经制定出了Java 1.1、 Java 1.2、 Java 1.3、 Java 1.4 、Java 1.5,程序语言的4个层次,Machine C/C+, Pascal Perl, basic Shell Which level is Java in?,Java Platform 2,J2SE: Standard Edition J2EE: Enterprise Edition J2ME: Mirco Edition,字节码,*.class文件与机器码不同,不是真正的CPU可运行的指令代码,故又称伪代码。 通过JVM以及JRE将其转成本地机器代码,达到一次撰写,到处运行的效益。 (Write Once,Run Anywhere),Java虚拟机,实现平台无关性的基础就是Java虚拟机,是以Java字节码为指令组的软CPU。负责对本地*.class文件解释执行。 包含类加载器、字节确认器、以及JIT实时编译器。 类加载器:用来取得从网络或本地的类文件。 字节确认器:确认类文件是否有正确的格式。 JIT:使虚拟机能提高到编译式的运行效率。,Java环境,Java 源程序,编译,字节码 文件,Java 虚拟机,执行,Linux,Windows,Mac,Java平台,The Java Virtual Machine (Java VM) The Java Application Programming Interface (Java API),Java目前的主要应用,众多软件开发商支持Java软件产品。 面向对象的应用开发。 企业级软件开发。 动态画面的设计,包括图形图像的调用。 手机游戏,应用程序开发。 其他语言能做的事,Java都能做,Java语言的特点1,简单性 面向对象 分布式处理 健壮性 结构中立 安全性,系统精简,但功能齐备。 风格类似于C+,对C+程序员而言非常容易掌握。 Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理; 提供丰富的类库。,完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,支持TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。,提供面向对象的异常处理机制,在编译时能对Null指针检测、数组边界检测、异常出口字节代码校验等。 自动垃圾收集来进行内存管理。,将源程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。,Java语言提供的安全。 编译器提供的安全。 字节码校验。 类装载。,Java语言的特点2,可移植性 解释性 高性能 多线程 动态,Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,而与体系结构无关。,Java编译器将java源文件生成类文件.class,类文件可通过java命令解释执行,将Java字节码转换为机器码。,JIT编译器。可以提高 Java 代码的执行速度。,内置多线程功能,使得在一个程序里可同时执行多个小任务。带来的好处是更好的交互性和实时控制性。,允许程序动态地装入运行过程中所需要的类,这是C+语言进行面向对象程序设计所无法实现的。,跨平台/可移植,Cross Platform/Portable Portable: the dream from UNIX and C to Java JVM Unique data type Int: 32-bit Char: Unicode,Capacity: high or low?,Low: Interpreted Code check Stack machine High JIT Mutil-thread Byte code simple design,Stable and secure,No point Index check Auto memory management,Simple: KISS,C+ like No point Auto memory check,Pure OOP,Java = C+ - Mutil-inheritance Virtual inheritance Template Operator overloading,Java与C+的比较,第一个Java程序,class HelloWorld public static void main(String args) System.out.println(“HelloWorld”); ,编译与运行Java程序,安装JDK 设置PATH javac HelloWorld.java javac 编译结果:HelloWorld.class java HelloWorld java 千万不要java ,Java程序结构,(1)至多有一个public类,文件名必须与类名相同。 (2)程序可以有一个或多个其它类。 (3)当需要从某个类继承或使用某个类及其方法时,使用import引入该类的定义。 (4)Java程序组成结构 package /0个或1个,必须放在文件开始 import /0个或多个,必须放在所有类定义之前 public classDefinition /0个或1个,文件名必须与类名相同 classDefinition /0个或多个 interface Definition /0个或多个,使用命令行工具,文本编辑程序(记事本、UltraEdit) 进入命令行模式 java version javac xxx.java java xxx(类名),使用集成开发工具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东中山大学附属口腔医院工勤事务岗工作人员(驾驶员)招聘1人考前自测高频考点模拟试题及答案详解参考
- 2025北京海淀镇社区卫生服务中心招聘15人考前自测高频考点模拟试题及参考答案详解
- 2025江西南昌市青山湖区招聘社区工作者(专职网格员)45人模拟试卷含答案详解
- 小学安全培训新闻课件
- 安全培训教师对学员评价课件
- 2025湖南湘潭韶山旅游发展集团酒店管理有限公司招聘考前自测高频考点模拟试题及答案详解(有一套)
- 2025年伊春金林区公益性岗位招聘16人模拟试卷及答案详解(典优)
- 广东省【中职专业高考】2025年中职高考对口升学(理论考试)真题卷【交通运输大类】模拟练习
- 安全培训教学启发课件
- Imirestat-Standard-生命科学试剂-MCE
- 中建八局《建筑工程质量管理口袋书~基础、主体结构、装饰分册》
- 银行外包服务管理应急预案
- 2025新修订《代表法》五大亮点解读
- 通信有限公司FY02绩效考核办法
- 【西安交通大学】2025年电力人工智能多模态大模型创新技术及应用报告
- 宪法伴我们成长主题班会课件
- 2024抖音护肤行业白皮书
- 电力工程施工进度及安全保障措施
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
- 装修合同意向协议书
- 商铺转租赁合同范本
评论
0/150
提交评论