java基础问题整理

1、Java语言的特性

(1)一种纯面向对象的编程语言
(2)一种与平台无关(跨平台)的语言。它提供了在不同平台下运行的解释环境
(3)一种健壮的语言,吸收了C/C++语言的优点
(4)有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

2、简述Java的跨平台原理

Java的跨平台原理主要是通过Java虚拟机(JVM)实现的。Java的源代码(.java文件)经过编译之后形成电脑可执行的Java字节码文件(.class文件),而每个运行平台都有自己的JVM,所以可以实现了跨平台。

3、Java中如何定义变量

变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。具体的形式为:数据类型 变量名;但是变量名要遵守相应的命名规则。

4、变量的分类

按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量

5、什么是标识符

Java对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符

6、标识符的命名规则

(1)由字母、数字、下划线(_)和美元符号($)组成
(2)不能以数字开头
(3)区分大小写
(4)长度无限制
(5)不能是Java中的保留关键字

7、在Java中有几种类型转换,并阐述

Boolean类型不能转换成任何其他的数据类型
自动类型转换:容量小的类型自动转换成容量大的数据类型
Byte、short、int不会相互转换,他们三者在计算时会转换成int类型
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符。有可能造成精度降低或数据溢出,使用时要小心

8、请写出5个逻辑运算符

& 与
| 或
^ 异或
! 非
&& 短路与
|| 短路或

9、请简述&、|、!、^的运算特点

&:需要计算=号两边的表达式,如果都为true,则为true,只要有一个为false,那么结果就为false
|:需要计算=号两边的表达式,只要有一个为true,则结果为true
!:取得相反的结果即可
^:异或运算,两边的结果一样是为false,相反的为true

10、假设有byte变量b,请阐述b=b+5;b+=5;两种写法的区别

首先两者编译的次数不一样:
前者要先计算右边的,然后再执行左边的,但是无法直接计算
前者的在编译的时候无法通过,后者可以自动转换

11、请阐述& 和&&的区别

&:数值运算时为按位与运算,逻辑值运算时分别计算两个表达式的值,再作与运算;
&&:逻辑与运算符,先计算第一个表达式的值,如果为true,那就计算第二个表达式的值,再作与运算,如果为false,不计算第二个表达式,直接返回false(常用)。

12、请写出if语句的四种格式

If(条件语句){}
If(条件语句){}else{}
If(条件语句){}else if(条件语句){}
If(条件语句){}else if(条件语句){}else{}

13、Switch语句中返回值必须是哪几种类型?jdk1.7之后添加的是什么类型

Switch 语句的返回值必须是int、byte、char、short;jdk1.7之后添加的是String

14、请写出While循环语句的格式

While( 条件表达式){
//语句块;
}

15、请阐述While循环的特点,do While循环的特点

While循环:先判断,再执行
Do While循环:先执行,再判断

16、请写出for循环语句的格式

For(初始化参数;判断条件;更新循环变量){
//循环体;
}

17、请写出声明定义数组的四种方式

Int x[];
Int[] x=new int[3];
Int[] x=new int[]{3,4,5}
Int[] x={1,2,3,4};
new int[]{3,4,5}

18、使用数组时要注意哪些异常?这些异常如何产生的?如何避免?

空指针异常、数组越界异常
空指针异常是运行期的异常,编译的时候是不会检查的,只有在运行 的时候才会抛出,一般是由于该变量未赋值就调用导致的,因此要在调用变量之前要记得先赋值。
数组越界异常 一般是数组下标未使数组长度-1导致。

19、请写出foreach语句格式

For(type element:array){
//具体的执行语句
}

20、请写出冒泡排序核心代码

for(int i=0;i<=array.length-1;i++){
   for(int j=0;j<array.length-1-I;j++){
        if(array[j]>array[j+1]){
             int temp=0;
             temp=array[j];
            array[j]=array[j+1];
            array[j+1]=temp;
}
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值