第一章Java语言基本结构

合集下载

第1章Java 语言基础知识

第1章Java 语言基础知识
第1章Java 语言基础知识
2
目录
1.1 Java语言与面向对象的程序设计 1.2 Java5和Java6的新特色 1.3 Java程序概述 1.4 基本数据类型与表达式 1.5 数组的概念 1.6 数组的创建和引用 1.7 本章小结
3
1.1 Java语言与面向对象的程序设计
• Java语言是一个面向对象的程序设计语言。 • 除了面向对象的特点以外,Java语言还在安全性、
19
1.3.1 Java开发环境(续)
• Java 平台
Java 程序 Java APIs
Java 虚拟机
计算机系统
• Java APIs (应用程序接口)
▫ 经过编译的,可在程序中使用的Java代码标准库。
• Java VM(虚拟机)
▫ Java 程序由Java虚拟机程序执行(或解释执行)。
1.3 Java程序概述
}
1.1 Java语言与面向对象的程序设计
8
1.1.1 面向对象的程序设计思想(续)
• 面向对象技术给软件发展带来的益处
▫ 可重用性 ▫ 可靠性
• 面向对象语言的基本特征
▫ 抽象和封装 ▫ 继承性 ▫ 多态性
1.1 Java语言与面向对象的程序设计
9
1.1.2 Java语言的特点
• 面向对象 • 安全性
▫ Servlet用到的包在J2EE的API中能找到 ▫ 所有的servlet都必须实现Servlet接口
1.3 Java程序概述
36
1.3.4 Servlet举例(续)
——例1-3
程序首先构建HttpServletRequest,并建立一个数据表 单;点击submit按钮后,servlet再次被调用,并产生一个 含有表单的网页。

java各章习题答案

java各章习题答案

java各章习题答案Java各章习题答案在学习Java编程语言的过程中,习题是非常重要的一部分。

通过习题,我们可以巩固所学的知识,加深对语言特性和用法的理解。

在每一章的学习结束后,我们都会遇到一系列的习题,这些习题涵盖了本章的知识点,帮助我们检验自己的掌握程度。

下面我们来看一下Java各章习题的答案。

第一章:Java基础知识1.1 什么是Java编程语言?Java是一种面向对象的编程语言,由Sun Microsystems公司于1995年推出。

它具有跨平台性和安全性等特点。

1.2 Java程序的基本结构是什么?Java程序的基本结构包括包名、导入语句、类声明、主方法和其他方法。

1.3 Java中的数据类型有哪些?Java中的数据类型包括基本数据类型和引用数据类型。

基本数据类型包括整型、浮点型、字符型和布尔型。

1.4 Java中的控制语句有哪些?Java中的控制语句包括if语句、switch语句、while循环、for循环等。

第二章:面向对象编程2.1 什么是面向对象编程?面向对象编程是一种程序设计范式,它将数据和方法封装在对象中,通过对象之间的交互来实现程序的功能。

2.2 Java中的类和对象有什么区别?类是一种抽象的概念,它用来描述对象的属性和行为;对象是类的实例,它具体描述了类的属性和行为。

2.3 Java中的继承和多态是什么?继承是一种类与类之间的关系,它允许一个类继承另一个类的属性和方法;多态是一种对象的多种形态,它允许同一个方法在不同的对象上具有不同的行为。

2.4 Java中的封装和抽象是什么?封装是一种将数据和方法封装在对象中的机制,它可以保护数据的安全性;抽象是一种将对象的共性特征提取出来的机制,它可以提高代码的复用性。

第三章:异常处理3.1 什么是异常?异常是程序在运行过程中发生的错误或意外情况,它可能导致程序的中断或崩溃。

3.2 Java中的异常处理机制有哪些?Java中的异常处理机制包括try-catch语句、throw语句和throws关键字等。

第1章 Java语言概述

第1章 Java语言概述

第1章Java语言概述本章知识目标:❑了解面向对象程序设计的特性。

❑掌握Java应用程序和Applet程序的调试过程。

❑了解Java的开发与运行环境。

❑了解Java语言的特点。

Java语言从1995年问世至今,得到众多厂商的支持,成为软件开发的主流技术。

Java 是面向对象的程序设计语言,拥有跨平台、多线程等众多特性,在网络计算中得到广泛应用。

1.1 面向对象程序设计的特性早期的编程语言如Fortran、C等都是面向过程的语言,面向过程编程的一个明显特点是数据与程序是分开的。

但随着计算机软件的发展,程序越做越大,软件维护也日益困难。

面向对象编程贴近于人类思维方式,面向对象的软件开发将事物均看作对象,对象有两个特征:状态与行为,对象可以通过自身的行为来改变自己的状态。

最新的程序设计语言一般为面向对象的语言,面向对象程序设计具有如下四大特性。

1.封装性(Encapsulation)面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,类的概念和现实世界中的“事物种类”是一致的。

例如,电视机就是一个类,每台电视机都有尺寸、品牌、频道等属性。

我们可用on/off开关来开启电视,通过更改频道让电视机播放不同的节目。

对象是类的一个实例化结果,对象具有类所描述的所有属性以及方法。

对象是个性化的,在程序设计语言中,每个对象都有自己的存储空间来存储自己的各个属性值,有些属性本身又可能由别的对象构成。

每个对象都属于某个类。

面向对象程序设计就是设计好相关的类,类中有属性和方法。

在统一建模语言UML中使用如图1-1所示的符号来描述对象和类的结构,其中,属性用来描述对象的状态,而方法则用来描述对象的行为。

2.继承性(Inheritance)继承是在类、子类以及对象之间自动地共享属性和方法的机制。

类的上层可以有父类,下层可以有子类,形成一种层次结构,如图1-2所示。

一个类将直接继承其父类的属性和方法,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和方法。

java语言第1章

java语言第1章

Mankind person1=new Mankind(); Mankind person2 =new Mankind(); =“张三”; person1.sex=1; person1.age=21; person1.song(“两只蝴蝶”); person1.dance(“拉丁舞”); =“李静” person2.sex=0; person2.age=20; person2. song(“丁香花”); person2. dance(“华尔兹”);
只有将创建的实例赋值给引用变量,这两个实 例才能象上述那样,可以使用各自的属性和方法,来
描述各自具体的特点,显示两个对象的具体差异。
下面是可以运行调试的java程序
public class Mankind {
String name; int sex; int age; void song(String x) { System.out.println(“My song is x”); } void dance(String x) { System.out.println(“My dance name is ”+x); }
=“张三”; person1.sex=1; person1.age=21; person1.song(“两只蝴蝶”); person1.dance(“拉丁舞”); 兹”);
=“李静” person2.sex=0; person2.age=20; person2. song(“丁香花”); person2. dance(“华尔
例题:Mankind.java

底片
对象(或实例)
洗好的照片
橡皮图章 建房方案
印好的图案 建好的房子
5.类的实例变量与类的实例的关系

Java程序设计--第一章.Java入门

Java程序设计--第一章.Java入门
Lu Qiang, 2009 Hefei University of Technology, School of Computer and Information
可移植性
解释执行
高性能
多线程
Page
Chapter1
Java 概述
18 / 48
Java 语言的特点
简单性
面向对象技术
分布性 健壮性 安全性 体系结构中立
网络上充满了各种不同类型的机 器和操作系统. 为使 Java 程序能在网络的任何 地方运行,解释器生成与体系结 构无关的字节码结构的文件格式, 他们只需提供相应的Java 运行 系统,便能在任何种类的处理器 上运行.
可移植性
解释执行
高性能
Chapter1
Java 概述
Java 的诞生
1991年,Sun公司有一群异想天开的上层觉得观众 点播电视节目是将来的趋势,于是派Jame Gosling 和其他人组成一个团队去研发 。 Jame被Sun公司 派给一项开发电视机机顶盒的任务。 机顶盒取名FirstPerson.
Page
11 / 48
可移植性
解释执行
高性能
多线程
Page
Chapter1
Java 概述
14 / 48
Java 语言的特点
简单性
面向对象技术
分布性 健壮性 安全性 体系结构中立
采用了面向对象技术并更加彻底, 所有的Java程序和Java applet均
是对象
实现了模块化和信息隐藏 继承性实现了代码的复用, 使用户可以建立自己的类库
要的语言.
Page
9 / 48

Java程序设计-1-概述_OK

Java程序设计-1-概述_OK
9
1.2 JDK的安装与配置
• Java开发工具包(Java Development Kit)简称JDK,它是用于构建在Java平台上发 布的应用程序、Applet 和组件的开发环境,也是一切Java应用程序的基础
• 所有的Java应用程序都是构建在这个JDK之上,它包括了一个提供Java程序运 行的虚拟机和一些运行支持的类库文件,以及一些工具程序
7
应用范围

8
• 5.JAVA平台的新发展
– Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它 允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
– C:\>javac
Usage: javac <options> <source files> …………
– C:\>java –version
java version "1.4.2_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
10
JDK版本历史
JDK版本 发布日期 版本说明
JDK1.0 JDK1.1 JDK1.2 JDK1.3 JDK1.4 JDK1.5
1995-5 1997-2 1998-12 2000-5 2001-12 2003-7

第1章Java语言基础

第1章Java语言基础
1.3 Java面向对象编程简单说明 1.4 Java控制结构 1.5 数组和ArrayList类 1.6 main方法
1.1 Java编程平台和两类Java程序 1.1.1 Java语言介绍
1.Java 语言的发展
Java 2分为以下3个体系。
① J2SE:Java 2 Software Development Kit,Standard Edition;Java 2开发的标准版,适用于一般计算机的Java 程序开发和程序运行平台。
② java:字节码解释器,用来运行 Java应用程序。 ③ app1etviewer:运行嵌入Java小应 用程序的网页,来运行Java小程序。
2.使用JCreator编写、编译和 运行程序 3.使用Eclipse编写、编译和 运行程序
1.1.3 两类可运行的Java程序
① Java Application,称为Java应用 程序,是包含main方法的可运行程序; ② Java Applet,称为Java小应用程 序。
1.2.3 运算符和表达式
(1)运算符 (2)操作数 (3)表达式
1.算术运算符
2.自增、自减运算符
自增运算符“++”和自减运算符“−−” 是单目运算符
3.关系运算符
4.逻辑运算符
逻辑与“&”和逻辑或“|”是双目运算 符
5.三目条件运算符
三目条件运算符的一般形式为: <逻辑表达式1> ? <表达式2> : <表达式3>
2.Java语言的特点
Java语言是简单、面向对象、多线程 和分布式的网络编程语言,
1.1.2 Java编程环境说明
最基本的Java编程环境包括:Java应 用编程接口(API)和Java虚拟机。

第一章-Java基础笔记

第一章-Java基础笔记

第⼀章-Java基础笔记Java语⾔的概述Java是⼀门⾯向对象的语⾔,Java相对于C语⾔来说学习相对简单,它主要的三⼤特点就是:封装、继承、多态,并且只需要进⾏⼀次源码编译,在任何装有对应版本的JVM 虚拟机环境的计算机下运⾏;Java的三个版本JavaSE主要⽤于桌⾯应⽤的开发JavaME主要⽤于嵌⼊式系统的开发JavaEE主要⽤于企业级的WEB端开发和服务器开发Java环境介绍JDK - 提供了开发者的⼀些⼯具包,并包含了[JRE和JVM]JRE - Java的运⾏环境,提供了运⾏时需要的类库,并包含了[JVM]JVM - Java的虚拟⼀块内存区域,⽤于执⾏Java的代码Java跨平台交互图Java代码的运⾏机制后缀点java的⽂件会通过 javac命令进⾏⽂件的编译成⼀个能够被JVM读懂的字节码⽂件,通过加载、校验、初始化的过程都内存中,通过JVM寄存器读取⽂件中的⾏号,进⾏执⾏相关代码;注释注释是为了在编写程序时对某个类、⽅法或是⼀段代码进⾏功能作⽤的说明,它不会被编译成代码执⾏,只是起到⼀个描述作⽤,便于对代码的理解;Java中的注释分为3种:单⾏注释://多⾏注释:/* */⽂档注释:/** */对注解的内容⽣成JavaDoc⽂档DOS命令进⼊到要⽣成Doc⽂档的层级⽬录,执⾏:javadoc -encoding UTF-8 -charset UTF-8 ⽂件名称/*** @Author JavaCat7* @Description 这是⼀个⽂档注释*/public class Demo{/*** @Parameter args 对参数的描述* @Description 这是⼀个⽂档注释*/public static void main(String[] args){//这是⼀个单⾏注释System.out.println("Hello Java");/*这是多⾏注释这是多⾏注释*/}}标识符每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;规范:每个⼈都有名字,⽽标识符是为了给代码中的类、接⼝、⽅法、变量取⼀个名字,但它们的明⽩是有着严格规范的;**规范:**1.严格区分⼤⼩写;2.开头可以是$ 或 _ 或 A-Z a-z的字母组成,也可以汉字(不会这么⼲);3.可以由数字、字母或者是 $ 或 _ 组成,但数字不能⽤于开始;4.不可以包含特殊字符;5.不能以Java语⾔中的保留字作为命名;6.类名采取⼤驼峰命名法;7.⽅法和变量采取⼩驼峰命名法;8.常量采取⼤学加_进⾏命名;基本数据类型Java是强类型计算机语⾔,所有的变量必须先定义才能使⽤,对于强类型⽽⾔主要就是指的数据安全,强类型的语⾔有很多,⽐如C、C++、python...计算机存储单位换算bit(位) - 是计算内部数据存储的最⼩单元,通过8个⼆进制位进⾏表⽰;byte(字节) - 是计算机中数据处理的基本单位,通常使⽤B来表⽰;8个bit(位) = 1B(字节)1024个B(字节) = 1KB1024个KB = 1MB1024个MB = 1GB....//整数类型byte a = 1;short b = 2;int c = 3;long d = 4L;//⼩数类型float e = 5.0f;duble f = 6.0d;//字符类型char g = 'a';//布尔类型boolean h = true;boolean i = false;数据类型的转换各数值相关数据类型⽀持类型上的转换,既可以把排序级别较低的类型转换成排序级别较⼤的类型,也可以把排序级别较⾼的类型转换成级别较低的类型(但会造成数据的丢失);数据的转换强制类型转换 - 在要转换的变量前使⽤:要转换的对应数据类型如- (int)⾃动类型转换 - 在不同的数值数据类型运算中,它会以排序级别较⾼的数据类型作为基础⾃动转换int number1 = 128;//正常byte的值是 -128 - 127,强制把int类型转换成byte会造成数据的不精确byte number2 = (byte)number1;int number3 = 519;float number4 = 1.0f;//在运算过程中因为float的排序级别⽐int⾼,那么它会⾃动转换成float类型在完成运算float number5 = number3 + number4;变量,静态变量,常量及作⽤域变量是指可以变化的值,通过数据类型和变量名可以在内存中申请⼀块存储的空间,通过内存的引⽤地址可以设置改变内存中存储的值或者修改值,所有的变量必须先赋值才可以使⽤;成员变量成员变量是指在类中与⽅法同级的位置中定义的成员变量,在该位置定义的变量可以不⽤设置值就可以使⽤,因为它会对类进⾏初始化,并完成初始化赋值,就算不给他们赋值也会有默认的初始值,他们的默认初始值都是最⼩的单元;作⽤域成员位置的变量,可以在⾮静态⽅法的所有位置使⽤,如果要在静态⽅法中使⽤,需要先创建对象;public class Variable{int a; //默认为:0float b; //默认为:0.0char c; //默认为:''boolean d; //默认为:false}局部变量局部变量是指在⽅法内部定义的变量,必须要先完成初始化后,才可以被使⽤;作⽤域局部位置的变量,外部⽆法使⽤,只能在⽅法内部使⽤,可以和外部的变量名称相同;public class Variable{int number;public void method(){int number = 3;//可以和成员位置的变量名称相同}}静态变量静态变量是指被static关键字修饰的变量,被修饰的变量⼜称为类变量;作⽤域静态变量可以作⽤域与所有⽅法中,静态变量只能定义在类的成员位置;public class Variable{static int number ;public static void main(String[] arags){System.out.println(number);}public void method(){System.out.println(numbe);}}常量常量是指不能被改变的值,它在创建到成员位置必须要先完成赋值,⼀旦被创建它的值是不允许被更改的;作⽤域它的作⽤域和成员变量相同public class Variable{final int NUMBER = 3.1415926;}静态常量静态常量是指从属于类的常量,在完成初始化以后是不可以被修改的,并且被public所进⾏修饰;作⽤域它的作⽤域和静态变量相同运算符算术运算符int a = 5;int b = 2;int number = a + b; //number = 7;int number = b - a; //number = 3;int number = a * b; //number = 10;int number = a / b; //number = 2,只取整数;double number = a / (double)b; //number = 2.5int number = a % b; //number = 1;⾃增⾃减运算符int a = 1;int b;b = a++; //b = 1; 先把a的值赋值给b,后a进⾏ +1 操作;b = a--; //b = 2; a前⾯进⾏了⾃增那么就是2,先把2赋值给b,然后进⾏ -1 操作;b = ++a; //b = 2; 前⾯a进⾏了⾃减那么就是1,先对a进⾏⾃增加1,然后在赋值给b;b = --a; //b = 1; 前⾯a是2,先对a进⾏⾃减1,在赋值给b;赋值运算符int a = 5;//把 5 赋值给 a;int b = 2;//把 2 赋值给 b;a += b; // a = 7(a+b的结果在赋值给a);a -= b; // a = 3;a *= b; // a = 10;a /= b; // a = 2;a %= b; // a = 1;关系运算符int a = 5;int b = 2;a > b; //truea < b; //falsea >= b; //falsea <= b; //truea == b; //falsea != b; //true逻辑运算符boolean a = true;boolean b = false;a &&b = false;//都true则true,第⼀个条件为false就不会在看第⼆个条件,直接返回falsea ||b = true;//⼀个条件为true则true,第⼀个条件为tre就不看第⼆个条件,直接返回true! a = false;//取反a &b = false;//2个条件都要执⾏a |b = true;三元运算符int a = 5;int b = 5;a ==b ? "等于":"不等于"; //为true返回第⼀个,为false返回第⼆个流程控制语句If语句if语句就是判断条件是否成⽴,成⽴就执⾏if中的代码,不成⽴就不进⼊;boolean flag = true;if(flag){System.out.println("...");}if...else语句if...else语句就是根据判断的条件是否成⽴,成⽴⾛if语句,不成⽴⾛else语句;boolean flag = true;if(flag){System.out.println("成⽴");}else{System.out.println("不成⽴");}if...else if语句if...else if⽀持多条件的判断,只会进⼊⼀个匹配的条件;boolean flag = true;boolean fail = false;if(flag){System.out.println("条件匹配");}else if(fail){System.out.println("条件匹配");}else{System.out.println("条件都不匹配");}switch条件控制语句witch语句从JDK1.7开始可以⽀持匹配:String字符串;注意事项:每个case 后⾯必须跟⼀个数值常量或字符串常量⽤于匹配;匹配的语句后⾯需要加上break关键字,防⽌case穿透;String week = "星期⼀";switch(week){case "星期⼀":System.out.println("今天是星期⼀");break;case "星期⼆":System.out.println("今天是星期⼆");break;case "星期三":System.out.println("今天是星期⼆");break;default:System.out.println("今天星期⼏都不是");}循环控制语句for循环语句for(初始值,条件表达式,更新)for(int i = 1 ; i <= 10 ; i++){System.out.println(i);}增强for循环for(接收类型的变量,表达式)int [] arrays = {1,2,3,4,5,6,7,8,9,10};for(int i : arrays){System.out.println(arrays);}while循环语句while(条件表达式)int number = 1;while(number <= 100){System.out.println(number);number ++;}do...while循环语句do{先把语句执⾏⼀遍}while(条件表达式);boolean flag = true;do{System.out.println("先执⾏⼀遍");flag = false;}while(flag);break和continue关键字break关键字结束循环的意思;for(int i = 1; i <= 100; i++){if(i == 10){System.out.println("打印10后结束循环");break;}}continue关键字跳过当前循环,进⼊下⼀次循环;for(int i = 1 ; i <= 10; i ++){if(i % 2 == 1){continue;}System.out.println("打印:"+i);}⽅法概述:⽅法就相当于使⽤多⾏代码进⾏组合去实现的⼀个功能⽚段,对代码进⾏封装利⽤,可实现多次调⽤;⽅法的定义修饰符返回值⽅法名称(形参形参名称){⽅法体}public class Function{public static void main(String[] arags){}public void method1(){}public void method2(String name,int age){}public static void method3(){}public int method03(){int a = 3;return a;}public int method04(int a,int b){if(a == b){System.out.println(a + "和" + b + "相等");return -1;}return a > b ? a : b;}}⽅法的重载⽅法的重载是指⽅法名称相同,传递的参数类型不同,个数不同,顺序不同与返回值⽆关;这样的⽅法被称为⽅法的重载;public class Function{public int max(int a,int b) {return a > b ? a : b;}public double max(double a,double b){return a > b ? a : b;}}形参和实参形参是指在()内部的参数,实参是指被真实传递的参数;public class Function{public static vid main(String[] args){Function function = new Function();function.max(3,5);}public int max(int a,int b) {return a > b ? a : b;}}可变参数在⽅法的()中我们有时候不知道要传递多少参数,那么我们可以传递⼀个数据类型紧跟后⾯加上...来表⽰;但需要注意的是⼀个⽅法中指允许⼀个可变参,如果有其他类型的参数,那么可变参数需要写在最后⾯;可变参数本质上就是⼀个数组;public class Function{public void method(String name,int... numbers){for(int num : numbers){System.out.println(num);}}}递归递归的本质就是⾃⼰调⽤⾃⼰,它可以解决⼀些业务,但效率和开销较⼤,对⼀些⽐较⼩的运算可以使⽤;//递归求3的阶乘public class Founction{public static void main(String[] args){}public int founction(int number){int result = 1;if(number == result){return result;}return number * founction(number - 1);}}数组数组就是⼀组数据的集合,Java中的数组必须存储和数据类型相符合的值,不允许与定义的数据类型不匹配;⼀旦数组被创建出来,它的长度就不允许被改变,数组有下标(索引)的概念,都是从0开始,如果操作的数据超过数组的长度那么就会报出下标索引越界异常[ IndexOutofBoundsException ];数组的定义int[] array = new int[3];int array[] = new int[3];int array[] = {1,2,3};数组的内存模型图数组的遍历⽅式int[] arr = new int[10];//⽅式⼀for (int i = 0; i < arr.length ; i ++) {System.out.println(arr[i]);}//⽅式⼆for (int num : arr) {System.out.println(num);}⼆维数组int[][] arr = new int[3][2];String[][] strArr = {{"hello","hello"},{"hi","hi","hi",{"java","java","java","java"}}Arrays⼯具类Arrays数组的⼯具类,是jdk已经帮我们提供好的⼀套数据⼯具类,⽅便我们对数据相关进⾏⼀些操作;int[] arr = {3,51,1,33,82,22,55,53};Arrays.toString(arr);//把数组变成⼀个字符串Arrays.sort(arr);//对数组内容进⾏升序排列Arrays.fill(arr,0);//把数组的内容全部进⾏替换为0常见算法冒泡排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//冒泡排序算法public static void popArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每次⽐较⼀轮,需要减少1次⽐较的次数for (int j = 0; j < arr.length - i - 1; j++) {//如果前⾯的数据⽐后⾯⼤,那么就交换位置if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}选择排序public static int[] arr = new int[]{5, 2, 7, 4, 6, 9, 8, 13, 19, 11, 17, 15};//选择排序public static void selectOrderArithmetic(int[] arr) {//⽐较的轮数是数组长度-1for (int i = 0; i < arr.length - 1; i++) {//每⽐较⼀次,需要减少1次⽐较的次数,会把⼩的先往前排for(int j = i+1;j<arr.length;j++){if(arr[i]>arr[j]){int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}System.out.println("最终结果是:" + Arrays.toString(arr));}⼆分查找public static int[] arr = new int[]{1, 2, 3 , 4, 6, 7, 8, 13, 19};//2分查找法public static void branchFind(int [] arr,int number){int startNode = 0;int endNode = arr.length-1;int middle = 0;while (startNode <= endNode){//中间的指针由开始节点和结束节点计算得来middle = (startNode+endNode)/2;if(number == arr[middle]){System.out.println("找到了");break;}else if(number < arr[middle]){endNode=middle-1;System.out.println(number+"⼩于中间值,结束节点变更为中间节点-1"); }else if(number > arr[middle]){startNode = middle+1;System.out.println(number+"⼤于中间值,开始节点变更为中间节点+1"); }else{System.out.println("没有找到该元素");break;}}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

public Doll(String name){ =name; } /** * 福娃说话 */ public void speak(){ System.out.println(name); } }
类方法
}
2011
UML与面向对象程序设计

零个或一个 包声明语句(Package Statement) 零个或多个 包引入语句(Import Statement) 零个或多个类的声明 (Class Declaration) 零个或多个接口的声明 (Interface Declaration) 注意: Java 源文件至多只有一个类或接口是 public的,而且Java 源文件以其中public类型的 类的名字命名
• 适用于开发手机、无线设备程序
2011
UML与面向对象程序设计
什么是Java?
• Java 技术包含两方面含义: 语言和平台。 • Sun公司在“Java白皮书”中对Java的定义是: • A simple,object-oriented,distributed, interpreted,robust,secure,architectureneutral,portable,high-performance,multithreaded,and dynamic language. • Java是一种具有简单的、面向对象的、分布式的、解 释型的、健壮的、安全的、体系结构中立的、可移植 的、高性能的、多线程的、动态的语言。
2011
UML与面向对象程序设计
Java的开发工具-JDK
• 什么是JDK?
JDK (Java Development Kit) JRE (Java Runtime Environment) Java Runtime Classes
JDK:Java开发工具 包(Java Development Toolkit),JDK是一 个简单的命令行工具 集,包括软件库、编 译Java源代码的编译 器、执行Java字节码 的解释器、测试Java Applet的浏览器,以 及其他的实用工具。
2011
UML与面向对象程序设计
第一个 Java 程序
//这是名称为“HelloWorld.java”的简单程序
单行注释
public class HelloWorld { 定义类 public static void main(String args[ ]) { System.out.println(“欢迎访问 Java 世界!“); } } 在控制台上输出
UML与面向对象程序设计
JDK的安装与配置

配置环境变量

我的电脑——属性——高级——环境变量——系统 环境变量


变量名:path
----用于指定操作系统的可执行指令的路 径
变量值: JDK安装目录\bin 用分号与原有的变量值区分开。

2011
UML与面向对象程序设计
JDK的安装与配置
2011
Java VM (JVM)
2011
UML与面向对象程序设计
JDK的安装与配置

下载JDK,最新版本和文档的站点: 官方: 校内:http://192.168.102.16//计算机系 课件//UML与面向对象程序设计//Java环 境
2011
2011
UML与面向对象程序设计
JVM(Java Virtual Machine)
• 在一台计算机上由软件或硬件模拟的计算机。 Java虚拟机(JVM)读取并处理经编译过的平台 无关的字节码class文件 。 • Java编译器针对Java虚拟机产生class文件, 因此是独立于平台的。 • Java解释器负责将Java虚拟机的代码在特定 的平台上运行。
Applet是一种特殊的Java程序,它可以在兼容Java的 Web浏览器中直接运行。
2011
UML与面向对象程序设计
Java Application程序基本结构
import语句
class 主类名称 { public static void main(String[ ] args) {
方法体
} }
2011
UML与面向对象程序设计
Java 源文件的基本结构
public class Doll{ /** * 福娃的名字 */ private String name;
类声 明 类属性 (类成员 变量)
public class AppMain{ /** * 应用程序的入口方法 */ public static void main(String args[]){ Doll beibei=new Doll("贝贝"); //创建福娃贝贝 Doll jingjing=new Doll("晶晶"); //创建福娃晶晶 Doll huanhuan=new Doll("欢欢"); Main函 //创建福娃欢欢 Doll yingying=new Doll("迎迎"); //创建福娃迎迎 数 Doll nini=new Doll("妮妮"); //创建福娃妮妮 beibei.speak(); //福娃贝贝说话 jingjing.speak(); //福娃晶晶说话 huanhuan.speak(); //福娃欢欢说话 yingying.speak(); //福娃迎迎说话 nini.speak(); //福娃妮妮说话 }
2011
UML与面向对象程序设计
开始简单的Java程序编写
Java程序分为两类: • 应用程序(Java application)
Application是独立程序,与其他高级语言编写的程序 相同。Application能够在任何具有Java解释器的计算 机上运行。
• 小程序(Java applet)
UML与面向对象程序设计
JDK 提供的常用工具
• javac 是用来编译源代码的命令。 • java 是用于执行类文件的命令。 • appletviewer 命令允许在万维网浏览器的环 境之外运行 Applet。
2011
UML与面向对象程序设计
Java的集成开发环境
• • • • JBuilder Eclipse(开发工具介绍) JCreator Visual J#.NET
UML与面向对象程序设计
包(package)
• 为什么使用包? 主要原因是防止两位程序员取了相同的类别名称, 包嵌套的层次可以用来保证类名的唯一性,避免 同名类冲突。
2011
UML与面向对象程序设计
包与文件目录
• Java要求包名与文件系统的目录结构一 一对应。一个包实际上是包含类字节码 的目录
Circle.java Circle.class package .neusoft. graphics ; class Circle ….. } {
2011
UML与面向对象程序设计
• 例如: • java.util和java.sql包中都有一个Date类,当程 序如下所写时 import java.util.*; import java.sql.*; 使用Date时,如定义Date tody;是错误的
2011
UML与面向对象程序设计
定义包(package)
• Java中允许将多个类收集在一起成为一组,称 为包(package)。 • 声明包的方法(将类放入包中) package 包名称; – 例如:package ch04; – 示例:A.java
注意,package必须 写在程序的第一条
2011
2011
UML与面向对象程序设计
1.1 Java简史
1991
James Gosling
1995
2011
UML与面向对象程序设计
Java的发展史
• • • • • • • 1995.5 Sun公司正式发布Java产品 1996.2 Java1.0版本诞生 Java 1 1997.2 升级为1.1版本 1999.7 升级为1.2版(改名为Java2) Java 2 2000.9 升级为1.3版 2001.7 升级为1.4版 并形成了Java体系 目前为1.6版
2011
UML与面向对象程序设计
Java技术的体系
J2SE (Java 2 Standard Edition)
标准版
• 适用于开发用户端程序
J2EE (Java 2 Enterprise Edition) J2ME (Java 2 Micro Edition)
企业版
•适用于开发服务器端程序
手持设备版
2011
UML与面向对象程序设计
Java的特点
• • • • • • • Java是简单的 Java是面向对象的 Java是健壮的 Java是安全的 Java是解释型的 Java是可移植的 Java是多线程的
2011
UML与面向对象程序设计
“一次编译,到处运行”的原理
2011
UML与面向对象程序设计
cn
edu neusoft
graphics
Circle.class
2011
UML与面向对象程序设计
使用包中的类
• 使用其他包中的public类 – 常用是:关键字 import 包名.类名; – 例:import java.util.Scanner; – 示例:AA.java AATest.java 注意:只能引入其他包中的public类
2011
UML与面向对象程序设计
注意
• 也可以引入整个包 例如: import java.util.*; • 注意:* 表示引入一个单独包下的所有类,而 不是引入所有以java.util为前缀的所有包。
2011
相关文档
最新文档