1、变量在运算过程中的值是变化的,可以被多次赋值。常量则是固定的。9标识符的组成?以及命名规则?标识符有26个字母的大小写,0到9,_和$组成。 命名规则:不能使用关键字,不能数字开头,严格区分大小写,要见名知义。 函数名和变量名如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。 类名和接口名如果是多个单词组成,首字母全部大写。 包名全部小写。 常量名全部大写,如果是多个单词,用_隔开。10.变量数据类型分为哪几种?如何使用变量?基本数据类型:整形:包括byte、short、int、long。浮点型:包括float、double。字符型;char;布尔型:boolean。引用数据类型:数
2、组、类、接口。变量需要先定义,再赋值,才能使用。11.常量分为哪几种?自定义常量和字面值常量。自定义常量是我们自己通过final修饰定义的常量。字面值常量包括整数、小数、布尔、字符、字符串。12.byte的范围多少?char的范围多少?答:byte范围-128到127 。 char范围0到65535.13. ASCII码表中 字符 0 , aA 分别对应int类型的值是多少.0在表中对应的值是48,a对应的是97;A对应的是65.14. long是8个字节,float是4个字节,为什么long 比 float小?底层采用的运算规则不一样。15. 以取值范围的大小排列数据的基本类型.double
3、floatlongintcharshortbyte16.+=、-=、这些运算符内隐含了强制类型转换。17.+和的使用?单独使用的时候,在前在后都一样。 参与运算的时候,在前是先自加或者自减,然后再用这个结果参与运算。在后是先参与运算,再进行自加或者自减。18. 逻辑或 | 和 短路或 | 有什么区别?|不管前面的结果是真是假后面的都会运算,|前面为真后面的不参与运算。但是结果是一样的。19. 逻辑与 & 和 短路与 & 由什么区别?不管前面的结果是真是假后面的都会运算,&前面为假后面的不参与运算。20.Math.round原理是什么?先加0.5,然后再取floor值。21.生成随机数的方法?第
4、一种:Random类中的方法;第二种Math.random()方法,生成的是0.0和1.0范围之间的小数。22.ifelse.和三元表达的区别能用三元表达式写的就能用if语句写,但是能用if语句写的,三元表达式不一定能写。三元表达式必须要有一个结果。23.while、do while 、for的区别?do while语句是先执行后判断,while和for先判断后执行。 for循环结束后,其中定义的初始化条件不能再使用。24.if和switch区别?if1.对具体的值进行判断。2.对区间判断。3.对运算结果是boolean类型的表达式进行判断。switch: 1.对具体的值进行判断。2.值的个数
5、通常是固定的 25. switch语句的表达式可以放什么?byte、short、int、char。JDK1.5以后可以使用枚举,1.7之后可以使用String。26. 死循环的两种写法.while(true) 和 for(;)27. break和continue还有Return的区别break是完全跳出循环,不再执行循环体的代码。也可以用在switch语句中。Continue是提前结束本次循环,进入下次循环。Return是结束方法。28.switch中break可以省略吗?default可以省略吗?break在最后一个可以省略,其他的不要省略。Default可以省略。29:方法重载和方法重写的
6、区别?方法重载是在同一个类中出现同名方法,参数列表不同,与返回值类型无关。 方法重写是在子父类间,子类出现和父类声明完全相同的方法时,就成为方法重写。重写要求返回值必须相同或者有子父类关系。30.方法的注意事项:要明确方法的返回值类型,明确方法的参数列表。31.方法的调用?有返回值时可以单独调用,但是没有意义;也可以放在输出语句中;可以赋值给变量。无返回值直接调用即可。32.数组的定义格式?int arr =new int5;int arr= new int5;int arr = new int1,5,6,7,; int arr = 23,6,8,9二维数组String arr = new S
7、tring3;Syso(arr0) 打印的结果是null。33.数组的默认值?答;整形的默认值是0,引用数据类型是null;boolean型的是false。34.栈内存和堆内存?栈内存用于存储局部变量和代码的执行,堆内存中都是new出来的。35.数组和集合的区别:(1)长度区别:数组长度是固定的;集合长度可变。(2)存储内容:一个数组只能存储同一种数据类型的元素;集合可以存储不同数据类型的元素。(3)数据类型:数组能够存储基本数据类型,也能够存储引用数据类型;集合只能存储引用数组类型。36.数组和集合的转换?数组转为集合:Arrays.asList(数组),转为集合后不能添加、删除元素。但是可
8、以修改元素。把基本类型的数组转为集合,把这个数组作为对象存入集合中。集合转为数组:list.toArray().二、面向对象37. 在栈内存中。存储位置不同,局部在栈,成员在堆(4)初始化值不同:成员变量是有默认的初始化的值的;局部变量不赋值不能用。(5)生命周期不同:成员变量随着对象的存在而存在,随着对象的消失而消失;局部变量随着方法的调用而存在,方法调用完毕而消失。38.变量的使用顺序?就近原则。先在局部找,局部找不到在本类中找,本类找不到就去父类找,找不到就编译失败。39.类和对象的关系?类是具有相同或相似一类事物的抽象;对象是类的实例化。40.java描述事物最基本的单位?类41.什么
9、叫面向对象?面向对象是一种思想,它是基于面向过程的,强调的是具备功能的对象,让对象调用方法解决问题。在开发中,要完成特定的功能就去寻找相应的对象,如果找不到就创建对象,使用对象,维护完善对象。自己举例说明:厨师做饭,女朋友洗衣服。思想特点:1.让复杂的事情简单化;2,更符合人类的思维需求;3.角色从执行者到指挥者。三大特征:封装,继承,多态。42.什么是封装?封装的原则?好处?封装就是把不需要对外暴露的状态信息隐藏在对象内部,不允许外部程序直接访问对象的信息,而是通过该类对外提供公共的访问方式对其访问和操作。原则:(1)将不需要对外暴露的信息隐藏;(2)对外提供公共的访问方式。好处:将变化隔离
10、;提高了安全性;便于使用,提高了重用性。43.封装就是私有,对吗?为什么?private是封装的一种体现形式。方法也是封装。44. Java中参数传递的问题:如果是基本数据类型,传递的参数要和形参的类型一致;如果是引用数据类型,那么传递的参数类型和形参的一致,或者是他的子类。45. 构造方法,set方法都可以给成员变量赋值,这两种赋值方式有什么区别?构造方法主要作用是用来给对象初始化,赋值只是他的兼职工作,也可以不用赋值。 Set方法只能用来赋值,在原有对象的基础上赋值。46. static关键字的特点?注意事项是什么?有什么好处和弊端?(1)被static修饰的变量和方法随着类的加载而加载(
11、2)优于对象存在(3)能够被类名直接调用(4)资源共享。注意事项:静态方法中不可以定义this、super关键字,因为静态优先于对象存在,静态只能覆盖静态。static能够被类名直接调用,定义的是对象的共性内容,不用每个对象单独定义,节省空间。弊端:生命周期过长。47.类变量和实例变量的区别?(1)所属不同:类变量属于类,是对象的共性内容;实例变量属于对象,是特性内容。(2)存储位置不同:类变量随着类的加载存储于方法区;实例变量随着对象的创建存储于堆内存中。(3)生命周期不同:类变量随着类的加载而存在,随着类的消失而消失;实例变量随着对象的存在而存在,随着对象的消失而消失。(4)调用方式不同:
12、类变量能够被类名直接调用,有对象的时候也能被对象调用;实例变量只能被对象调用。48. 构造方法能不能重载?可以,在同一个类中,参数列表不同,与返回值无关。49.静态代码块和构造代码块的区别?(1)静态代码块属于类,给类进行初始化,类一加载就会执行,只执行一次,经常用于加载驱动。(2)构造代码块给对象进行统一初始化,每创建一次就会执行一次。50.什么是继承?当多个类中有很多共性的内容时,我们可以把这些共性内容抽取出来封装成一个类,让这些类与这个封装的类产生关系。这种关系就是继承。51.继承的的特点和好处,弊端?特点:java只支持单继承,但是能够多层次继承;接口能够单继承,也能够多继承。(1)提
13、高了代码的复用性(2)提高了代码的维护性(3)提高了代码的扩展性。(4)让类与类产生了关系,是多态的前提。增强了类与类的耦合性。52.this和super 的区别?this代表对象的引用,super代表当前对象父类的引用。53Super()和this()在构造方法能同时使用吗?答 :不能,super调用的是父类的构造,要放在构造函数的第一行;this调用的是本类的构造,也要放在第一行。Super关键字和this关键字能否在构造函数中共存?能。54.为什么每个构造函数中第一行都有默认的super()?用于子类对象访问父类前,对父类数据进行初始化。55.为什么默认的super()都是空参的呢?因为Object类是所有 类的父类,Object中只有一个空参构造。56.构造方法的特点?(1)方法名和类名相同(2)没有返回值,连viod都没有。(3)不用写return,可以有ret
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1