Java每日一考
1、JDK、JRE、JVM三者之间的关系,以及JDK、JRE包含主要结构有哪些?
JDK = JRE + Java的开发工具(javac.exe、java.exe、javadoc.exe)
JRE = JVM + Java核心类库
2、为什么要配置path环境变量?怎么配置?
3、常用的几个命令行操作都有哪些?(至少4个)
4、创建如下类,使得运行的话可以输出:
创建java文件:HelloWorld.java
5、编译和运行上述代码的指令
编译:javac HelloWorld.java
运行:java Hello
1、标识符的命名规则有哪些?
2、标识符的命名规范有哪些?
3、java变量按照数据类型怎么划分?并指出Java的基本数据类型有哪8种,并指出各自占用的内存空间大小。
4、说明基础数据类型变量之间自动类型提升的运算规则
byte、short、char->int->long->float->double
5、说明基础数据类型变量之间强制类型转换的使用规则和强制类型转换可能出现的问题
容量大->容量小
使用强制符:()
精度损失
&和&&的异同
- &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
- &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。If(x33 & ++y>0) y会增长,If(x33 && ++y>0)不会增长
- &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
1、switch后面使用的表达式可以是哪些数据类型
byte、short、char、int、枚举类型变量、String类型
2、改写代码
3、谈谈你对三元运算符、if-else和switch-case结构使用场景的理解
4、如何从控制台获取string和int型的变量,并输出?使用代码实现
引用java.util.Scanner的包
Scanner scan = new Scanner(System.in);
String info = scan.enxt();
int id = scan.nextInt();
5、使用for循环遍历100以内的奇数,并计算所有的奇数的和并输出
1、循环结构是如何最后退出循环的,有哪些不同的情况请说明
①循环条件返回false
②在循环体内,一旦执行到break,跳出循环
3、一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3
编程找出1000以内所有的完数。
4、说明break和continue使用上的相同点和不同点
5、从控制台输出以下内容
******
*****
****
***
**
*
1、写出一维数组初始化的两种方式
2、写出二维数组初始化的两种方式
3、如何遍历如下的二维数组
int[] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};
4、不同类型的一维数组元素的默认初始化值各是多少?
5、一维数组的内存解析:
String[] strs = new String[5];
strs[2] = "Tom";
strs = new String[3];
1、使用冒泡排序,实现如下的数组从小到大排序
2、如何反转上面的数组,请代码实现
3、复制上述数组,得到一个新的数组
4、使用线性查找,从上述数组中查找—是否存在,返回所在未知的索引,不存在,输出提示信息。
5、数组中常见的异常有哪些?请举例说明
1、面向对象思想编程内容的三条主线是什么?
类及类的成员、
面相对象的三大特征:封装、继承、多态
其他关键字
2、说一说类和对象的关系
3、面相对象思想的体现:类和对象的创建和执行操作有哪三步?
4、分析下列代码的内存分布情况
1、什么是方法的重载
2、说明Java方法中的参数传递机制的具体体现
3、成员变量和局部变量在声明的位置上、是否有默认初始化上、是否有权限修饰符修饰上、内存分配的位置上有何不同?
4、谈谈return关键字的使用
5、谈谈下列代码的内存解析。
1、构造器的作用是什么?使用中有哪些注意点?
2、关于类的属性的赋值,有几种赋值的方式,谈谈赋值的先后顺序
3、this关键词可以用来调用哪些结构
4、Java中目前设计的四种权限修饰符都有什么?并说明各自的权限范围
5、创建Circle类,提供私有的radius属性,提供相应的get和set方法,提供圆面积的方法
1、什么是多态性?什么是虚拟方法调用?
2、一个类可以有几个父类?一个父类可有多少个子类?子类能获取直接父类的父类中的结构吗?子类能否获取父类private权限的属性或方法?
3、方法的重写(override/overwrite)的具体规则有哪些?
4、super调用构造器,有哪些具体的注意点
5、在下面的代码结构中,使用关键字:this、super;方法的重写;继承
1、如何实现向下转型?需要注意什么问题?如何解决此问题?
使用强转符
2、==和equals()有何区别?
3、编程实现重写equals();
4、写出8种基本数据类型及其对应的包装类
5、基本数据类型、包装类与String三者之间如何转换?