Java入门及faq__1(3)

类别:Java 点击:0 评论:0 推荐:
9 日期的显示格式化

例子:
import java.util.*;
import java.text.*;
public class FormatDate {
public static void main(String[] args) {
Date now = new Date();

DateFormat defaultFormat = DateFormat.getDateInstance();
DateFormat shortFormat = DateFormat.getDateInstance(DateFormat.SHORT);
DateFormat mediumFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
DateFormat longFormat = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat fullFormat = DateFormat.getDateInstance(DateFormat.FULL);
String defaultDate = defaultFormat.format(now);
String shortDate = shortFormat.format(now);
String mediumDate = mediumFormat.format(now);
String longDate = longFormat.format(now);
String fullDate = fullFormat.format(now);

System.out.println("(Default) Today :" + defaultDate);
System.out.println("(SHORT) Today : " + shortDate);
System.out.println("(MEDIUM) Today :" + mediumDate);
System.out.println("(LONG) Today : " + longDate);
System.out.println("(FULL) Today : " + fullDate);
}
}

运行结果为:
D:\javamail>java FormatDate
(Default) Today :2003-6-15
(SHORT) Today : 03-6-15
(MEDIUM) Today :2003-6-15
(LONG) Today : 2003年6月15日
(FULL) Today : 2003年6月15日 星期日


10 静态和非静态的嵌套类有什么区别?

static内部类意味:
1创建一个static内部类的对象,不需要一个外部类对象
2不能从一个static内部类的一个对象访问一个外部类对象


11 怎样判断输入的东东是字符还是数字啊?

用Float.parseFloat(String data)解析一下
有NumberFormatException抛出就不是数字了

如果你用StreamTokenizer的话,那里面有StreamTokenizer.ttype,可以判断是否是数字。
你也可以 Character.isDigit(char ch)来判断没一个字符是否是数字。
Character类的方法
static boolean isDigit(char ch)
Determines if the specified character is a digit.

static boolean isLetter(char ch)
Determines if the specified character is a letter.

static boolean isLetterOrDigit(char ch)
Determines if the specified character is a letter or digit.

static boolean isWhitespace(char ch)
Determines if the specified character is white space according to Java.


12 finalize()和System.gc()区别

finalize()是由JVM自动调用的,你可以用System.gc(),但JVM不一定会立刻执行,JVM感觉内存空间有限时,才会开始执行finalize(),至于新的对象创建个数和被收集个数不同是因为收集的对象只和JVM的垃圾收集策略有关,和你的chair()创建无关,finalize()只是chair()中的一个方法,不和chair()创建有关。


13 怎么键盘上输入2 ….竟印出50 ??? System.in.read()用法

import java.io.*;
public class test
{
public static void main(String[] args)throws IOException
{
int s[]=new int[10];
s[0]=System.in.read();//正确的应该改为s[0]=Integer.parseInt(args[0]);
System.out.println(s[0]);
}
}

打印出来的是键盘上字符对应的ASCII码值,比如你输入a,输出的就是97。另外:
Integer.parseInt(String) 是拿String来做参数,返回带符号的int型
而System.in.read() 则是返回0-255之间的整数,来表示ASCII 码,两者虽然都是int,但是意义不一样。

本文地址:http://com.8s8s.com/it/it14900.htm