7. Java 编程:打印昨天的当前时刻
- 使用Calendar对象方法Calendar.getInstance()获得当前时间;
- 使用Calendar.DATE获得天数属性;
- 使用Calendar.add((int field, int amount))方法获得前天时间;
package com.senchen.test;
import java.util.Calendar;
public class A {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance(); //获得当前时间
System.out.println(calendar.getTime());
calendar.add(Calendar.DATE, -1); //获得当前天数,减1
System.out.println(calendar.getTime());
}
}
8. java 和javasciprt 的区别
1)基于对象和面向对象
Java 是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象;
JavaScript 是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用;
2)解释和编译
Java 的源代码在执行之前,必须经过编译;
JavaScript 是一种解释性编程语言,其源代码不需经过编译,由浏览器解释执行;
3)强类型变量和类型弱变量:
Java 采用强类型变量检查,即所有变量在编译之前必须作声明;
JavaScript 中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型;
4)代码格式不一样
9. 什么时候用assert(断言)?
assert(断言)
assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一般来说,assertion 用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后, assertion 检查通常是关闭的。在实现中,断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为true;如果表达式计算为false,那么系统会报告一个Assertionerror。
断言的在MyEclipse中的简单使用
断言在默认情况下是禁用的,要在编译时启用断言,需使用source 1.4 标记:
javac -source 1.4 Test.java
要在运行时启用断言,可使用-enableassertions 或者-ea 标记。
要在运行时选择禁用断言,可使用-da 或者-disableassertions 标记。
测试:
package com.senchen.test;
public class A {
public static void main(String[] args) {
int a=0;
assert( a > 0); // throws an Assertionerror if a <= 0
}
}
默认不开断言,运行不会报错;
打开断言
选择菜单:run --> run Configurations
运行上面测试代码后控制台显示Assertionerror:
10. Java 中的异常处理机制的简单原理和应用
1) 异常
当JAVA 程序违反了JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表示为一个异常。
2) 违反语义规则2 种情况。
一种是JAVA 类库内置的语义检查。
例如数组下标越界,会引发IndexOutOfBoundsException;访问null 的对象时会引发NullPointerException。
另一种情况就是JAVA 允许程序员扩展这种语义检查
程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常都是java.lang.Thowable 的子类。
11. error 和exception 有什么区别?
error
表示系统级的错误和程序不必处理的异常,是恢复不是不可能但很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;
exception
表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;也就是说,它表示如果程序运行正常,从不会发生的情况。
12. try {}里有一个return 语句,那么紧跟在这个try 后的finally {}里的code会不会被执行,什么时候被执行,在return 前还是后?
会执行,在return前执行,finally {}里语句一定会执行,因为return后整个try语句结束,所以在return前执行。