《Java基础知识技术培训.ppt》由会员分享,可在线阅读,更多相关《Java基础知识技术培训.ppt(60页珍藏版)》请在三一办公上搜索。
1、Java基础知识技术培训,二零一六年四月六日,一、Java语言与面向对象的程序设计二、Java程序概述三、基本数据类型与表达式四、数组的概念五、数组的创建和引用,目录,01,Java语言与 面向对象的程序设计,Java语言是一种面向对象的程序设计语言,由Sun Microsystems公司于1995年5月推出。除了面向对象的特点以外,Java语言还在安全性、平台无关性、支持多线程、内存管理等许多方面具有卓越的优点。,一、Java语言与面向对象的程序设计,Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。,一、Java语言与面向对象的程序设计,01,02,03,04,程序设计语言发展的历程
2、,机器语言,汇编语言,面向过程的高级语言(C语言),面向对象的语言(Java,C+),一、Java语言与面向对象的程序设计,“面向过程”是一种以事件为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。,“面向对象”是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。,面向过程,面向对象,面向对象的思想:将客观事物看作具有状态和行为的对象,通过抽象找出同一类对象的共同状态和行为,构成类。,一、Java语言与面向对象的程序设计,例 如,目录,02,Java 程序概述
3、,Java 开发环境,Application 举例,Applet举例,二、Java 程序概述,Java程序编译执行的过程,二、Java 程序概述,一次编写,各处运行,二、Java 程序概述,Java APIs(应用程序接口)经过编译的,可在程序中使用的Java代码标准库。Java 虚拟机(Java Virtual Machine,JVM)Java 程序由Java虚拟机程序执行(或解释执行)。,Java 平台,二、Java 程序概述,JDK 是整个Java的核心,包括了Java运行时环境(Java Runtime Environment,JRE),一堆Java工具和Java基础的类库(rt.ja
4、r)。,JDK(Java Development Kit),二、Java 程序概述,1.开发工具编译器调试器 文档制作工具,2.运行环境 Java 虚拟机组成Java 2 平台API的类帮助文档3.附加库 4.Java程序(Applets 和 Applications)的演示,设置系统变量:,二、Java 程序概述,右键点击桌面上“我的电脑”图标、属性、“高级”选项卡、环境变量即可出现右图界面。,二、Java 程序概述,JAVA_HOME:C:JDK1.5Classpath:C:JDK1.5jrelibrt.jar;.;(注意:点号表示当前目录,不能省略。)Path:C:JDK1.5bin;(
5、注意:这里的分号不能省略),在系统变量栏新建如下环境变量(如果变量已经存在,将下面的值加上去即可),如右图:(其中Path变量已经存在,将C:JDK1.5bin;加在前面),二、Java 程序概述,打开Dos窗口,在任意目录下输入命令javac,如果出现命令解释信息(如左图),则表示JDK安装成功。到这里,JDK安装完毕。java version命令可以显示当前JDK的版本。,二、Java 程序概述,测 试,二、Java 程序概述,1.更改到源程序所在目录,二、Java 程序概述,2.编译:javac HelloWorld.java,3.执行:java HelloWorld注意:不要加.cla
6、ss后缀,二、Java 程序概述,Application运行在客户端Java虚拟机上的Java程序可在客户端机器中读写可使用自己的主窗口、标题栏和菜单程序可大可小主类必须有一个主方法main(),作为程序运行的入口。,二、Java 程序概述,二、Java 程序概述,public class MyClass private int val1,val2;public void myFun(int x,int y)val1=x;val2=y;System.out.println(The sum is:+(val1+val2);public static void main(String arg)My
7、Class MyObj=new MyClass();MyObj.myFun(1,2);,Application,举例,使用如下命令编译并运行程序:javacMyClass.javajava MyClass运行结果如下:The sum is:3,二、Java 程序概述,目录,03,基本数据类型与表达式,三、基本数据类型与表达式,基本数据类型,变量与常量,表达式与运算符,类型转换,三、基本数据类型与表达式,标识符标识符是一个名称,与内存中的某个位置(地址)相对应标识符的第一个字符必须是下列字符之一:大写字母(A-Z)小写字母(a-z)下划线(_)美元符号($)标识符的第二个字符及后继字符必须是:上
8、述列表中的任意字符 数字字符(0-9)例如,$var1,_var2,isTrue,stu_no都是合法标识符,而2student,stu&no,this是不合法的。关键字,变量一个由标识符命名的项每个变量都有类型,例如 int 类型或 Object类型,变量还有作用域.变量的值可以被改变.例:int a,b=5;String s=“hello”;注意:Java是大小写敏感的。常量 常量一旦被初始化以后就不可改变。例:final double PI=3.14;,三、基本数据类型与表达式,三、基本数据类型与表达式,整数(都带符号)byte 字节型,8 bits,范围:-128+127 short
9、短整型,16 bits,范围:-32768+32767int 整型,32 bits,范围:231(231-1)long 长整型,64 bits,范围:263(263-1),三、基本数据类型与表达式,浮点数 float 单精度浮点数,32bits 负数范围:-3.40E+38-1.40E-45 正数范围:1.40E-45 3.40E+38double双精度浮点数,64bits负数范围:-1.79E+308-4.94E-324 正数范围:4.94E-324 1.79E+308,三、基本数据类型与表达式,布尔类型和布尔值布尔类型(boolean)表示一个逻辑量,只有两个取值:true和false,它
10、们不对应任何整数值,必须小写。例如:boolean is_student;boolean is_hourly;is_student=true;/将 is_salaried设置为trueis_hourly=false;/将is_hourly设置为false,注意:整数0、1和true,false不等同。,三、基本数据类型与表达式,字符型-char 字符类型,用于存储单个字符,Java中的字符用Unicode编码表示,每个字符占16 bits,取值范围:0 65535,三、基本数据类型与表达式,String字符串String 是一个类String类JDK标准类集合中的一部分String anima
11、l=walrus;,三、基本数据类型与表达式,public class ex1_1 public static void main(String args)final int PRICE=30;final double PI=3.141592654;int num,total;double v,r,h;num=10;total=num*PRICE;System.out.println(total);r=2.5;h=3.2;v=PI*r*r*h;System.out.println(v);,变量声明,变量,文字量,常量声明,有时需要的是表达式的副作用,例如赋值表达式将数值赋给变量;更多时候起作用
12、的是表达式的值,这个值可以用作方法的参数,或更大的表;达式的操作数,或者影响语句的执行顺序。,三、基本数据类型与表达式,表达式是由一系列变量、运算符、方法调用构成的,表达式可以计算出一个值来,程序中的很多工作是通过计算表达式的值来完成的。,算术运算符运算符+和-例如:i+;-j;一元运算符+和 加法运算符+和-乘法运算符*,/,和%注意1.两个整数类型的数相除,结果是整数。注意2.i+和+i的区别,三、基本数据类型与表达式,赋值运算符简单赋值运算符=复合赋值运算符+=-=*=/=%=,a=5 表达式的值为 5a=b=c=5 表达式的值以及 a,b,c 的值都是 5 a=5+(c=6)表达式的值
13、是 11,a 是 11,c 是 6a=(b=4)+(c=6)表达式的值是 10,a是10,b是4,c是6a=(b=10)/(c=2)表达式的值是 5,a是5,b是10,c是2a+=a-=a*a 等效于 a=a+(a=a-a*a),三、基本数据类型与表达式,举例,关系表达式的类型永远是布尔类型(boolean).算术比较运算符,=,=,!=类型比较运算符 instanceof例如:e instanceof Point/Point 是一个类,三、基本数据类型与表达式,关系运算符,“非”运算符!,操作数的类型必须是布尔类型 如果操作数的结果为 false,则表达式的结果为 true,如果操作数的结果
14、为 true则表达式的结果为 false,首先计算表达式1如果表达式1的值为 true,则选择表达式2的值如果表达式1的值为 false,则选择表达式3的值例:比较两个数的大小,三、基本数据类型与表达式,条件运算符(表达式1?表达式2:表达式3),有时可能会导致编译错误有时语言会进行隐含类型转换,三、基本数据类型与表达式,每个表达式都有类型,如果表达式的类型对于上下文不合适,赋值转换将表达式类型转换为制定变量的类型方法调用转换适用于方法或构造方法调用中的每一个参数强制转换将一个表达式转换为指定的类型例如(float)5.0字符串转换只当一个操作数是String类型时,适用于+运算符的操作数,三
15、、基本数据类型与表达式,目录,04,数组的概念,数组由同一类型的一连串对象或者基本数据组成,并封装在同一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object 的所有方法,四、数组的概念,数组中的变量被称作数组的元素元素没有名字,通过数组名字和非负整数下标值引用数组元素。每个数组都有一个由 public final 修饰的成员变量:length,即数组含有元素的个数(length可以是正数或零),四、数组的概念,数组元素,目录,05,数组的创建和引用,Type arrayName;例如:int intArray;String stringAr
16、ray;Type arrayName;例如:int intArray;String stringArray;,五、数组的创建和引用,声明数组时无需指明数组元素的个数,也不为数组元素分配内存空间不能直接使用,必须经过初始化分配内存后才能使用,五、数组的创建和引用,声明(Declaration),用关键字new构成数组的创建表达式,可以指定数组的类型和数组元素的个数。元素个数可以是常量也可以是变量。,基本类型数组的每个元素都是一个基本类型的变量;引用类型数组的每个元素都是对象的的引用。,arrayName=new Typecomponets number;例如:int a;a=new int10;
17、String s;s=new String3;或者可以将数组的声明和创建一并执行int a=new int10;可以在一条声明语句中创建多个数组 String s1=new String3,s2=new String8;,五、数组的创建和引用,1.声明时初始化 inta=22,33,44,55;注意:不要写成inta4=22,33,44,55;2.创建数组时初始化 inta;a=new int22,33,44,55;,五、数组的创建和引用,数组的初始化,基本类型数值数据,默认的初始值为0;boolean类型数据,默认值为false;引用类型元素的默认值为null。,五、数组的创建和引用,创建数
18、组的时,如果没有指定初始值,数组元素便被赋予默认值为初始值。,程序也可以在数组被构造之后改变数组元素值。,通过下面的表达式引用数组的一个元素:arrayNameindex数组下标必须是 int,short,byte,或者 char.下标从零开始计数.元素的个数即为数组的长度,可以通过 arrayName.length引用元素下标最大值为 arrayName.length 1,如果超过最大值,将会产生数组越界异常(ArrayIndexOutOfBoundsException),五、数组的创建和引用,int values=new int7;int index;index=0;values inde
19、x=71;index=5;values index=23;index=3;values 2+2=values index-3;,五、数组的创建和引用,public class MyArray public static void main(String args)int myArray;/声明数组 myArray=new int10;/创建数组 System.out.println(IndexttValue);for(int i=0;imyArray.length;i+)System.out.println(i+tt+myArrayi);/证明数组元素默认初始化为0/myArray10=100
20、;/将产生数组越界异常,五、数组的创建和引用,例子public class ArrayOfStringsDemo public static void main(String args)String anArray=String One,String Two,String Three;for(int i=0;i anArray.length;i+)System.out.println(anArrayi.toLowerCase();,运行结果:string onestring twostring three,五、数组的创建和引用,int gradeTable;gradeTable 0 1 为42
21、gradeTable 3 4 为93gradeTable 6 2 为78,五、数组的创建和引用,int myArray;myArray 可以存储一个指向2维整数数组的引用。其初始值为null。int myArray=new int35;建立一个3行5列的数组,把引用存储到myArray。这个数组所有元素的初始值为零。int myArray=8,1,2,2,9,1,9,4,0,3,0,3,0,0,7;建立一个数组并为每一个元素赋值。,五、数组的创建和引用,二维数组的声明和构造,int a;a=new int 2;a 0=new int 3;a 1=new int 5;,五、数组的创建和引用,Ja
22、va语言不要求多维数组的每一维长度相同,对于各行列数不同的二维数组,可以仿照下面的方式创建:,class UnevenExample3 public static void main(String arg)/声明并构造一个2维数组 int uneven=1,9,4,0,2,0,1,2,3,4;,五、数组的创建和引用,二维数组的长度和每行的长度:,public class MyArray2 public static void main(String args)int myArray;/声明数组 myArray=new int510;/创建数组 int total=0;for(int i=0;imyArray.length;i+)for(int j=0;jmyArrayi.length;j+),五、数组的创建和引用,二维数组求和:,myArrayij=i*10+j;/为每个数组元素赋值 for(int i=0;imyArray.length;i+)for(int j=0;jmyArrayi.length;j+)total+=myArrayij;System.out.println(The sum is:+total);,五、数组的创建和引用,承担责任、团结互信、创造价值、成就你我,二零一六年四月六日,