JAVA语言学习•Java语言的学习•对面向对象的理解•学习Java的心得JAVA的原生数据类型•一、原生数据类型•1)整型(32位):int;•2)字节型(可表示-128—127之间的整数):byte;•3)短整型(16位):short;•4)长整型(64位):long;•5)单精度浮点型:float;•6)双精度浮点型:double;•7)字符型:char;•8)布尔类型:boolean。•二、引用数据类型三、如何定义变量及为变量赋值•变量定义:变量类型变量名•变量赋值:变量名=变量值•注:Java中的变量名可以下划线、字母、$字符开头,但不能以数字开头Java可将二者合二为一原生数据类型使用的陷阱•1、Java中的所有浮点类型默认情况下都是double。不能将double类型的值赋给float类型的变量,即便该double类型的值处于float类型的范围内也是不可以的。若要将另一种类型的值赋给该变量,则要进行强制类型转换。•2、变量在使用前必须要赋值;变量必须要声明其类型方可使用;变量在使用前必须要定义,并且只能定义一次。•3、可以将表示范围小的值赋给表示范围大的变量;但不能直接将表示范围大的值赋给表示范围小的变量,只能通过强制类型转换实现。运算符•1、取模(取余)运算符:%•注:余数符号与被除数符号相等•2、关系运算符:,,=,=,!=(其运算结果是boolean值)•3、逻辑运算符(本身就返回一个boolean值)•1)逻辑“与”&&;一假全为假;•2)逻辑“或”||;一真全为真;•4、短路特征:•1)逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,将不会执行逻辑与后面的运算了,即发生了短路。•2)逻辑或:如果第一个操作数为true,那么结果肯定就是true,所在在这种情况下,将不会执行逻辑或后面的运算了,即发生了短路。•4.关于变量的自增与自减运算。•1)关于intb=a++;•2)关于intb=++a;•5、条件运算符(三元表达式)•如:typed=a?b:c;•如果d=a为真,则d=b;否则,d=c.流程控制语句•一、if语句:•1)if(boolean表达式)•{•//待执行的代码•}•else•{•//待执行的代码•}2)if(boolean表达式){//待执行的代码}elseif(boolean表达式){//待执行的代码}else{//待执行的代码}•二,switch语句•Switch(变量)•{•Case常量1;•//待执行的代码•Break;•Case常量2;•//待执行的代码•Break;•……•Default;•//待执行代码•}注:switch语句中break可选,但在大多数情况下,没有break会有逻辑错误。所以,通常情况下要加break。3、while与do…while循环语句•1)while循环语句•while(boolean表达式)•{•//待执行代码•}•2)do…while循环语句•do•{•//待执行代码•}•while(boolean表达式);•while与do…while的区别:•若boolean表达式第一次判断就为false时,则while循环不执行;而do…while循环执行一次;若第一次为ture,二者等价。•4.for循环•For(初始化变量;条件判断;步进)•{•//待执行代码•}面向对象程序设计•一、什么是面向对象?•在面向对象程序设计中有两个重要的概念:类(class)与对象(object)。•1、类:类是一种抽象的概念,类中包含了数据(通常用名词表示)与对数据的控制(通常用动词表示)。•2、对象:对象是一种具体的概念,是类的一种具体表示方式。•3、类所包含的内容,类一共包含两部分内容:•a)数据,数据在类中称作属性(Property或者Attribute)或者叫成员变量(Membervariable)。•b)对数据的操纵,这种操纵在类中称作方法(method)。•面向对象之封装•一、面向对象程序设计的三大特征:•继承、封装、多态•二、封装的概念:类包含了数据与方法,将数据与方法放在一个类中就构成了封装•三、如何定义类?•修饰符class类的名字•{•//类的内容(包含了属性与方法)•}•四、如何定义方法?•修饰符返回类型方法名称([参数1,参数2,参数3…])•{•//方法体•}•main方法是整个Java程序的入口点,如果类的定义中没有main方法,则程序无法执行。•定义方法时需注意:•1)方法定义不能嵌套(不能在一个方法中定义另一个方法);•2)方法只能在类中定义。•五、如何定义对象?•通过类来生成对象(通常使用new关键字来生成对象)•publicclassPerson•{•}•类名变量名=new类名();•Personperson=newPerson();•Personperson2=newPerson();•Personperson3=newPerson();•9.方法调用需要通过对象来完成,方法调用的形式是:•对象变量.方法名([参数值1,参数值2,参数值3….]);•publicclassTest•{•//两个整数相加的方法•publicintadd(inta,intb)•{•returna+b;•}••publicvoidoutput()•{•System.out.println(HelloWorld);•}•}•publicvoidmethod(inta)•{•if(a10)•{•return;•}•System.out.println(Welcome!!);•••publicstaticvoidmain(String[]args)•{•Testtest=newTest();•intx=8;•inty=3;••inta=test.add(x,y);•System.out.println(a);••test.output();•intm=15;•test.method(m);••}•}返回类型为int关于方法的注意事项:•1)在方法定义中,方法的返回类型与return后面的变量或常量类型保持一致。•2)在方法调用时,给方法传递的参数需要与方法定义时的参数保持一致(参数个数一致,参数类型一致)。•3)方法定义时的返回类型与接收方法返回值的变量类型保持一致。•方法定义时的参数叫做形式参数。•方法调用时所赋予的具体值叫做实际参数。•12.关键字void表示方法不返回值。••3.命名约定•a)类:首字母大写,如果一个类名由多个单词构成,那么每个单词的首字母都大写,中间不使用任何的连接符。•b)方法:首字母小写。如果一个方法由多个单词构成,那么第一个单词的所有字母全都小写,从第二个单词开始,每个单词的首字母大写。•c)属性:命名约定与方法相同。•4.属性需要定义在类中,又叫做成员变量;而定义在方法中的变量叫做局部变量。•5.如何定义属性?•publicclassPerson•{•修饰符类型属性名称;•}•6.局部变量使用前必须要声明并赋初值;成员变量使用前必须要声明,但可以不赋初值。•7.成员变量与局部变量的联系与区别:•a)局部变量:使用前必须声明并赋初值;•b)成员变量:使用前必须声明但可不赋初值。如果没有初始化成员变量就开始使用,那么每个类型的成员变量都有一个默认的初始值•i.byte、short、int、long类型的初始值为0•ii.float、double类型的初始值为0.0•iii.char类型的初始值‘\u0000’•iv.boolean类型的初始值为false•8.引用类型(referencetype):引用类型是用在对象上的。一个对象可以被多个引用所指向,但同一时刻,每个引用只能指向唯一的一个对象。如果一个对象被多个引用所指向,那么无论哪个引用对对象的属性进行了修改,都会反映到其他的引用当中。•publicclassPeople•{•intage=20;•publicvoidchange(Peoplepeople)•{•people=newPeople();••people.age=30;•}•publicstaticvoidmain(String[]args)•{•Peoplepeople=newPeople();•intage=people.age;•System.out.println(age);•people.change(people);•intage2=people.age;•System.out.println(age2);•}•}13.如果方法不返回值,那么声明方法的时候使用void关键字,在方法定义中可以有两种情况实现不返回值:•a)不使用return语句。•b)使用return,但return后面没有任何值或者变量,return后面只有一个分号,表示退出方法,返回到方法的调用端。•使用方式:•return;