admin 管理员组文章数量: 887021
2024年1月10日发(作者:blockheader是什么意思)
JAVA2021年11月17日19:02主方法入口:所有的Java
程序由public static void main(String[] args)
方法开始执行。输入流格式创建输入输出流对象:Scanner reader=new Scanner(); (需要引入,格式为:import r;)常用next方法:nextInt():输入整数 nextLine():输入字符串 nextDouble():输入双精度数 next():输入字符串(以空格作为分隔符)。Scanner scanner = new Scanner();int i = t();btye b = te();short s = ort();long l = ng();double d = uble();String str = ();输出流格式n(); 把括号里的内容转换成字符串输出,并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString方法。(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。String类和StringBuffer类String为字符串的常量而,StringBuffer是字符串的变量。String s=new String("test")s=s+"test" //此处String销毁又创建equals():比较两个字符串是否相等equalsIgnoreCase( ):忽略大小写的两个字符串是否相等比较toString():转换成String类型f():转换成String类型split():分隔符subString():截取字符串中的一段字符串String str = "abc";StringBuffer sb = new StringBuffer(str);("def");//末尾添加字符串(3, "ggg");//在某个位置插入字符rAt(0, 'x');//
修改某个位置的字符CharAt(1);//删除某个位置的字符(1, 2);//
从某个位置开始删除,直到某个位置之前为止e();//翻转charAt():返回指定索引处char值数组数据类型[] 数组名称= new 数据类型[长度];int [ ] intArray=new int[3];获取数组长度:二维数组,直接为每一维分配空间: int [ ][ ]a = new int[2][3];定义默认不加public为private变量。extend关键字用作继承:class
父类{}class
子类extends
父类{}使用implements
关键字可以同时继承多个接口(接口跟接口之间采用逗号分隔)。public interface A { public void eat(); public void sleep();}public interface B {public void show();}public class C implements A,B {}super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。使用super调用父类的有参构造
分区 杂乱 的第1
页
Static静态成员变量 (类变量),在类被载入时创建,为类的各对象共享引用:类名.静态成员变量名 或 对象名.静态成员变量名静态方法(类方法),不必创建对象就可以调用引用:类名.静态方法名( ) 或 对象名.静态方法名( )静态代码块
类中不包含在任何方法体中, 用static{ }描述的一段代码。类被载入时执行,仅执行一次Static{代码}多态与动态绑定父类引用变量赋值给子类引用变量(强制转换)Employee boss=new Manager(…);Manager m=(Manager)boss;//强制转换us(…);//需要使用子类中的方法instanceof : 引用变量 instanceof 类名(判断对象是否是某一类或该类的子类)Employee m=new Manager( );Manager n;if(m instanceof Manager) n=(Manager)e ;抽象类不包含方法定义的方法称为抽象方法。任何包含抽象方法的类必须声明为抽象类(C++抽象类)例:abstract class Shape{ public abstract double area( );}object类可以使用Object引用变量引用任何类型的对象
重写equals方法,(检测一个对象是否等于另一个对象)//Employee类:假定姓名、薪水、雇佣日期相同则认为它们相等public boolean equals(Object otherObject)//注意类型{ if(this==otherObject) return true;//是否引用同一个对象 if(otherObject==null) return false;//是否为空 if(getClass()!=ss()) return false;//是否属于同一类 Employee other=(Employee)otherObject; return ….//这里开始比较属性}toString方法,返回表示对象值的字符串 ,一般的类的实现为:类名[成员变量值]
当出现 字符串+对象 时,将自动调用toString方法public String toString( ){ return “Employee[name=”+name+“,salary=”+salary+“,hireDay=”+hireDay+”]”;}框架显示信息JFrame():构造一个初始时不可见的新窗体。JFrame(String title):创建一个具有title 指定标题的不可见新窗体。import ;import ;import .*;public class JFrameDemo extends JFrame{ public JFrameDemo() { setTitle("Java
第一个GUI
程序"); //设置显示窗口标题 setSize(400,200); //设置窗口显示尺寸 setDefaultCloseOperation(_ON_CLOSE); //置窗口是否可以关闭 JLabel jl=new JLabel("这是使用JFrame类创建的窗口"); //创建一个标签 Container c=getContentPane(); //获取当前窗口的内容窗格 (jl); //将标签组件添加到内容窗格上
分区 杂乱 的第2
页
setVisible(true); //设置窗口是否可见 } public static void main(String[] agrs) { new JFrameDemo(); //创建一个实例化对象 }}JPanel
是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用。import ;import ;import ;import .*;public class JPanelDemo{
public static void main(String[] agrs) { JFrame jf=new JFrame("Java第二个GUI程序"); //创建一个JFrame对象 nds(300, 100, 400, 200); //设置窗口大小和位置 JPanel jp=new JPanel(); //创建一个JPanel对象 JLabel jl=new JLabel("这是放在JPanel上的标签"); //创建一个标签 kground(); //设置背景色 (jl); //将标签添加到面板 (jp); //将面板添加到窗口 ible(true); //设置窗口可见 }}2D图形直线:Line2D line=new (startx,starty,endx,endy);(line);矩形://使用左上顶点的坐标、宽度和高度Rectangle2D doubleRect=new (startx,starty,width,height);//使用对角线上的两个顶点Rectangle2D doubleRect=new ( );meFromDiagonal(x1,y1,x2,y2);椭圆://使用外接矩形的左上顶点坐标、宽度和高度Ellipse2D e=new (startx,starty,width,height);//如果已经有外接矩形Ellipse2D e=new ( );me( rect);//使用中心点和一个顶点坐标meFromCenter(centerx,centery,x1,y1 );弧://使用左上顶点的坐标、宽度、高度、起始角度和跨度、闭合类型Arc2D a=new (startx,starty,width,height,startangle,extent ,arcangle,type );简易的文本框输入到文件import .*;import .*;import yout;import .*;public class WriterTo extends JFrame implements ActionListener{JButton b;JTextField t;public WriterTo(){ super("文本框内容写入文件"); JLabel l=new JLabel("请输入内容:"); t=new JTextField(20); b=new JButton("写入"); ionListener(this); (l);(t);(b); out(new FlowLayout());分区 杂乱 的第3
页
out(new FlowLayout()); (); ible(true);}public void actionPerformed(ActionEvent e) { if(rce()==b){ if(t().equals("")){ ssageDialog(null,"请输入内容~","错误",_MESSAGE); cus(); }else{ write(t()); ssageDialog(null,"写入成功","提示",ATION_MESSAGE); } }}public void write(String line){ try{ File f=new File("c:/文本框.txt");//向指定文本框内写入 FileWriter fw=new FileWriter(f); (line); (); }catch(Exception e){ }}public static void main(String[] args) {new WriterTo();}}异常处理try
{ //代码块,在此区域内发生的异常, //由catch中指定代码处理}catch(ExceptionType e){ //处理异常的代码}finally{}如果在try中任何代码抛出了ExceptionType异常,则程序跳过try语句的其余代码,程序将执行catch子句中的处理代码。如果在try中没有抛出异常,则跳过catch语句。finally(一定会执行的程序块)继承Thread类定义一个线程类,它继承线程类Thread并重写其中的方法run(), 在run方法中给出想在新线程上运行的程序代码。启动线程: 创建自定义类的对象,然后使用start( )启动。start方法将产生一个新的线程,并在该线程上运行run方法。run方法执行完成后,线程也将结束。class MyThread extends Thread{ public void run( ){//task code}}MyThread t=new MyThread( );();实现Runnable接口编写实现了Runnable接口的类,实现run方法,在run方法中给出想在新线程上运行的程序代码。启动线程:需要创建自定义类的对象和Thread对象(将自定义类的对象作为参数传递给Thread的构造方法),然后使用start( )。class MyClass implements Runnable{ public void run( ){//task code}}MyClass r=new MyClass( );Thread t=new Thread(r);( );Synchronized修饰一个代码块,被修饰的代码块称为同步代码块,作用范围是大括号{}括起来的代码public void method(){
分区 杂乱 的第4
页
{ synchronized(this) { // todo some thing
}}生产者消费者问题import edReader;import treamReader;import r;import it;class database{private String str;boolean flag = false;public synchronized void PutString(String x){if(flag){try{wait();}catch(InterruptedException e){tackTrace();}}str = x;flag = true;notify();}public synchronized boolean GetString(){if(!flag){try{wait();}catch(InterruptedException e){tackTrace();}}str = new StringBuilder(str).reverse().toString();if((" "))return false;(str + " ");flag = false;notify();return true;}}class ProducterThree implements Runnable{private database db;private String[] str;ProducterThree(database db, String[] x){ = db;str = x;}public void run(){for(int i = 0; i < ; i++)ing(str[i]);ing(" ");}}class CustomerThree implements Runnable{private database db;CustomerThree(database db){ = db;}public void run(){while(true){if(!ing())break;try{(100);}catch(Exception e){tackTrace();}}}}public class Main{public static void main(String args[]){BufferedReader br = new BufferedReader(new
InputStreamReader());String[] str = null;try {str = ne().split(" ");} catch (Exception e) {tackTrace();}database db = new database();new Thread(new ProducterThree(db, str)).start();new Thread(new CustomerThree(db)).start();}}创建删除文件String path = "F:test";File myFile = new File(path);
分区 杂乱 的第5
页
File myFile = new File(path);if (!()) {//
创建文件夹 (); ();/
删除文件夹}// mkdirs()可以建立多级文件夹,mkdir()只会建立一级的文件夹写入文件//
第一种:字节流FileOutputStreamFileOutputStream fop = new FileOutputStream(myFile);
byte[] contentInBytes = es();(contentInBytes);
();
();
//
第二种:FileWriter(参数true为追加内容,若无则是覆盖内容)FileWriter fw = new FileWriter(myFile,true);(content);();//
第三种:BufferedWriterBufferedWriter bw = new BufferedWriter(new FileWriter(myFile,true));(content);
();
();
//
第四种:打印流PrintStream和PrintWriter//
字节打印流:PrintStream//
字符打印流:PrintWriterPrintWriter pw = new PrintWriter(new FileWriter(myFile,true));
n(content); //
换行(content); //
不换行();读取文件//
第一种:以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
InputStream in = new FileInputStream(myFile);//
一次读一个字节int tempbyte;
while ((tempbyte = ()) != -1) {
(tempbyte);
}
();//
一次读多个字节int byteread = 0;byte[] tempbytes = new byte[100];ailableBytes(in);while ((byteread = (tempbytes)) != -1) {
(tempbytes, 0, byteread);
}
// ()方法是字符流,n()方法是字节流//
第三种:以行为单位读取文件,常用于读面向行的格式化文件
BufferedReader reader = new BufferedReader(new FileReader(myFile));String tempString = null;
int line = 1;
//
一次读入一行,直到读入null为文件结束
while ((tempString = ne()) != null) {
//
显示行号
n("line " + line + ": " + tempString);
line++;
}
();
//
常用BufferedReader
分区 杂乱 的第6
页
版权声明:本文标题:2023年JAVA程序设计复习资料 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1704848576h464198.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论