1.什么是注释?注释分为几种?注释有什么作用?
注释是用来解释和说明程序中的内容的,不参与编译,不影响程序的运行效率。注释分为三种:单行注释,多行注释和文档注释。注释最主要的作用是为了提高代码的可读性。
2.什么是关键字?有什么特点?
关键字就是java中具有特殊含义和用发的单词。
关键字的特点:①所有字母都是小写的 ②在高级编译器中会彩色显示。
3.什么是标识符?有哪些组成部分?常见的命名规则有哪些?
标识符就是给类,方法,变量,接口起的名字。
标识符由26个字母大小写,数字,_以及$组成
命名规则:标识符不能使用关键字,不能以数字开头,严格区分字母的大小写,最好是见名之意。
4.数据类型分为哪几种?java中的基本数据类型有哪些?
数据类型分为基本数据类型和引用数据类型;
基本数据类型有:
整型:int,short,byte,long ; 浮点型:float,double;字符:char;布尔:boolean。
引用数据类型有:数组,类,接口。
5.byte的范围是多少?char的范围是多少?
byte的范围是-128到127;char的范围是0到65535。
6.以取值范围的大小排列数据的基本类型?
double>float>long>int>char>short>byte。
7.++和–的使用?
如果不参与运算单独使用的话:前++/–和后++/–是一样的;
如果参与运算的话:前++/–是先自加或自减再参与运算,后++/–是先参与运算再自加或自减。
8.逻辑或( “|” )和短路或( “||” )有什么区别?
逻辑或( “|” )无论前面结果是真还是假后面都会继续运算,短路或( “||” )是如果前面的结果是真则后面的不参与运算。但是逻辑或( “|” )和短路或( “||” )的结果是一样的。
9.逻辑与( “&” )和短路与( “&&” )有什么区别?
逻辑与( “&” )无论前面结果是真还是假后面都会继续运算,短路与( “&&” )是如果前面的结果是假则后面的不参与运算。但是逻辑与( “&” )和短路与( “&&” )的结果是一样的。
10.常用Dos命令:
①盘符切换命令: 盘符名:
②查看当前文件夹: dir
③进入文件夹命令: cd 文件夹命
④退出文件夹命令: cd…
⑤退出到磁盘根目录: cd
⑥清屏 cls
11.JDK和JRE?
jdk是java程序开发工具包,包含jre和开发工具;jre是java语言的运行环境,包含jvm和核心类库;jvm是java虚拟机,保证了java的跨平台性。
三者关系: jdk>jre>jvm。
12. while,do while,for的区别?
①建议使用顺序:for,while,do while;
②循环次数确定的话,建议使用for,循环次数不确定的话,建议使用while;
③do while循环来讲,至少执行一次,因为do while是先执行再进行判断;
④while和do while循环而言,循环结束后初始化条件中定义的变量是可以继续使用的,但是for循环的初始化条件不能再使用。
13.死循环的写法?
while(true)和 for( ; ; )。
while(true)配合break可以停止输出。
14.break和continue的区别?
break是完全跳出循环,不再执行循环体中的代码,可以用在switch语句中;continue是提前结束本次循环,进入下一次循环,continue只能用在循环当中。
15."+"的用法?
①对于数值来说,就是加法;
②对于字符char类型来说,在计算之前char会被提升成int然后进行计算;
③对于字符串string来说,加号代表字符串的连接操作。(任何数据类型和字符串进行连接的时候,结果都会变成字符串)。
16.取模 % (余数)运算符的作用?
①判断奇偶数;
②判断一个数字能否被另一个数字整除;
③ /(除法)和 %结合使用,可以求出各位上的数值。
17.赋值赋值运算符的特点?
对于+=,-=,/=,*=,%=来说,如果左右两边数据类型不一致,会发生强制类型转换(内部隐藏完成的)。
18.switch注意事项?
①表达式的类型:byte,short,int,char,string,枚举;
②case后的数值不可重复;
③break:结束switch语句;
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会再判断下一个case的值,直接向后运行,直到遇见break,或者整体switch结束。
19.方法的调用形式?
如果是有返回值的方法:
①单独调用(没有意义);
②赋值调用(建议使用);
③打印调用
如果是没有返回值的方法:
①单独调用(只能使用单独调用)
20.定义方法的注意事项?
①定义位置:类中方法外;
②返回值类型:必须要和return语句返回的类型匹配,否则编译失败;
③不能再return后面写代码,return意味着方法结束,所有后面的代码永远都不会执行,属于无效代码;
④有返回值的方法,必须保证有且只有一个return被执行。
21.方法重载和方法重写的区别?
方法重载是再同一个类中,方法名相同,参数列表不同(数量,类型,多个类型顺序不同),与修饰符,返回值无关;
方法重写是再子类与父类中,子类中有与父类一模一样的方法时就会出现覆盖效果,
22.数组的使用?
①数组名称:代表数组在内存空间中的地址值;
②索引:数组中的每个元素对应一个编号,从0开始到长度-1;
③数组元素: 数组名称[索引编号];
④获取数组中元素的个数:数组名称.length。
23.数组操作的常见问题?
①数组索引越界异常:ArrayIndexOutOfBoundsException
②空指针异常: NullPointerException
24.什么是面向对象?面向对象的特点?面向对象的思想?
当要实现一个功能时,不关心具体的实现步骤,只关心结果,找一个具有该功能的类帮助我们做事。
特点:
①是一种更符合我们人类思考习惯的思想;
②可以将复杂的事情简单化;
③角色发生了转换,将我们从执行者变成了指挥者。
面向对象的思想:
①面向对象时基于面向过程的编程思想;
②面向过程:强调的是每一个功能的步骤;
③面向对象:强调的是对象,然后由对象去调用功能;
对象泛指现实中一切事物,每种事物都具备自己的属性和行为。
面向过程:强调步骤 面向对象:强调对象
面向对象包含了三大基本特征:封装,继承,多态
25.什么是类?
类是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
属性:就是该事物的状态信息
行为:就是该事物能够做什么
对象:是一类事物的具体体现,对象时类的一个实例,必然具备该类事物的属性和行为。
26.类和对象的关系?
①类是对一类事物的描述,是抽象的;
②对象是一类事物的实例化,是具体的;
③类是对象的模板,对象是类的实体。
27.堆内存和栈内存?
栈内存用于存储局部变量和代码的执行;堆内存用于存储所有new出来的。
28.数组和集合的区别?
①长度区别:数组的长度是固定不变的,集合的长度是可以变化的;
②存储内容:一个数组中只能存储同一种类型的元素,一个集合中可以存储不同类型的元素;
③数据类型:数组中可以存储基本数据类型也可以存储引用数据类型,集合中只能存储引用数据类型。
29.成员变量和局部变量的区别?
①定义位置:成员变量定义在类中方法外,局部变量定义在方法内;
②作用范围:成员变量在整个类中有效,局部变量在所在方法内中有效;
③初始化值:成员变量是有默认初始化值的,局部变量不赋值不能使用;
④生命周期:成员变量随着对象的创建而存在随着对象的消失而消失,局部变量随着方法的调用而存在,随着方法调用结束而消失;
⑤内存位置:成员变量随着对象的创建存放在堆内存中,局部变量存放在栈内存中。
30.封装是什么?
封装就是把不需要对外暴露的信息隐藏在对象内部,不允许外部程序直接访问对象的信息,而是通过对外提供的公共访问方式对其访问。
31.static关键字的特点?
①被static关键字修饰的变量和方法随着类的加载而加载;
②优先于对象存在;
③能够通过类名直接调用;
④被类的所有对象所共享
32.private关键字?
被private修饰的变量只能在本类中直接访问,其他不能直接访问被private修饰的成员变量。
解决方案:
其他类可以间接访问被private修饰的成员,给private修饰的成员变量提供set和get方法。
33.如果成员变量和局部变量重名了?
成员变量:直接写变量名
成员变量:this.变量名
34.this到底代表谁?
哪个对象调用方法,方法内部的this就代表的是哪个对象;
当对象调用方法时,方法内部隐藏了一个this关键字,用来接收调用对象的地址值,如果需要使用this,那么就直接使用。
35.构造方法和set方法的区别?
①构造方法:创建一个新的对象的;
②set方法:修改对象中 成员变量的值。
36.匿名对象的注意事项:
①匿名对象,因为没有名字,创建完毕后,必须立刻马上使用,只能使用一次;
②匿名对象,作为方法参数床底的是地址值,作为方法的返回值,返回的是地址值。
37.string字符串的特点:
①字符串不变,字符串的值在创建后,不能被更改;
②因为string对象是不可变的,所以它们可以被共享;
③”abc“等效于char [] data={‘a’,‘b’,‘c’}。
38.静态的注意事项:
静态只能使用静态的东西,不能使用非静态的东西(静态当中不能使用非静态);静态方法由类名调用,此时没有对象,既然没有对象,不能使用非静态的内容,因为非静态的内容存在于对象中。
39.静态方法调用的注意事项:
①静态方法可以直接访问静态变量和静态方法;
②静态方法不能直接访问普通成员变量或成员方法;
③静态方法中不能使用this关键字。
40.静态代码块的特点?静态代码块的作用?
①随着类的加载而加载,而且只被唯一的执行一次;
②如果new创建独享,构造代码块优先于构造方法执行,唯一执行一次;
③静态代码块,仍然属于静态的内容,里面不能使用非静态
作用:
①给静态成员赋值
②完成项目的初始化
未完待续…