一、如何实现控制台输入
首先,你要清楚一点,Java的I/O是依赖于流的。你用read()方法得到的是一个字符流,也就是说你输入“10回车”,得到的是‘1’、‘0’和‘/n’这三个字符,而不是一个int型的数10。
Java没有提供一种输入方法来从键盘读入一个字符串,然后自动转换为相应的数据类型。要做到这个,要使用类型包装器(type wrapper):Double、Float、Long……。具体到你的问题,要用Integer。代码如下:
1. 导入所需包:
a) import java.lang.*;
b) import java.io.*;
2. 以InputStreamReader类对象为参数创建BufferdReader类对象
InputStreamReader isr=new InputStreamReader(System.in);
3. 创建BufferedReader类对象
BufferedReader br=new BufferedReader(isr);
4. 使用BufferedReader类对象的readLine方法读取数据并转化为所需数据类型
String str="";
try{
str=br.readLine();
}
catch(IOException ex)
{
System.out.println(ex.getMessage());
}
int i=Integer.parseInt(str);
System.out.println("i="+i); 类似的,要想得到double型,就用Double.parseDouble(str);
二、j2sdk环境的配置
1、步骤如下:
1.我的电脑-->属性-->高级-->环境变量.
2.配置用户变量:
a.新建 JAVA_HOME
C:/Program Files/Java/j2sdk1.5.0 (JDK的安装路径)
b.新建 PATH
%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
c.新建 CLASSPATH
.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar
3.测试环境变量配置是否成功:
开始-->运行--〉CMD
键盘敲入: JAVAC JAVA
出现相应的命令,而不是出错信息,即表示配置成功!
2、环境变量配置的理解:
1. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
2. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
3. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
三、java注释
1. 单行注释://
2. 多行注释:/*与*/之间
3. 文档注释:/**开头,*/结束
四、System.out.println()长引用能缩短吗?
不能,System不是包,而是System.out整个构造的是一个输出流。
五、访问修饰符
Ø 默认(即省略权限修饰符)情况下,权限为包内可以访问,相当于C#的internal
Ø 类和接口的访问修饰符不能为protected或者private,即只允许为省略,或者public
六、final与static的正确位置
如public static final int i=5;
七、接口
Ø 接口内不能定义变量,可申明常量和方法。
Ø 接口内的方法的访问修饰符只能是public或默认
Ø 接口内的方法不能有方法体,连{}都不允许
Ø 接口的实现类可以不实现所有的接口成员,但此时必须定义为抽象类
八、JDK版本导致程序不能正确编译
向下兼容,不兼容时只需将所有源代码按引用顺序在新环境下重编译一次即可。
九、抽象方法
Ø 抽象方法必须定义在抽象类中
Ø 抽象方法不能同时定义为静态方法
Ø 构造函数不能为抽象方法
Ø 子类中不能有与父类中名字相同的抽象方法
Ø 覆盖抽象方法时,派生类中的同名方法不能为静态方法
十、抽象类的作用
泛化问题,利于实现多态性。保证子类在扩展功能的同时,拥有单一的被调用形式。
十一、调用父类方法
1、 调用父类构造函数
使用“super (参数列表)”
2、调用父类被重写(或隐藏)的方法
使用“super.方法名(参数列表)”
十二、主函数命令行参数String args[]
Ø 存储内容:在DOS窗口下接受命令时,java命令后跟的参数,参数间以空格隔开
如:java CommandPara hello this is my world!
此时,args数组元素共有5个,分别存放“hello”、“this”、“is”、“my”、“world!”
十三、一个java文件中可以写多个类吗?
可以,但其中任何一个类的访问修饰符均不能是public;而且,有可能会导致编译错误,报告找不到主函数。
十四、Java中异常处理注意事项
Ø 输出异常信息时,可以直接使用ExceptionObject.printStackTrace()方法。没必要再用System.out.println(ExceptionObject.toString())或者System.err.println(ExceptionObject.toString())输出错误信息。因为后者少,并且还重复。
Ø 当要抛出异常时,必须在方法的“()”之后“{}”之前,用throws语句声明将要抛出的异常类。否则会出现编译错误。
Ø 当try或者catch块中有return语句时,并不影响finally块中语句的执行;当最后有语句没有放在finally块中时,这些语句前若有return语句,将得不到执行。相反,依然能够执行,跟是否发生异常无关。
十五、明明有,但却始终找不到main函数
把含main函数的类独立为一个同名文件编译即可。
十六、普通java文件操作的当前目录是什么
类文件.class所在的目录
十七、什么是抽象路径
不同的硬件平台和软件系统平台的文件系统不同。比如路径组织形式和目录分隔符。为了在不同的硬件和软件系统上无缝移植,java文件操作命令中的路径会由JVM自动转换为抽象路径。在安装运行时会根据安装平台和安装位置生成对应的物理路径。
十八、什么是轻量级和重量级组件
Ø 轻量级和重量级是相对概念。主要是对应用程序框架使用方便性和所提供服务的完善性方面来说的。轻量级框架只需要普通的java对象,提供足够中小应用的功能;重量级框架对编写的代码有限制,提供分布式开发等复杂的功能。
Ø AWT的控件基于操作系统,因此同一个的AWT控件,在不同的操作系统下的表现也不一定相同,其底层的消息实现也是跟操作系统相关的,操作和控制起来不是得心应手,受系统的制约,因此称为重量级。SWING的组件基本都是在画布上由java自己绘制而成,其表现的外观比较容易进行一致的控制,其控件的消息机制和事件相应也完全由java控制,因此称为轻量级的组件。
十九、JBuilder2005操作
1、如何删除文件、包和目录
在project和file面板中,删除package和目录,在你想要删除的类名上点右键,点clean,然后点delete
2、文件操作的当前目录是什么
是工程文件.jpx所在的目录
3、如何设置代码字体
Tools->Preference->Fonts->Editor…
4、如何设置JBuilder2005的默认路径等信息
Ø 关闭所有项目
Ø Tools->Preference->Path…
5、显示不出控件名等属性
代码有语法错误。排除后即可正常显示。
6、对齐多个控件
先选中这些控件,右击后选取需要的对齐方式
7、设置文本框从右向左显示
设置HorizontalAlignment属性为right
8、向comboBox中添加项目
使用代码,调用addItem(String item)方法
9、如何判断一个单选按钮是否处于选中状态
调用方法,判断其返回值:JRadioButton.isSelected()
10、获取comboBox的选中项
objComboBox.getSelectedItem();
11、将图像显示到Lable上
url = getClass().getResource("/images/china.gif");
setIconImage(new ImageIcon(url).getImage());
lblFlag.setIcon(new ImageIcon(url));
12、调整窗体的大小
A. 在“Content”面板的左下角切换至“Disign”视图
B. 在“Structure”面板中,选中代表JFrame的“this”
C. 在“Content”面板中拖动调整窗体大小
13、控件大小和位置无法控制
更改布局管理器
A. 作用:自动调整组件的相对位置,以适应不同系统平台的组件大小设置
B. 操作步骤:
a) 在“Structure”面板中,选中“this”下的“ContentPane”
在属性窗口中修改“Layout”属性值为“XYLayout”或者“null”