1 什么是可变参数? 可变参数允许调用参数数量不同的方法
public int sum(int...numbers){
int sum=0;
for(int number:numbers){
sum+=number;
}
return sum;
}
public static void main(String[] args){
VariableArgumentExamples example = new VariableArgumentExamples();
syso(example.sum(1,4,5));
syso(example.sum());
syso(example.sum(1,4,5,20));
}
2 断言的用途?
断言是在Java1.4中引入的,它能让你验证假设 如果断言失败即返回false 就会抛出assrtionError(如果启用断言)
private int computerSimpleInteres(int pricipal){
assert(privipal>0);
return 100;
}
3 什么时候使用断言?
断言不应该用于验证输入数据到一个public方法或命令行参数
illedalArgumentException会是一个更好的选择
在public方法中,只用断言来检查他们根本不应该发生的情况
4 什么是垃圾回收?
是java中自动内存管理的另一种叫法
目的:为程序员保持尽可能多的可用堆
jvm会删除堆上不再需要从堆引用的
5 用一个例子解释垃圾回收?
void method(){
News news=new News();
}
在堆上创建了News类的一个对象,函数执行结束后,引用变量news不再有效
6 什么时候运行垃圾回收?
垃圾回收在Jvm突发奇想和心血来潮时运行(堆可用内存不足)
7 垃圾回收的最佳做法?
jvm通过调用system.gc()方法来运行垃圾回收,当内存已满,且堆上没有对象可用于垃圾回收是
jvm可能会抛出outOfMemoryException 对象在被垃圾回收,即在堆上被删除之前,会运行finalize()方法
8 什么是初始化数据块?
当创建对象或加载类时运行的代码 有两种类型的初始化数据块。静态初始化器:加载类时运行的代码
实例初始化块: 创建新对象时运行的代码
9 什么是静态初始化器?
public class initializeExamples{
static int count;
int i;
static{
syso("static initializeer...");
syso("count when static initializer is run is"+count);
}
public static void main(String[] args){
InitialzeExamples example=new InitialzeExamples();
InitialzeExamples example2=new InitialzeExamples();
InitialzeExamples example3=new InitialzeExamples();
}
}
输出: static initializer
count when static initializer is run is 0.
10 什么是实例初始化快?
public class initializeExamples{
static int count;
int i;
{
syso("static initializeer...");
i=6;
count=count+1;
syso("count when static initializer is run is"+count);
}
public static void main(String[] args){
InitialzeExamples example=new InitialzeExamples();
InitialzeExamples example2=new InitialzeExamples();
InitialzeExamples example3=new InitialzeExamples();
}
}
输出: static initializer
count when static initializer is run is 1.
static initializer
count when static initializer is run is 2.
static initializer
count when static initializer is run is 3.
11 什么是正则表达式?
正则表示式 能让解析 扫描 和分割字符串变得非常容易
java中常用的正则表达式---patter matcher scanner类
12 什么是令牌化?
令牌化是指在分隔符的基础上将一个字符串分割为若干个子字符串
例如:分隔符; 分割字符串 ac;bd;def;e为四个子字符串
分隔符自身也可以是一个常见正则表达式
String.split(regex)函数将regex作为参数
13给出令牌化的例子?
private static void tokenze(String str,String regex){
String[] tokens=str.split(regex);
syso(Arrays.toString(tokens));
}
14 如何使用扫描器类令牌化
private static void tokenizeUsingScanner(String string,String regex){
Scanner scanner=new Scanner(string);
scanner.userDeliiter(regex);
List(String) matches=new ArrayList<String>();
while(scanner.hasnext()){
matchers.add(scanner.next());
syso{ matchers};
}
}
15 如何添加小时到一个日期对象
Date date=new Date()'
date.setTime(data.getTime()+6*60*60*1000);
syso(date);
date=new Date();
date.setTime(date.getTime()-6*60*60*1000);
syso(date);
16 如何格式化日期对象?
格式化日期对象需要使用DateFormat类完成
17 java中日历类的用途?
calendar类 在java中用于处理日期
calendar类提供了增加和减少天数 月数 和年数的简便方法
18 如何在java中获取日历类的实例
calendar类不能通过使用new calendar创建 得到calendar类实例的最好
办法是在calendar中使用getInstance()static()方法
19 解释一些日历类中的重要方法?
calendar.set(Calendar.Date,24);
calendar.set(Calendar.Month,8);
calendar.set(Calendar.YEAR,2010);
20 数字格式化类的用途
数字格式用于格式化数字到不同的区域和不同的格式中
使用默认语言环境的数字格式
syso(NumberFormat.getInstace().format(321.24f)); // 321.24
使用区域设置的数字格式 使用荷兰语言环境格式化数字
syso(NumberFormat.getInstance(new Locale("nl")).format(4032.3f)); // 4.032,3
使用德国语言环境格式化数字
syso(NumberFormat.getInstance(Local.GEMANY).format(4032.3f)); // 4.032,3
使用默认语言环境的格式化货币
syso(NumberFormat.getCurrencyInstance().fomat(40324.31f)); // $40,324,31
public int sum(int...numbers){
int sum=0;
for(int number:numbers){
sum+=number;
}
return sum;
}
public static void main(String[] args){
VariableArgumentExamples example = new VariableArgumentExamples();
syso(example.sum(1,4,5));
syso(example.sum());
syso(example.sum(1,4,5,20));
}
2 断言的用途?
断言是在Java1.4中引入的,它能让你验证假设 如果断言失败即返回false 就会抛出assrtionError(如果启用断言)
private int computerSimpleInteres(int pricipal){
assert(privipal>0);
return 100;
}
3 什么时候使用断言?
断言不应该用于验证输入数据到一个public方法或命令行参数
illedalArgumentException会是一个更好的选择
在public方法中,只用断言来检查他们根本不应该发生的情况
4 什么是垃圾回收?
是java中自动内存管理的另一种叫法
目的:为程序员保持尽可能多的可用堆
jvm会删除堆上不再需要从堆引用的
5 用一个例子解释垃圾回收?
void method(){
News news=new News();
}
在堆上创建了News类的一个对象,函数执行结束后,引用变量news不再有效
6 什么时候运行垃圾回收?
垃圾回收在Jvm突发奇想和心血来潮时运行(堆可用内存不足)
7 垃圾回收的最佳做法?
jvm通过调用system.gc()方法来运行垃圾回收,当内存已满,且堆上没有对象可用于垃圾回收是
jvm可能会抛出outOfMemoryException 对象在被垃圾回收,即在堆上被删除之前,会运行finalize()方法
8 什么是初始化数据块?
当创建对象或加载类时运行的代码 有两种类型的初始化数据块。静态初始化器:加载类时运行的代码
实例初始化块: 创建新对象时运行的代码
9 什么是静态初始化器?
public class initializeExamples{
static int count;
int i;
static{
syso("static initializeer...");
syso("count when static initializer is run is"+count);
}
public static void main(String[] args){
InitialzeExamples example=new InitialzeExamples();
InitialzeExamples example2=new InitialzeExamples();
InitialzeExamples example3=new InitialzeExamples();
}
}
输出: static initializer
count when static initializer is run is 0.
10 什么是实例初始化快?
public class initializeExamples{
static int count;
int i;
{
syso("static initializeer...");
i=6;
count=count+1;
syso("count when static initializer is run is"+count);
}
public static void main(String[] args){
InitialzeExamples example=new InitialzeExamples();
InitialzeExamples example2=new InitialzeExamples();
InitialzeExamples example3=new InitialzeExamples();
}
}
输出: static initializer
count when static initializer is run is 1.
static initializer
count when static initializer is run is 2.
static initializer
count when static initializer is run is 3.
11 什么是正则表达式?
正则表示式 能让解析 扫描 和分割字符串变得非常容易
java中常用的正则表达式---patter matcher scanner类
12 什么是令牌化?
令牌化是指在分隔符的基础上将一个字符串分割为若干个子字符串
例如:分隔符; 分割字符串 ac;bd;def;e为四个子字符串
分隔符自身也可以是一个常见正则表达式
String.split(regex)函数将regex作为参数
13给出令牌化的例子?
private static void tokenze(String str,String regex){
String[] tokens=str.split(regex);
syso(Arrays.toString(tokens));
}
14 如何使用扫描器类令牌化
private static void tokenizeUsingScanner(String string,String regex){
Scanner scanner=new Scanner(string);
scanner.userDeliiter(regex);
List(String) matches=new ArrayList<String>();
while(scanner.hasnext()){
matchers.add(scanner.next());
syso{ matchers};
}
}
15 如何添加小时到一个日期对象
Date date=new Date()'
date.setTime(data.getTime()+6*60*60*1000);
syso(date);
date=new Date();
date.setTime(date.getTime()-6*60*60*1000);
syso(date);
16 如何格式化日期对象?
格式化日期对象需要使用DateFormat类完成
17 java中日历类的用途?
calendar类 在java中用于处理日期
calendar类提供了增加和减少天数 月数 和年数的简便方法
18 如何在java中获取日历类的实例
calendar类不能通过使用new calendar创建 得到calendar类实例的最好
办法是在calendar中使用getInstance()static()方法
19 解释一些日历类中的重要方法?
calendar.set(Calendar.Date,24);
calendar.set(Calendar.Month,8);
calendar.set(Calendar.YEAR,2010);
20 数字格式化类的用途
数字格式用于格式化数字到不同的区域和不同的格式中
使用默认语言环境的数字格式
syso(NumberFormat.getInstace().format(321.24f)); // 321.24
使用区域设置的数字格式 使用荷兰语言环境格式化数字
syso(NumberFormat.getInstance(new Locale("nl")).format(4032.3f)); // 4.032,3
使用德国语言环境格式化数字
syso(NumberFormat.getInstance(Local.GEMANY).format(4032.3f)); // 4.032,3
使用默认语言环境的格式化货币
syso(NumberFormat.getCurrencyInstance().fomat(40324.31f)); // $40,324,31