java ages含义,JAVA--概念性问题

初识JAVA

1.抽象类和接口的区别?

(1)接口是特殊的抽象类(2)抽象类可以有非抽象方法,接口则不能(3)非抽象类的子类可以定义成抽象类,接口只能继承接口(4)类可以实现多个接口,但只能继承一个抽象类

2.方法重载和方法重写?

重载:一个类中方法名相同,参数列表(参数项,顺序,个数;无关参数名)不同;返回类型可以不同,修饰符可以不同

重写:在继承关系中,子类中存在于父类相同的方法名称、参数列表和返回值;但注意,子类不能缩小父类的访问权限也不能抛出更多的异常

3.finalize的作用

在Java的垃圾回收机制中,回收对象所占内存千,调用此方法。为object类所有, 可以进行一些譬如关闭流的操作

4.Java中的方法参数长度是可以变得

public void getAge(int ... ages){},即在行参数中在数据类型后加连续的三个 .  即可。处理的过程中会转化成数组的形式。所以,可以吧ages当做数组来处理。但是,要注意,“能匹配多个不确定实参的形参”与“数组形参”并不是完全相同的。比如(int [] ages)在调用时候(1,2,3)就会编译错误

5.java环境变量

(1)java-home :jdk安装目录

(2)classpath  :.;tools.jar;dt.jar     .代表的是当前路径,意思是强制java解释器在当前的路径下查找java的字节码文件

(3)path            :jdk安装目录/bin    java的相关命令的位置

6.boolean flag = new long[2] instanceof long[];好像没有初始化

instanceof 是java的保留关键字。他的含义是查看左边的对象是否是右边的实例。结果是true。所以实际是赋值了true给flag

7.switch结构

switch的表达式。只能是byte short char int以及枚举。可以理解为int和枚举。因byte,short,char都会转变成int。也就是说,表达式必须产生一个int或者枚举类型的结果。

不可以使long因long的级别比int高

其中。default可以不放在最后,也可以省略,他代表的是如果case中没有条件的话,他会进行输出,若defalt在开头,且case无选中,default中也无break。那么switch会继续执行知道遇到下一个break为止

8.标识符命名规则

标识符用于给程序变量、变量、方法、类、接口和包等命名的符号

(1)字母,数字,&,_组成

(2)首字母不能是数字  (原因如果是纯数字。则无法区分是变量值还是标识符)

(3)标识符区分大小写。对长度无限制

(4)不能使关键字(关键字全部小写),保留字,常量值(null,true,false)

9.JDK,JRE,JVM的关系。

jdk包含jre,jre包含jvm.

jdk是java开发软件工具箱。jre是java运行环境,也包含运行java其他环境支持。jvm则是java虚拟机,实现java跨平台的原因。

jvm工作是:JVM由C编写,他本身不跨平台。首先java的源文件由编译器进行编译,生成字节码文件(不能再任何机器上直接运行时java编译器专门针对java虚拟机生成的),在java虚拟机中存在一个解释器,他负责将字节码文件解释为本地的机器码,此时底层平台就可以执行了。

源文件.java  ->   解释器(编译)  ->  字节码文件.class  ->   java虚拟机  ->   底层平台

10.continue,return,break调转语句的作用

continue是跳出本次循环,进入下一次循环。嵌套循环中若处于子循环中,只跳出子循环的当前循环,并进入子循环的下一循环

break是结束循环。或者结束switch。若处于嵌套循环的子循环中,只结束子循环,父循环仍然会继续

return是跳出方法并返回方法执行的结果。

11.Arrays类的6中常用方法

equles sort toString file copyOf

biarySearch 关于这个方法,需进行升序排列后再查。所以为止可能与未排序前不同

12.while、dowhile、for、foreach的异同点

相同点:无论哪一种循环结构都由四个必不可少的部分组成,分别为初始部分、循环条件、循环语句以及迭代语句

不同点:(1)对于循环次数固定的情况,通常选用for循环;

(2)对于循环次数不确定的强狂,通常选用while和do-while

(3)while循环是先判断再执行,可能一次也不执行。而do-while是先执行再判断,至少执行一次;

(4)forxunhuanz中将循环语句和迭代语句分开;

(5)对于比较复杂的循环,可以使用多重循环实现

13.for循环和foreach循环的区别:

(1)for循环是有界循环,需要知道循环次数,而foreach循环则不需要知道循环的次数;

(2)foreachx循环专门用来便利数组和几何,使用简单,而for循环使用的情况更广;

(3)foreach循环语句语法格式更简单,无需使用下表。没有复制语句。没有循环条件,没有迭代语句,所有这些均有系统来完成;

%关于foreach需要注意

不要尝试改变数组的值,因为他吧数组值赋给一个临时变量,他仅存储了数组元素的值

14.运算符的优先级别总结:

(1)有限级别最低的运算符。包括一系列的符号运算符在内。括号的优先级最好

(2)单目运算符,包括! ~ ++ -- 它们处于同一级,且级别都很高

(3)总体而言,算术运算符>关系运算符>逻辑运算符

(4)大多数运算符的运算结合顺序都是从左向右,但也有从右向左的,它们分别是,赋值运算符,单目和三目运算符

15.位运算符的注意事项:

(1)以二进制位单位运算。

(2)操作数位整型数,包括int、short、long、byte和char。其结果也是整形包括int和long

(3)操作数若是byte,char,short位运算前会将值自动今生位int

(4)位运算结果只能是int和long

%一个整数,每向左或向右移动一位,其值扩大或缩小两倍

16.逻辑运算符的注意事项:

(1)操作数类型只能是布尔

(2)优先级别:!   >   &   >   ^   >   |   >   &&  >   ||

17.i++与++i区别:

若不论将运算符付给其他变量。无区别,但若比较。则++i先自身+1再赋值运算,而i++则相反。就是先执行赋值运算之后再+1

18.可以定义常量:

基本数据类型都可以定义常量,而引用数据类型,只有String可以有常量类

各种数据类型都可以定义变量,且变量都是先定义后使用,null常量可以赋给所有引用数据类型的变量

19.Java的优势: (1)跨平台:java最突出的优势

(2)安全,去掉了指针,提供了自动内存管理机制。垃圾回收机制

(3)完全面向对象

(4)简单。取消了c++一些不实用的部分,并提供了类库

(5)健壮。提供了强类型机制,异常处理机制,垃圾回收机制

20.关于十进制与二进制的转换:

在很多时候需要处理这样的问题,比如位运算符的左移和右移。在java中有详细记载关于十进制的转换

21.关于多维数组:

首先,java中实质是没有多维数组的概念,虽然给出了二维数组的语法

他的原理是在栈中指向了堆中一组连续的内存空间,然后由堆中的每个空间再指向堆中的一组连续的空间

且在java中允许二维不定长度的数组

22String的intern() 检查字符串池中是否存在,若存在,则返回池里的字符串。不存在添加到池中。然后再引用。所以最好是这样。 Strfing s = new String("1234").intern();s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值