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