您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > java_core基础篇
第1章JAVA基本元素与其他编程语言一样,Java也包含变量、表达式等基本编程要素。1.1关键字定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)特点:关键字中所有字母都为小写用于定义数据类型的关键字classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoid用于定义数据类型值的关键字truefalsenull用于定义流程控制的关键字ifelseswitchcasedefaultwhiledoforbreakcontinuereturn1.1关键字用于定义访问权限修饰符的关键字privateprotectedpublic用于定义类,函数,变量修饰符的关键字abstractfinalstaticsynchronized用于定义类与类之间关系的关键字extendsimplements用于定义建立实例及引用实例,判断实例的关键字newthissuperinstanceof用于异常处理的关键字trycatchfinallythrowthrows用于包的关键字packageimport其他修饰符关键字nativestrictfptransientvolatileassert1.2标识符标识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。凡是自己可以起名字的地方都叫标识符定义合法标识符规则:由26个英文字母大小写,数字:0-9,_或$组成数字不可以开头。不可以使用关键字和保留字,但能包含关键字和保留字。Java中严格区分大小写,长度无限制。标识符不能包含空格。1.3命名规范Java中的名称命名规范:包名:多单词组成时所有字母都小写:xxxyyyzzz类名接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ1.4变量与常量在程序执行过程中,其值不能改变的量称为常量。同理,可以改变的量称为变量。变量在程序中起着十分重要的作用,如存储数据、传递数据、比较数据、简练代码、提高模块化程度和增加可移植性等。所有的变量与常量只有在声明过后才能使用1.4.1变量的分类按被声明的位置划分:成员变量:方法外部、类的内部定义的变量局部变量:方法或语句块内部定义的变量注意:类外面(类对应的大括号外面)不能有变量的声明按所属的数据类型划分:基本数据类型变量引用数据类型变量1.4.1变量的分类按数据类型数组([])数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(float,double)类(class)接口(interface)字符串在这里1.4.2整形数据类型整数数据类型byte-128~127short-32768~32767int-2^31~2^31-1long-2^63~2^63-1通常情况下,int型是应用得最多的。如果要表示特别巨大的数,就要使用long型。而byte型和short型主要用于特定的场合,如占用大量存储空间的大数组或者底层的文件处理等。1.4.3字符类型:charchar型数据用来表示通常意义上字符。字符型常量的三种表现形式:字符常量是用单引号(‘’)括起来的单个字符,涵盖世界上所有书面语的字符。例如:charc1='a';charc2='中';charc3='9';Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:charc3='\n';--'\n'表示换行符直接使用Unicode值来表示字符型常量:‘\uXXXX’。其中,XXXX代表一个十六进制整数。如:\u000a表示\n。char类型是可以进行运算的。因为它都对应有Unicode值。1.4.4布尔类型:booleanboolean类型适于逻辑运算,一般用于程序流程控制:if条件控制语句;while循环控制语句;do-while循环控制语句;for循环控制语句;boolean类型数据只允许取值true和false,不可以0或非0的整数替代true和false,这点和C语言不同。1.4.5数据类型转换类Java中基本数据类型的值进行转换主要包括3种情况:自动转换强制类型转换隐含强制转换容量小类型自动转换成容量大的数据类型数据类型按照容量大小排序:byte、short、char-int-long-float-doublebyte、short、char之间不会互相转换,在计算式首先转换为int类型。charshortbyteintdoblefloatlong数据类型转换有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。1.4.6强制类型转换自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如:Stringa=“43”;inti=Integer.parseInt(a);boolean类型不可以转换为其它的数据类型。1.4.7变量声明变量类型变量名变量声明包括两项内容:变量名和变量的类型。变量声明的位置决定了该变量的作用域。在程序中,通过变量名来引用变量包含的数据。变量的类型决定了它可以容纳什么类型的数值以及可以对它进行怎样的操作。例如intage//声明整形变量年龄charflag='r'//声明字符型变量并赋值为r1.4.8常量声明可以在任何作用域声明一个final变量。final变量的数值在初始化之后不能再进行改变为了声明一个final变量,例如:finalintSum=48;这个语句声明了一个final变量并对它进行了初始化。如果在后面还想给stuSum赋其他的值,就会导致编译错误,因为final变量的值不能再改变。1.5运算符左移,带符号右移,不带符号右移移位运算符D=表达式1?表达式2:表达式3三目条件运算=,+=,-=赋值运算符~按位取反,&按位与,|按位或,^按位异或按位运算符&与,|或,!非,&&短路与,||短路或逻辑运算符,,=,=,!=,==关系运算符+,-,×,/,%取余,++,--,-取反算术运算符1.5.1运算符优先级运算符优先级运算符优先级运算符优先级别1.6流程控制选择结构循环结构1.6.1分支结构分支语句根据一定的条件有选择地执行或跳过特定的语句Java分支语句分类if-else语句switch语句if-else分支if(布尔表达式){语句或语句块;}if(布尔表达式){语句或语句块;}elseif(布尔表达式){语句或语句块;}else{语句或语句块;}switch分支switch(表达式){case常量1:语句1;break;......case常量N:语句N;break;[default:语句;break;]}switch语句有关规则switch(表达式)中表达式的返回值必须是下述几种类型之一:int,byte,char,short,枚举,字符串;case子句中的值必须是常量,且所有case子句中的值应是不同的;default子句是任选的;break语句用来在执行完一个case分支后使程序跳出switch语句块;1.6.2循环语句循环语句功能在循环条件满足的情况下,反复执行特定代码循环语句的四个组成部分初始化部分(init_statement)循环条件部分(test_exp)循环体部分(body_statement)迭代部分(alter_statement)循环语句分类for循环while循环do/while循环for循环语句语法格式for(初始化表达式;布尔值测试表达式;更改表达式){语句或语句块;}应用举例publicclassForLoop{publicstaticvoidmain(Stringargs[]){intresult=0;for(inti=1;i=100;i++){result+=i;}System.out.println(result=+result);}}while循环语句语法格式[初始化语句]while(布尔值测试表达式){语句或语句块;[更改语句;]}应用举例while(i=100){result+=i;i++;}do/while循环语句语法格式[初始化语句]do{语句或语句块;[更改语句;]}while(布尔值测试表达式);应用举例do{result+=i;i++;}while(i=100);第二章数组数组是多个相同类型数据的组合,实现对这些数据的统一管理数组属引用类型,数组型数据是对象(Object),数组中的每个元素相当于该对象的成员变量数组中的元素可以是任何数据类型,包括基本类型和引用类型2.1一维数组一维数组的声明方式:typevar[]或type[]var;例如:inta[];int[]a1;doubleb[];Mydate[]c;//对象数组Java语言中声明数组时不能指定其长度(数组中元素的数),例如:inta[5];//非法2.1.1数组元素的引用Java中使用关键字new创建数组对象定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;数组元素的引用方式:数组名[数组元素下标]数组元素下标可以是整型常量或整型表达式。如a[3],b[i],c[6*i];2.1.2数组遍历遍历数组for(inti=0;ia.length;i++){System.out.println(a[i]);}注意:数组的下标是从0开始的,所以最后一个数组元素的下标为数组长度减12.2二维数组1、声明二维数组语法:--int[][]ia;2、实例化语法:--int[][]ia=newint[3][5];这样就声明了一个三行五列的二维数组2.2.1不规则数组不规则数组,也就是每一行数组的长度不一样。例如,inta=newint[3][];//这样数组定下来是三行,但是每一行多少长度是未知的对每一行实例化:a[0]=newint[5];a[1]=newint[3];a[2]=newint[4];2.3对象数组每个数组元素存放的都是对象在内存中的地址,都是对象的引用--数组的辅助工具类和方法创建对象类数组MyDate[]m;m=newMyDate[10];for(inti=0;i10;i++){m[i]=newMyDate(i+1,i+1,1990+i);m[i].display();}2.3.1数组的查找数组元素的查找:--线性查找:从第一个开始查找--二分法查找:要求数组必须有序,就是从数组元素中间开始找,然后比较这个结果和要查找数组的大小,再决定从哪边再开始找第三章面向对象面向过程在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数,是一种谓语与宾语的关系。面向对象定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作,如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的,这是一种主语与谓语的关系。面向对象的三大特征封装(Encapsulation)继承(Inheritance)多态(Po
本文标题:java_core基础篇
链接地址:https://www.777doc.com/doc-2880489 .html