java图形界面GUI基础入门

java图形界面GUI基础入门
java图形界面GUI基础入门

Compnent

package https://www.360docs.net/doc/3f13485948.html,pnent;

import javax.swing.ButtonGroup;

import javax.swing.JCheckBox;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JRadioButton;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import cn.itcast.util.FrameUtil;

/*

非容器组件:

*/

public class Demo1 {

public static void main(String[] args) {

JFrame frame= new JFrame("注册");

//创建一个面板

JPanel panel = new JPanel();

frame.add(panel);

//用户名

JLabel nameLabel = new JLabel("用户名");

//用户名的输入框

JTextField nameField = new JTextField(12);

//把用户名的组件添加到面板上

panel.add(nameLabel);

panel.add(nameField);

//密码

JLabel passLabel= new JLabel("密码");

//密码框

JPasswordField passField = new JPasswordField(12);

//把密码的组件添加到面板

panel.add(passLabel);

panel.add(passField);

//性别--单选框

JLabel sexLabel = new JLabel("性别");

JRadioButton man = new JRadioButton("男",true);

JRadioButton woman = new JRadioButton("女");

//如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个

ButtonGroup group = new ButtonGroup();

group.add(woman);

group.add(man);

//把性别组件添加到面板上

panel.add(sexLabel);

panel.add(man);

panel.add(woman);

//来自城市--->下拉框

JLabel cityLabel = new JLabel("来自的城市"); Object[] arr = {"北京","上海","广州","深圳","湛江"}; JComboBox citys = new JComboBox(arr);

panel.add(cityLabel);

panel.add(citys);

//兴趣爱好---->复选框

JLabel hobitLabel = new JLabel("兴趣爱好:"); JCheckBox checkBox1 = new JCheckBox("篮球",true); JCheckBox checkBox2 = new JCheckBox("java",true); JCheckBox checkBox3 = new JCheckBox("javascript"); JCheckBox checkBox4 = new JCheckBox("android"); panel.add(hobitLabel);

panel.add(checkBox1);

panel.add(checkBox2);

panel.add(checkBox3);

panel.add(checkBox4);

//个人简介

JLabel jLabel = new JLabel("个人简介"); JTextArea area = new JTextArea(20, 15);

area.setLineWrap(true); //设置自动换行

panel.add(jLabel);

panel.add(area);

FrameUtil.initFrame(frame, 500, 400);

}

}

package https://www.360docs.net/doc/3f13485948.html,pnent;

import java.awt.BorderLayout;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

/*

菜单组件

菜单条(MenuBar) 、菜单(Menu)、菜单项(MenuItem)

菜单条可以添加菜单

菜单可以添加菜单项

复选菜单:

首先菜单添加菜单,菜单添加菜单项。

*/

import javax.swing.JTextArea;

import cn.itcast.util.FrameUtil;

public class Demo2 {

JFrame frame = new JFrame("记事本");

//菜单条

JMenuBar bar = new JMenuBar();

//文件菜单

JMenu fileMenu = new JMenu("文件");

JMenu editMenu = new JMenu("编辑");

JMenu switchMenu = new JMenu("切换工作目录");

//菜单项

JMenuItem openMenu = new JMenuItem("打开");

JMenuItem saveMenu = new JMenuItem("保存");

JMenuItem aboutMenu = new JMenuItem("关于");

JMenuItem closeMenu = new JMenuItem("关闭");

JMenuItem workMenu1 = new JMenuItem("0910project"); JMenuItem workMenu2 = new JMenuItem("1208project"); JMenuItem workMenu3 = new JMenuItem("1110project");

JTextArea area = new JTextArea(20,30);

public void initNotepad(){

//菜单添加菜单项目

fileMenu.add(openMenu);

fileMenu.add(saveMenu);

editMenu.add(aboutMenu);

editMenu.add(closeMenu);

//复选菜单

switchMenu.add(workMenu1);

switchMenu.add(workMenu2);

switchMenu.add(workMenu3);

//菜单添加菜单就是复选菜单

fileMenu.add(switchMenu);

//菜单条添加菜单

bar.add(fileMenu);

bar.add(editMenu);

//添加菜单条

frame.add(bar,BorderLayout.NORTH);

frame.add(area);

FrameUtil.initFrame(frame, 500, 600);

}

public static void main(String[] args) {

new Demo2().initNotepad();

}

}

Event

package cn.itcast.event;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

/*

事件:当发生了某个事件的时候,就会有相应处理方案。

事件源监听器事件处理方案 */

import cn.itcast.util.FrameUtil;

public class Demo1 {

public static void main(String[] args) {

JFrame frame = new JFrame("窗体");

JButton button = new JButton("点我啊");

frame.add(button);

//给按钮添加动作监听器动作时间监听器对于鼠标点击以及空格键都会起作用的。

button.addActionListener(new ActionListener() {

//当按钮被点击的时候,就会调用actionPerformed的方法。

@Override

public void actionPerformed(ActionEvent e) { // ActionEvent 当前按钮被点击的时候,jvm就会把对应的时间传递ActionEvent,并且调用actionPerformed方法。

//System.out.println("哎呀,被点了...");

JButton button =(JButton) e.getSource(); //getSource() 获取到事件源

if(button.getText().equals("点我啊")){

button.setText("点他吧");

}else{

button.setText("点我啊");

}

}

});

FrameUtil.initFrame(frame, 200, 200);

}

}

package cn.itcast.event;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import cn.itcast.util.FrameUtil;

/*

鼠标事件监听器

*/

public class Demo2 {

public static void main(String[] args) {

JFrame frame = new JFrame("鼠标事件监听器");

JButton button = new JButton("按钮");

frame.add(button);

//给按钮添加鼠标事件监听器

/*button.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent e) {

System.out.println("鼠标松开...");

}

@Override

public void mousePressed(MouseEvent e) {

System.out.println("鼠标按下..");

}

@Override

public void mouseExited(MouseEvent e) {

System.out.println("鼠标移出...");

}

@Override

public void mouseEntered(MouseEvent e) {

System.out.println("鼠标进入...");

}

@Override

public void mouseClicked(MouseEvent e) {

System.out.println("鼠标单击..");

}

});

添加鼠标监听器的时候我只使用到单击事件,但是目前要我实现所有的方法??

解决方案:适配器。适配器是实现了MouseListener方法的所有方法,但是实现的方法全部都是空实现。

*/

button.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

// System.out.println("鼠标单击了..");

if(e.getClickCount()==2){

System.out.println("双击了..");

}

}

});

FrameUtil.initFrame(frame, 300, 300);

}

}

package cn.itcast.event;

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import cn.itcast.util.FrameUtil;

/*

键盘事件监听器

*/

public class Demo3 {

public static void main(String[] args) {

JFrame frame = new JFrame("键盘事件监听器");

JButton button = new JButton("按钮");

frame.add(button);

//给按钮添加键盘事件监听器

/*button.addKeyListener(new KeyListener() {

@Override

public void keyTyped(KeyEvent e) {

System.out.println("键入某个键");

}

@Override

public void keyReleased(KeyEvent e) {

// System.out.println("释放某个键");

}

@Override

public void keyPressed(KeyEvent e) {

System.out.println("按下某个键..");

}

});*/

button.addKeyListener(new KeyAdapter() {

@Override

public void keyPressed(KeyEvent e) {

// System.out.println("按下的字符:"+e.getKeyChar());

//System.out.println("获取键对应的数值:"+

e.getKeyCode());

int code = e.getKeyCode();

switch (code) {

case 38:

System.out.println("上");

break;

case 40:

System.out.println("下");

break;

case 37:

System.out.println("左");

break;

case 39:

System.out.println("右");

break;

default:

break;

}

}

});

FrameUtil.initFrame(frame,300, 300);

}

}

package cn.itcast.event;

import java.awt.BorderLayout;

import java.awt.ScrollPane;

import java.awt.Scrollbar;

import java.awt.TextField;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.io.File;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollBar;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import cn.itcast.util.FrameUtil;

public class FileSearch {

JFrame frame = new JFrame("文件搜索器");

JPanel panel = new JPanel();

JTextField field = new JTextField("请输入目录名...",15);

JButton button = new JButton("搜索");

JTextArea area = new JTextArea(15,15);

//滚动条

ScrollPane bar = new ScrollPane();

public void init(){

//先把area添加到滚动条上。

bar.add(area);

//先把组件添加到panel上

panel.add(field);

panel.add(button);

//给输入框添加事件

field.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

JTextField field = (JTextField) e.getSource();

if(field.getText().equals("请输入目录名...")){

field.setText("");

}

}

});

//给按钮添加事件监听器

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

//获取输入框输入的路径

String path = field.getText();

//使用输入的路径构建一个FIle对象

File dir = new File(path);

//找到目录下的所有子文件

File[] files = dir.listFiles();

for(File file : files){ // 1208Project 资料

area.setText(area.getText()+ file.getName()+"\r\n");

}

}

});

//把面板添加到frame上

frame.add(panel,BorderLayout.NORTH);

frame.add(bar);

FrameUtil.initFrame(frame, 300, 400);

}

public static void main(String[] args) {

new FileSearch().init();

}

}

package cn.itcast.event;

import java.awt.BorderLayout;

import java.awt.FileDialog;

import java.awt.TextArea;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

/*

菜单组件

菜单条(MenuBar) 、菜单(Menu)、菜单项(MenuItem)

菜单条可以添加菜单

菜单可以添加菜单项

复选菜单:

首先菜单添加菜单,菜单添加菜单项。

*/

import javax.swing.JTextArea;

import cn.itcast.util.FrameUtil;

public class Notepad {

JFrame frame = new JFrame("记事本");

//菜单条

JMenuBar bar = new JMenuBar();

//文件菜单

JMenu fileMenu = new JMenu("文件");

JMenu editMenu = new JMenu("编辑");

JMenu switchMenu = new JMenu("切换工作目录");

//菜单项

JMenuItem openMenu = new JMenuItem("打开");

JMenuItem saveMenu = new JMenuItem("保存");

JMenuItem aboutMenu = new JMenuItem("关于");

JMenuItem closeMenu = new JMenuItem("关闭");

JMenuItem workMenu1 = new JMenuItem("0910project");

JMenuItem workMenu2 = new JMenuItem("1208project");

JMenuItem workMenu3 = new JMenuItem("1110project");

TextArea area = new TextArea(20,30);

public void initNotepad(){

//菜单添加菜单项目

fileMenu.add(openMenu);

fileMenu.add(saveMenu);

//给保存添加事件

saveMenu.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

try {

FileDialog fileDialog = new FileDialog(frame, "请选择保存的路径",FileDialog.SAVE);

fileDialog.setVisible(true);

//获取用户选择的路径与文件名

String path = fileDialog.getDirectory();

String fileName = fileDialog.getFile();

//创建一个输入对象

FileOutputStream fileOutputStream = new FileOutputStream(new File(path,fileName));

//获取文本域的内容,把内容写出

String content = area.getText();

Java入门基础代码

例1-1 DoubleVariableDemo.java class DoubleVariableDemo{ public static void main(String args[]){ double dRadius=2.0d; double dArea=Math.PI*dRadius*dRadius; System.out.println("半径为2的圆的面积:"+dArea); } } 例1-2 BooleanConstantDemo.java class BooleanConstantDemo{ public static void main(String args[]){ final boolean BFLAG=true; if(BFLAG) System.out.println("Always Print Out Me!"); else System.out.println("Never Print Out Me!"); } } 例1-3 DecisionDemo.java class DecisionDemo{ public static void main(String args[]){ short x=1,y=2,z; // 错误代码 // z = x + y; // 正确代码 z=(short)(x+y); System.out.println(z); } } 例1-4 IntegerConstantDemo . java class IntegerConstantDemo{ public static void main(String args[]){ final byte nMaxValue_1=100; final short nMaxValue_2=200; final int nMaxValue_3=300; final long nMaxValue_4=400; System.out.println("整数常量的nMaxValue_1值"+nMaxValue_1); System.out.println("整数常量的nMaxValue_2值"+nMaxValue_2); System.out.println("整数常量的nMaxValue_3值"+nMaxValue_3); System.out.println("整数常量的nMaxValue_4值"+nMaxValue_4); // nMaxValue_1 = nMaxValue_1 + 1; 不能更改常量的值

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

《Java基础入门》-课后习题答案--1-6

第1章Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运 行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章Java编程基础 一、填空题 1、class 2、true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、1、2、4、8 6、& && | || 7、0 8、5 9、34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

史上最全Java基础知识点归纳

史上最全Java基础知识点归纳 写这篇文章的目的是想总结一下自己这么多年来使用Java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java 程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE 相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资

深开发者来说,不会JVM几乎是不可接受的。 JVM作为Java运行的基础,很难相信对于JVM一点都不了解的人可以把Java语言吃得很透。我在面试有超过3年Java经验的开发者的时候,JVM几乎就是一个必问的问题了。当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证Java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump,分析内存结构 class二进制字节码结构,class loader体系,class加载过程,实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2.Java的运行(基础必备) 这条可能出看很简单,Java程序的运行谁不会呢?不过很多时候,我们只是单纯通过IDE去执行Java程序,底层IDE又是如何执行Java程序呢?很多人并不了解。

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

适合java入门学习的书籍推荐

适合java入门学习的书籍推荐 作为Java初级学习者而已,最痛苦的事情莫过于想要学好java,但是面对市场上纷繁的java学习书籍,往往容易感到无所适从。牛耳教育就java学习体系流程方面为大家挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java爱好者们。 一、Java编程入门类 1、《Java编程思想》 2、《Agile Java》中文版 二、Java编程进阶类 1、《重构改善既有代码的设计》 这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。 2、《测试驱动开发 by Example》 本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。 三、Java架构师之路 到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。 1、《Expert One-on-One J2EE Design and Development》 这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。 2、《Expert One-on-One J2EE Development without EJB》 这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。

JAVA技术--Java基础知识常见考试题JAVA技术.doc

一、单选题 1.对类:(B) public class Test( //...do something } 下面那个正确地定义了类Test的构造函数。 A)public void Test() () B)publicTest()(} C ) public static Test() (} D) publicTest(); 2.下面哪个函数是public void example()(...)的重载函数。(A) A)public void example( float f)(...) B)public int example() (...) C)public void example2()(...} D)public int example_overLoad ()(...) 3.下面的代码段中,执行之后i和j的值是_C_。 int i = 1; intj; j = i++; A)1, 1 B) 1,2 C) 2, 1 D) 2,2 4.以下for循环的执行次数是_B o for(int x=0,y=0;(y !=0)&&(x<4) ;x++); A)无限次B) 一次也不执行 C)执行4次D)执行3次 5.下面程序的输出结果是—C o public class People( String name; int id; public People( String str, int n )( name = str; id = n; } public String toString(){ return id + " :” + name; } public String print()(

JAva基础期末考试试卷

一、填空题 1、面向对象的三大特征是______、______和______。 2、在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。 3、编译Java程序需要使用______命令。 4、如果子类想使用父类中的成员,可以通过关键字______引用父类的成员。 5、在Java语言中,所有的类都直接或间接继承自______类。 6、定义一个Java类时,如果前面加使用______关键字修饰,那么该类不可以被继承。 7、String类中用于返回字符串字符个数的方法是_____。 8、若x = 2,则表达式( x + + )/3 的值是______。 9、定义在类中的变量被称为______,定义在方法中的变量被称为______ 10、若int a[3][2]={{123,345},{34,56},{34,56}},则a[2][1]= ______。 二、选择题 1、先阅读下面的程序片段: String str = "abccdefcdch"; String[] arr = str.split("c"); System.out.println(arr.length); 程序执行后,打印的结果是几? A、2个 B、3个 C、4个 D、5个 2、以下关于变量的说法错误的是? A、变量名必须是一个有效的标识符 B、变量在定义时可以没有初始值 C、变量一旦被定义,在程序中的任何位置都可以被访问 D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声 明 3、在Java中,要想让一个类继承另一个类,可以使用以下哪个关键字? A、inherits B、implements C、extends D、modifies 4、类中的一个成员方法被下面哪个修饰符修饰,该方法只能在本类被访问? A、public B、protected C、private D、defaul 5、关于super关键字以下说法哪些是正确的?(多选) A、super关键字可以调用父类的构造方法 B、super关键字可以调用父类的普通方法 C、super与this不能同时存在于同一个构造方法中 D、super与this可以同时存在于同一个构造方法中 6、已知类的继承关系如下: class Employee; class Manager extends Employeer; class Director extends Employee; 则以下语句能通过编译的有哪些? A、Employee e=new Manager(); B、Director d=new Manager(); C、Director d=new Employee(); D、Manager m=new Director(); 7、String s = "abcdedcba";则s.substring(4,5)返回的字符串是以下选项中的哪个? A、cd B、de C、d D、e 8、关于抽象类的说法哪些是正确的?(多选) A、抽象类中可以有非抽象方法。

JAVA中常用类的常用方法

JAVA中常用类的常用方法 一、https://www.360docs.net/doc/3f13485948.html,ng.Object类 1、clone()方法 创建并返回此对象的一个副本。要进行“克隆”的对象所属的类必须实现https://www.360docs.net/doc/3f13485948.html,ng. Cloneable接口。 2、equals(Object obj)方法 ?功能:比较引用类型数据的等价性。 ?等价标准:引用类型比较引用,基本类型比较值。 ?存在特例:对、Date及封装类等类型来说,是比较类型及对象的内容而不考虑引用的是否为同一实例。 3、finalize()方法 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 4、hashCode()方法返回该对象的哈希码值。 5、notify()方法唤醒在此对象监视器上等待的单个线程。 6、notifyAll()方法唤醒在此对象监视器上等待的所有线程。 7、toString()方法 返回该对象的字符串表示。在进行String与其它类型数据的连接操作时,自动调用toString()方法。可以根据需要重写toString()方法。 8、wait()方法 在其他线程调用此对象的notify() 方法或notifyAll() 方法前,导致当前线程等待。 二、字符串相关类 l String类 charAt(int index) 返回指定索引处的char 值。 compareTo(String anotherString) 按字典顺序比较两个字符串。 compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。 concat(String str) 将指定字符串连接到此字符串的结尾。 endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 equals(Object anObject) 将此字符串与指定的对象比较。 equalsIgnoreCase(String anotherString) 将此String 与另一个String 比较,不考虑大小写。indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 lastIndexOf(int ch) 返回指定字符在此字符串中最后一次出现处的索引。 length() 返回此字符串的长度。 replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar 得到的。split(String regex) 根据给定正则表达式的匹配拆分此字符串。 startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex 处开

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

java常用类知识点总结

java常用类知识点总结 Java常用类 要求: 1、掌握String和StringBuffer的区别,可以熟练使用String和StringBuffer的各 种方法进行相关操作。 2、能够自己编写一个得到日期的操作类,并将日期进行格式化操作。 3、掌握比较器及其基本原理,并可以通过比较器进行对象数组的比较操作。 4、掌握对象克隆技术及其实现 5、能够灵活应用正则表达式对字符串的组成进行判断 6、掌握Math、Random、基本数据类型的包装类的使用 7、描述出Object System对垃圾收集的支持 8、使用NumberFormat、DecimalFormat、BigInteger、BigDecimal进行数字的操 作 String和StringBuffer String的内容一旦声明不可改变,如果要改变,改变的是String的引用地址,如果一个字符串要经常改变,必须使用StringBuffer。 在一个字符串内容需要频繁修改时,使用StringBuffer可以提升操作性能,因为StringBuffer内容可以改变,而String内容不可改变。StringBuffer支持的方法大部分与String类似。 StringBuffer常见用法: (1) 字符串的连接操作

String类可以通过“+“进行字符串的连接,而StringBuffer中却只能使用append方法进行字符串的连接,而且此方法返回一个StringBuffer类的实例,这样就可以采用代码链的形式一直调用append方法。 (2) 在任意位置处为StringBuffer添加内容 可以使用insert方法在指定位置上为StringBuffer添加内容 字符串的反转操作(较为常见的操作,使用reverse方法) (3) 替换指定范围的内容 replace方法可对指定范围的内容进行替换。在String中如果要替换,使用的是replaceAll (4) 字符串截取(使用subString方法从指定范围中截取内容) (5) 删除指定范围的字符串(使用delete方法删除指定范围内容) (6) 查找指定内容是否存在(indexOf查找指定内容,查找到返回内容的位置, 没查到返回-1) 问题:(1)String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有, 没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hello",然后我们对s进行了+操作,那么s所指向的那个对象是否发生了改变呢,答案是没有。这时,s不指向原来那个对象了,而指向了另一个 String对象,内容为"Hello world!",原来那个对象还存在于内存之中,只是s这个引用变量不再指向它了。通过上面的说明,我们很容易导出另一个结论,如果经常对字符串进行各种各样的修改, 或者说,不可预见的修改,那么使用String来代表字符串的话会引起很大的内存开销。因为 String对象建立之后不能再改变,所以对于每一个不同的字符

《Java基础入门》_课后习题答案解析__1~

第1章 Java开发入门 一、填空题 1、Java EE、Java SE、Java ME 2、JRE 3、javac 4、bin 5、path、classpath 二、选择题 1、ABCD 2、C 3、D 4、B 5、B 三、简答题 1、面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。 2、JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程 序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。 JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。 四、编程题 public class HelloWorld { public static void main(String[] args) { System.out.println("这是第一个Java程序!"); } } 第2章 Java编程基础 一、填空题 1、 class 2、 true和false 3、单行注释、多行注释、文档注释 4、基本数据类型、引用数据类型 5、 1、2、4、8 6、 & && | || 7、 0 8、 5 9、 34 10、56 二、判断题 1、错 2、对 3、错 4、对 5、错

java入门基础笔试题

笔试题 一、选择题 1)对以下代码,下面说法正确的是() int k=10; while(k==0){ k=k-1; } A.循环将执行10次 B.死循环,将一直执行下去 C. 循环将执行1次 D.循环一次也不执行 2)下面变量名正确的是() A.num1 B.2num C.%num D.num# 3) else if块的选择结构应用于() A.switch选择结构 B.基本if选择结构 C.多重if选择结构 D.while循环 4)下面属于逻辑运算符的是() A.+ - * % B. ++ -- C.>= != <= D.&& || 5)在java中,以下代码的输出结果是()(选择一项)。 int num1=7; int num2=5; System.out.println(num1/num2); 选择一项 A:1.4 B:4 C:1 D:2 6)分析以下java代码程序,运行以下表达式后,变量a的值是()。 int a=5+4*3%2/1; A:1 B:2 C:3 D:4 E:5 7)在java中,如下代码的输出结果是()。 public static void main(String args[]){ double avg=0; int score1=61; int score2=78; avg=(score1+score2)/2; System.out.println(“平均分是:”+avg); A.平均分是69.0 B.平均分是69 C.平均分是69.0000 D.编译错误 8)在java中,以下()能够实现向控制台输出换行符。(选择二项) A.System.out.println(); B.System.out.print(“\n”); C.System.out.print(“\t”); D.System.out.print(“”); 9)Java代码如下所示,编译运行结果是()。 public static void main(string[] args){

java编程基础复习题.doc

“Java程序设计基础”课程习题 一、填空 1.Java程序分两类____ applet __ 和application, Java Application类型的程序,程序从 …main___ 开始执行。 2.定义一个Java类时,通过关键字.extends _____ 指明该类的父类。一个类可以有____ 1 — 个父类。 3.用public修饰的类称为—公共类—。用public修饰的类成员称为公有成员。被说明为 public的内容可以被_所有的其他类_____ 使用。如果public类文件与使用它的类文件不在同一目录屮,需要通过_impon—语句引入。 4.用_private_修饰的类成员称为私有成员。私有成员只能在_本类—中使 用。 5.如果子类定义的成员变量与父类的成员变量同名,称为—覆盖—,要表明使用子类的成员 变量,可以在成员变量前加上关键字—this— o 6._Object—类是Java类库中所有类的父类。 7.Jav“字符使用—16—位的字符集,该字符集成为—UTF-I6—。 8.当子类中定义的方法与父类方法同名吋,称子类方法—重载______ 父类方法,子类默认 使用自己的方法。使用父类的同名方法,必须用关键字-super—说明。 9.Java源程序文件名的后缀是_。java _____ , Java字节码文件名的后缀是_。class ______ 。 10.Java类名的第一个字母通常要求_大写—o 11.Java程序由_类定义_____ 组成,每个程序有一个主类,Java程序文件名应与—主— 类的名称相同。 12.Java—application __ 类型的程序需要main()方法,程序从—main方法_____ 开始执行。 13.布尔型数据类型的关键字是-boolean—,占用位数是_1—,有—true_和 .false ____ 两种值。整型数可以采用_八进制—、—十进制—和_十六进制— 三种进制表示。 14.八进制整数以数字_o—开头。十六进制整数以—Ox—开头。 15.int整型数占用32 位内存。lon£整型数占用&4 位内存。 16.127L表示long类型常量。 17.根据占用内存长度将浮点常量分为floal 和double 两种。 18.单精度浮点常量占用32 位内存,双精度浮点常量占用一64—位内存。 19.在Java语言中,字符串“ABC\tD\bE中包括7 个字符。 20.数学关系44&&x<9 数学关系x>3且x<=10对应 的Java表达式是_______ o数学关系x>3或xv?10对应的Java表达式是_______ 。 21.逻辑表达式(nac&&falsc&&true 的结果是_false _____ 。 22._new ____ 运算符的作用是根据对彖的类型分配内存空间。当对彖拥有内存空间时, 会自动调用类屮的构造方法为对象—初始化—o 23.省略访问修饰符的类只能被同—一个包—中的类使用,称之具有—包级—访问特性。 24.用public修饰的类称为—公共类—o用public修饰的类成员称为公共成员。被说明为 public的内容可以被—所有的其他类—使用。如果public类文件与使用它的类文件不在同一目录中,需要通过—import __________ 语句引入。 25.用_private_ 修饰的类成员称为私有成员。私有成员只能在—本类—使用。 26.在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为■重载—o 27.如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在成

Java基础入门(第二版)

《Java基础入门(第二版)》试卷 得分 单选题(每题2分,共计30分) 1.阅读下列代码片段: public class Example{ public static void main(String[] args) { { int a = 1; System.out.print(a); } { int a = 2; System.out.print(a); } int a = 3; System.out.print(a); }} 下列选项中,哪一个是程序正确的运行结果() A、123 B、111 C、121 D、编译不通过 2.下列关于super关键字的说法中,正确的是() A、super关键字是在子类对象内部指代其父类对象的引用 B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法3.请阅读下面的程序,程序的运行结果是()。 class Person { String name; int age; public Person() {} public Person(String n, int a) { 总分题型单选题多选题填空题简答题题分 得分

name = n; age = a; } public void show() { System.out.print(name + "---" + age +" "); } } public class Test { public static void main(String[] args) { Person p1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); } } A、null---0周星驰---27 B、null---27周星驰---27 C、周星驰---0null---27 D、周星驰---27null---274.下列有关HashSet集合的描述中,错误的是() A、HashSet是Set接口的一个实现类 B、向HashSet存入对象时,对象一般会重写hashCode()和equals()方法 C、向HashSet存入对象时,对象的equals()方法一定会被执行 D、HashSet存储的元素是不可重复的 5.请阅读下面的程序 public class Test { public static void main(String[] args) { int a = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (aj < aj - 1) { temp = aj; aj = aj - 1; aj - 1 = temp; } }

java基础知识大全(必看经典)

第一讲 Java语言入门 1.1 Java的特点 1.1.1面向对象: ?与C++相比,JAVA是纯的面向对象的语言 C++为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使 C++成为一个"混血儿"。而JAVA语法中取消了C++里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等。 1.1.2可移植(平台无关性): ?生成中间字节码指令 与其他编程语言不同,Java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。任何操作系统,只要装有Java虚拟机(JVM),就可以解释并执行这个中间字节码文件。这正是Java实现可移植的机制。 ?原始数据类型存储方法固定,避开移植时的问题 Java的原始数据类型的大小是固定的。比如,在任何机器上,整型都是32位,而C++里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。Java的字符串,则采用标准的Unicode格式保存。可以说,没有这个特性,Java的可移植性也不可能实现。 1.1.3简单 ?JAVA在语法上与C++类似 JAVA的语法与C++很接近,有过C或者C++编程经验的程序员很容易就可以学会JAVA语法; ?取消了C++的一些复杂而低效的特性比如:用接口技术代替了C++的多重继承。C++中,一个类允许有多个超类,这个特性叫做"多重继承",多重继承使得编译器非常复杂且效率不高;JAVA 的类只允许有一个超类,而用接口(Interface)技术实现与C++的多继承相类似的功能 其它被取消的特性包括:虚拟基础类、运算符过载等 ?JAVA的基本解释器和类支持模块大概仅40K 即使加入基本的标准库和支持线程的模块,也才220K左右。与GUI(图形用户界面)相比,

《Java基础入门》课后习题

《Java基础入门》课后习题 第1章J ava开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量 则用来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和 java命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre; 三、问答题 1、简述Java的特点。 2、简述JRE与JDK的区别。 四、编程题 使用记事本编写一个HelloWorld程序,在dos命令行窗口编译运行。请按照题目的要求编写程序并给出运行结果。 第2章J ava编程基础 一、填空题 1、Java中的程序代码都必须在一个类中定义,类使用__class____关键字来定义。 2、布尔常量即布尔类型的两个值,分别是_true_____和_flase_____。 3、Java中的注释可分为三种类型,分别是_单行注释//__、__多行注释_/**/__、文档/注释***/______。 4、Java中的变量可分为两种数据类型,分别是_基本数据类型_____和_引用数据类型_____。 5、在Java中,byte类型数据占____1__个字节,short类型数据占__2____个字节,int类型数据占 ___4___个字节,long类型数据占____8__个字节。 6、在逻辑运算符中,运算符___&___和___&&___用于表示逻辑与,__|____和__||____表示逻辑或。 7、若x=2,则表达式(x++)/3的值是__0___。

Java零基础入门知识整理

1. 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事? 答:Java是一种通用的,并发的,强类型的,面向对象的编程语言(摘自Java规范第二版) JDK是Sun公司分发的免费Java开发工具,正式名称为J2SDK(Java2 Softw are Develop Kit)。 2. 什么是JRE/J2RE? 答:J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE。 如果你只需要运行Java程序或Applet,下载并安装它即可。 如果你要自行开发Java软件,请下载JDK。在JDK中附带有J2RE。 注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行Applet,务必安装一个J2RE或JDK 3. 什么是J2SE/J2EE/J2ME? 答:J2SE就是一般的Java。 J2EE规范更多的是对J2EE服务器的要求和开发人员的约束。 J2ME是针对嵌入式设备的,比如Java手机,它有自己的SDK。而J2EE使用J2SE的SDK。 4. 学习Java用什么工具比较好? 1、最基本的开发运行工具:JDK+文本编辑器

2、集成开发环境:Eclipse或者MyEclipse或者NetBeans或者Intelij Idea。 3、数据库工具:MySQL或者Oracle。 4、服务器工具:Tomcat。 5. 学习Java有哪些好的参考书? 答:对于除了打游戏就不知道计算机开发是什么的同学,小雀推荐《Head First Java,2nd Edition(中文版)》,这本书涵盖了Java的基础知识、简单粗暴,语言风趣幽默,非常适合零基础的同学。 对于有一定计算机基础或者是计算机专业的童鞋来讲,小雀推荐《Thinking in Java》,《Java核心技术(卷1、2)》这两本,这两本书写作风格相对来说比较传统,不仅包含Java 基础知识而且涵盖Java的高级应用,但是对入门者有一定的基础要求。 当然书有很多各自推荐有各自的道理,深挖一本比浅读3本更有效。 6. Java和C++哪个更好? 答:这个问题是一个很不恰当的问题。你应该问:Java和C++哪个更适用于我的项目? 如果你不需要跨平台,不需要分布式,要强调程序的运行速度,C++更为适用。反之?你应当考虑Java。 7. 关键字是什么? 关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字,是有特别意义的变量。 Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。 Java语言规定关键字不能作为标识符。目前共有50个Java关键字,其中,"const"和"goto"这两个关键字在Java语言中并没有具体含义。Java语言把它们列为关键字,只是因为"const"和"goto"是其他某些计算机语言的关键字。

相关文档
最新文档