Java编程基础
- Java中的标识符如何命名?可以用中文吗?
- Java中有哪些关键字?
- 用public、protected、private修饰方法有什么区别?
- this关键字有什么含义?哪些情况下应用?
- super关键字有什么含义?哪些情况下应用?
- static关键字有什么含义?具体如何应用?能修饰构造方法吗?
- final关键字有什么含义?具体如何应用?
- instanceof关键字有什么含义?如何应用?
- Java中有哪些数据类型?
- 如何解决float和double精度不准的问题?
- 成员变量和局部变量的区别?
- 变量之间传值可分为值传递和引用传递,区别?
- Java中运算符优先级?
- break和continue语句有什么区别?
- 如何实现数组的复制?
Java中的标识符如何命名?可以用中文吗?
- 可以有中英文字母、下划线、$和数字构成
- Java是大小写敏感的,标识符也是,注意避开关键字
- 标识符没有长度限制
- 类名、接口 :每个单词首字母大写,其他小写
- 方法、变量 : 小写字母开头
- 常量全部大写
- 包名全部小写
Java中有哪些关键字?
abstract、assert、boolean、break、byte、continue、case、catch、char、class、const、double、default、do、extends、else、final、float、for、goto、long、if、implement、import、native、new、null、instanceof、int、interface、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、while、void、throw、translent、try
用public、protected、private修饰方法有什么区别?
- default不是修饰符,他表示一种不加任何修饰符的状态。
this关键字有什么含义?哪些情况下应用?
- 出现在方法和构造方法中:
- 返回调用当前方法的对象的引用
- 在构造方法中调用当前类中的其他构造方法
当方法参数名和成员变量名相同时,用于区分参数名和成员变量名
super关键字有什么含义?哪些情况下应用?
- 调用父类中的构造方法
- 调用父类中的方法和属性
static关键字有什么含义?具体如何应用?能修饰构造方法吗?
- static关键字可以修饰方法、属性、自由块和内部类,
- static关键字不能用于修饰构造方法
- static修饰的方法中,不能调用没有static修饰的方法和属性,也不能使用this和super关键字
final关键字有什么含义?具体如何应用?
final关键字可以修饰类、成员变量、方法
instanceof关键字有什么含义?如何应用?
instanceof关键字属于java中的一个二元操作符,和==,>等操作符作用相似,用于判断某对象是否为某个类或接口类型。
Java中有哪些数据类型?
boolean(1)、byte(8)、char(16)、short(16)、int(32)、long(64)、float(32)、double(64)
byte-Byte、short-Short、int-Integer、long-Long、boolean-Boolean、float-Float、double-Double、char-Character
- 简单数据类型:数值型、字符型、布尔型
- 引用数据类型:类、接口、数组
如何解决float和double精度不准的问题?
- 使用java.math,BigDecimal.
ArithUtil.add(0.05,0.01);
ArithUtil.sub(1.0,0.42);
ArithUtil.mul(1.0,0.42);
ArithUtil.div(1.0,0.42); - ArithUtil是自定义的一个工具类,封装了加、减、乘、除
成员变量和局部变量的区别?
- public、protected、private、static可以修饰成员变量,不能修饰局部变量、两者都可以使用final
- 成员变量存储在堆内存中,局部变量存储在栈内存中
- 作用域不同,成员变量在整个类中有效,局部变量在方法体重有效
- 成员变量可以默认初始化,局部变量必须显示初始化
变量之间传值可分为值传递和引用传递,区别?
简单类型变量采用值传递,引用类型变量采用引用地址传递。
Java中运算符优先级?
break和continue语句有什么区别?
- break的作用是可以结束其所在的switch语句或者循环语句的执行
- continue的作用是终止本次循环,进入下一次循环
如何实现数组的复制?
可以使用System类的一个静态方法arraycopy()方法
static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)