您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > linux/Unix相关 > JAVA基础知识点梳理(精简)
JAVA基础知识点梳理(重点笔记)1、标识符规则a)可以由字母、数字、下划线、美元符$组成,不能以数字开头b)不能是java的关键字和保留字c)严格区分大小写,且尽量见名知意2、变量publicclasstest{publicstaticvoidmain(String[]args){Stringlove=imooc;System.out.println(变量love的内容是:+love);love=iloveimooc;System.out.println(重新赋值后变量love的内容是+love);}}3、变量命名习惯:a)第一个单词的首字母小写,其后单词的首字母大写(骆驼式),myAgeb)变量命名时,尽量简短且能清楚的表达变量的作用,见名知意,如stuNamePs:java变量长度没有限制,但是严格区分大小写4、数据类型a)int:4个字节b)Double:8个字节c)Float:4个字节float变量赋值在数值后添加字母ffloathe=12.2f;d)Char:2个字节char变量赋值使用单引号’’e)Boolean:1个字节取值只能为:true和falsef)String:引用数据类型5、Java常量的应用:a)Final数据类型常量名=值;b)常量名一般使用大写字符6、逻辑运算符:a)^:异或有且只有一个为true则返回true7、条件运算符:a)()?正确表达式:错误表达式i.Eg:Stringstr=(85)?“yes”:“no”8、运算符优先级最高的是:()9、输出换行:System.out.println();10、//循环语句练习packagettt;publicclasstest6{publicstaticvoidmain(String[]args){inti=1;intsum1=0;for(;i101;i++){if((i%3)!=0){sum1+=i;}}System.out.println(100以内不可以被3整除的数之和为:+sum1);}}11、System.out.println换行12、System.out.print不换行13、packagettt;importjava.util.Scanner;publicclasstest8{publicstaticvoidmain(String[]args){inti=1;System.out.println(请键入一个9位以内的数:);Scanneraa=newScanner(System.in);intbb=aa.nextInt();aa.close();for(;bb9;i++){bb=bb/10;}System.out.println(i的值为+i);}}14、数组a)声明数组:i.数组类型[]数组名;ii.数组类型数组名[];b)分配空间:i.数组名=new数据类型【数组长度】Eg:socres=newint[5];合并:int[]socres=newint[5];c)int[]sorces={1,2,2,3};等价于:int[]sorces=newint[]{1,2,2,3};d)数组名.length获取数组的长度e)arrays类操作java中的数组1、排序:arrays.sort(数组名)(升序)2、将数组转换为字符串:arrays.toString(数组名);(可以实现把多个数组元素连接在一起,元素中间用逗号和空格隔开)。f)foreach形式的for语句使用:for(inti:words){System.out.print(i);}15、java中无参无返方法的调用a)定义:publicvoidshow(){}方法名字第一个词小写,之后首字母大写b)调用:i.创建类的对象ii.对象名.方法名();16、java中无参有返方法的调用a)Publicintshow(){returnsum;}b)注意:i.如果方法的返回类型为void,则方法中不能使用return返回值ii.方法的返回值最多只能有一个,不能返回多个值iii.方法返回值的类型必须兼容17、方法的重载:a)必须是在同一个类中b)方法名相同c)方法参数的个数、顺序或类型不同d)与方法的修饰符或返回值没有关系18、随机数方法:(int)(Math.random()*100)不需要导包19、类和对象:a)类是模子,确定对象将会拥有的特征(属性)和行为(方法)b)类是对象的模型,具有相同属性和方法的一组对象的集合c)对象:i.属性——对象具有的各种特征ii.每个对象的每个属性都有特定值d)类是抽象概念,仅仅是模板,比如“手机”;对象是一个具体的实体e)所有的java程序都是以类class为组织单元,由属性和方法组成f)Java对象使用步骤:i.类名对象名=new类名();ii.Phonephone=newPhone();iii.引用属性:phone.screen=5;//给screen属性赋值5iv.引用方法:phone.send();//调用send()方法20、成员变量和局部变量的区别a)作用域不同b)初始值不同c)在同一个方法中,不允许有同名局部变量d)两类变量同名时,局部变量具有更高的优先级21、构造方法:a)使用new+构造方法创建一个新的对象b)构造方法是定义在java类中的一个用来初始化对象的方法c)构造方法与类同名且没有返回值v.构造方法的格式:public构造方法名(){//初始化代码}vi.Phonephone=newPhone();vii.构造方法的名字与类名相同d)当没有指定构造方法是,系统会自动添加无参的构造方法e)当有指定构造方法,无论是有参、无参的构造方法,都不会自动添加无参的构造方法f)构造方法的重载:方法名相同,但参数不同的多个方法,系统自动选择22、静态变量static:a)Static可以修饰变量、方法、代码块b)访问(引用):类名.变量名hello.hahac)定义:publicstaticStringhaha=”imoc”;d)Public:表示公开的、公有的23、静态方法:a)访问:类名.方法名();b)静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。c)如果调用非静态成员,可以通过对象来访问d)在普通的方法中可以直接访问同类的非静态变量和静态变量e)静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。24、程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。25、面向对象的三大特性:封装、继承、多态26、封装:a)概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问b)好处:只能通过规定的方法访问数据;隐藏类的实例细节,方便修改和实现c)实现步骤:i.修改属性的可见性:设为private:privateinta;ii.创建getter/setter方法:用于属性的读写iii.在getter、setter方法中加入属性的控制语句:对属性的合法性进行判断iv.(其实就是通过调用方法去读写属性)v.可以通过eclipse中source菜单中selectgettersandsetterstocreate27、java中的包:a)作用:管理java文件;解决同名文件冲突b)定义包:package包名i.必须放在java源程序的第一行ii.包名间可以使用“.”隔开iii.Eg:com.imooc.myclass‘;c)系统包:Java.lang.(类):包含java语言基础的类Java.util.(类):包含java语言中各种工具类Java.io.(类):只包含输入、输出相关功能的表d)包的使用:I.可以通过import关键字,在某个文件使用其他文件中的类。Importcom.imooc.music.myclassIi.Java中,包的命名规范是全小写字母拼音Iii.使用的时候不但可以加载某个包下的所有文件,也可以加载某个具体子包下的所有文件28、this关键字:a)代表当前对象i.This.属性操作当前对象的属性ii.This.方法调用当前对象的方法b)封装对象的属性的时候经常会使用this关键字29、java中的内部类:(包含内部类的类称为外部类)a)内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类b)内部类的方法可以直接访问外部类的所有数据,包括隐私的数据c)内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便d)内部类可以分为:i.成员内部类1.内部类中定义的方法可以直接访问外部类中的数据,不受访问控制符的影响2.定义一个内部类对象:内部类对象名=外部类对象.new内部类()3.外部类不能直接使用内部类的成员和方法,可以先创建内部类的对象,然后通过内部类的对象来访问其他成员变量和方法4.外部类和内部类具有相同的成员变量或方法,则内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用this关键字ii.静态内部类1.静态内部类不能直接访问外部类的非静态成员,但可以通过new外部类().成员的方式访问2.如果外部类的静态成员与内部类的成员名称相同,可以通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不同,则可以通过“成员名”直接调用外部类的静态成员3.创建静态内部类的对象时,不需要外部类的对象,可以直接创建内部类对象名=new内部类();iii.方法内部类访问修饰符的总结访问修饰符本类同包子类其他private√默认√√protected√√√public√√√√1.方法内部类就是定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。2.由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和static修饰符iv.匿名内部类30、继承:a)Java里都是单继承b)好处:i.子类直接拥有父类的所有属性和方法,但private除外ii.实现代码的复用iii.Class子类extends父类c)Final关键字i.修饰类:则该类不允许被继承ii.修饰方法:则该方法不允许被覆盖(重写)iii.修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法中赋值iv.修饰变量,则变量的值只能赋一次,即常量d)Super关键字i.在对象的内部使用,可以代表父类对象ii.方位父类的属性,或方法,super.agesuper.eat()31、Object类:a)Object类是所有类的父类,如果一个类没有使用extends关键字明确标识继承另一个类,那么这个类默认继承object类b)Object类中的方法,适合所有子类c)方法:i.toString()方法:1.在object类里面定义的tostring()方法的时候返回的对象的哈希码(对象地址字符串)(用来区分对象)2.如:直接输出dog对象的值:System.out.println(dog);3.生成:source菜单栏——generatetoString()——生成输出属性的方法ii.Equals()方法:1.比较的是对象的引用是否指向同一块内存地址:Dogdog=newDog();2.生成:source菜单栏——generatehashcode()andequals()...a)类对象:姓名、年龄、身高...obj.getclass()b)类的对象:小灰、25、170...obj3.调用:if(dog1.equals(dog2))——判断两个对象是否相同32、多态:(继承是多态的基础)a)引用多态:i.父类的引用可以指向本类的对象:animalsobj1=newanimals();ii.父类的引用可以指向子类的对象:animalsobj2=newdog();iii.注意:子类的引用不可以指向父类的对象:dogobj3=newanimals();b)方法多态:i.创建本类对象时,调用的方法
本文标题:JAVA基础知识点梳理(精简)
链接地址:https://www.777doc.com/doc-7028271 .html