java 语言与面向对象程序设计教程

Click here to load reader

Upload: jory

Post on 24-Jan-2016

149 views

Category:

Documents


0 download

DESCRIPTION

Java 语言与面向对象程序设计教程. 主讲 : 计算机科学与技术系 周华平 E-mail:[email protected]. 第一章 软件开发基础与 Java 语言概述. 1.1 软件开发基础 1.1.1 软件运行原理 计算机系统是由硬件和软件两大部分组成。 硬件 :中央处理单元、数学逻辑单元、内存单元、输入单元、输出单元和外存单元组成。 软件 :由程序、运行程序所需要的数据和文档三部分组成。 - PowerPoint PPT Presentation

TRANSCRIPT

  • Java:

    E-mail:[email protected]

  • Java 1.1 1.1.1 CPU

  • 1.1.2 1 :"" PCDOSWindows 98Windows NTUNIXLinux

  • 2 a. - - b. PC c. / d. /N

  • 1.1.3 1 a. b. c. d. e.

  • 2 a. b. c. 1.2 Java 1.2.1 Java 1995523Java SunJava

  • 1.2.2 Java 1 1.1 Java MyFirstJavaProgram.javaimport java.io.* ;public class MyFirstJavaProgram// class {//public static void main(String args[]) //main{System.out.println("This is my first Java program ! "); //}}

  • 1Java 2 3 4 .java

  • 2 Java 1 2Java 3 .class

  • 3 Java Java java.exe 1Java 2Java 3Java

  • 1.2.3 Applet Application Java Application 1 Java Application 2 Java Application 3 Java Application public static void main(String args[])main Java Application 1.1

  • 1.2 Java Applet MyFirstJavaApplet.java

    import java.applet.Applet;//java.applet.Applet import java.awt.Graphics;// java.awt.Graphics public class MyFirstJavaApplet extends Applet// Applet { public void paint(Graphics g) { g.drawString("This is my first Java Applet!",15,20); }}

  • 1 Java Applet WWW 2 Java Applet WWW 3 Java Applet main Java Applet java.applet.Applet 4 Java Applet AppletViewer Java Application 5 Java Applet

  • Java 2.1 Java 1. Java Application 2.1 SimpleCharInOut.java

    import java.io.*;public class SinpleCharInOut {public static void main(String args[]){char c = ' ';

  • System.out.print("Enter a character please:"); try{ c=(char)System.in.read(); }catch(IOException e){}System.out.println(Youve entered character: + c);}}

  • a. " = " Java b. System.in java.io InputStream read() c. System.out java.io OutputStream print() d. read() e. read() int (char) char f. +

  • 2 Java Applet 2.2 SimpleGraphicsInOut.javaimport java.applet.Applet;import java.awt.*;public class SimpleGraphicsInOut extends Applet {Label prompt;//TextField input;//Label output;//

  • public void init() // Applet {prompt = new Label("Enter a character pleasea: "); // input = new TextField(3);//output = new Label (" "); //add(prompt);//add(input);//add(output);//}public boolean action(Event e,Object o)//{output.setText("You've entered character:"+o.toString()); //return true;}}

  • a. Label : java.awt Label b. TextFeild : java.awt TextFeild c. add : Label TextFeild d. init() : Java Applet e. action() :

  • 3Java Application 2.4 Application GraphicsApplicationInOut.javaimport java.awt.*;public class GraphicsApplctInOut {public static void main(String args[ ]) {ApplctFrame MyFrame = new ApplctFrame(); }}

  • class ApplctFrame extends Frame//FrameapplictFrame{Label prompt;//TextField input;//Label output;//ApplctFrame()//ApplctFrame{super("Application Graphics Frame");//setLayout(new FlowLayout());//prompt =new Label("Enter a character please:");//input = new TextField(4);//output = new Label(" ");//

  • add(prompt);//add(input);//add(output);//pack();//show();//}public boolean action(Event e,Object o)//{output.setText("You've entered character:"+o.toString()); //return true;}

  • public boolean handleEvent(Event e)//{if(e.id==Event.WINDOW_DESTROY)//id System.exit(0);return super.handleEvent(e);} }

  • 1Java Application 2 1 public class GraphicsApplication main public static void main(String args[])) 2 class ApplctFrame extends Frame Frame 3Frame frame) java.awt

  • 4 ApplctFrame 1 ApplctFrame() ApplctFrame 2action() 3handleEvent() 4action()handleEvent() Component 5Event eventAWT Event java.awt

  • 6Component component java.awt 7Java Application main() ApplictFrame

  • 2.2 2.2.1 Java a. b. int x ;char ch1,ch2; xch1ch2 int char 1$ 2$ 3

  • 2.5 VariableDefinition.javaimport java.awt.*;import java.applet.Applet;public class VariableDefinition extends Applet {int x = 10; char char_MyClass_Flag = 'R';Label output1;Label output2;

  • public void init(){output1 = new Label(" int "+"x,"+x);output2 = new Label(" char "+"char_MyClass_Flag,"+char_MyClass_Flag); add(output1);add(output2);}}

  • 2.6 VariableDefinition2.javaimport java.awt.*;import java.applet.Applet;public class VariableDefinition2 extends Applet{int x = 10;char char_MyClass_Flag = 'F';String prompt1 = "";String prompt2 = ;String prompt3 = " ";

  • public void paint(Graphics g){g.drawString(prompt1+"int"+prompt2+"x"+prompt3+x,10,20);

    g.drawString(prompt1+"char"+prompt2+"char_MyClass_Flag"+prompt3+char_MyClass_Flag,10,50);}}

  • 2.2.2 1 boolean true false 2.8 ShowBoolean.javaimport java.awt.* ;import java.applet.Applet;public class ShowBoolean extends Applet{ boolean b1 = true ; boolean b2 ;// false String prompt1 = "boolean" ; String prompt2 = "" ; String prompt3 = " , " ;

  • public void paint(Graphics g) { g.drawString( prompt1+prompt2+"b1"+prompt3+b1,10,20);

    g.drawString( prompt1+prompt2+"b2"+prompt3+b2,10,50); }}

  • 2 int char byte 8bit short 16bit int 32bit long64bit char16bit chrr c_char = 'A' ; char c_int = 65 ;

  • int i = 65 ;char c_char = i ; // i c_char int i = 65 ; char c_char = (char)i ;//

  • 3 floatdouble float32bit double64bi float double 3.14E3 31403.14E-2 0.0314 float 0.0314f 0.0314F3.14E-2f 3.14E-2F double 0.0314d 0.0314D3.14E-2d 3.14E-2d fF dD double

  • double float float f = 3.14 ; // 3.14 double float f = 3.14F;//

  • 4 1 2 long l = 5 000 000 000 ; int i = (int) l ; // l=5 000 000 000 i 2 147 483 647

  • 2.3 2.3.1 ++ -- 2.9 ArithmeticOperation.javaimport java.applet.Applet ;import java.awt.*;public class ArithmetcOperation extends Applet {int i_x = 1;int i_y = 2;double d_x = 3.1415926;double d_y = 2.41;

  • public void paint(Graphics g){g.drawString(i_x+"+"+i_y+"="+(i_x+i_y),10,20);g.drawString(i_x+"-"+i_y+"="+(i_x-i_y),10,40);g.drawString(i_x+"*"+i_y+"="+(i_x*i_y),10,60);g.drawString(i_x+"/"+i_y+"="+(i_x/i_y),10,80);g.drawString(i_x+"%"+i_y+"="+(i_x%i_y),10,100);g.drawString(d_x+"+"+d_y+"="+(d_x+d_y),10,140);g.drawString(d_x+"-"+d_y+"="+(d_x-d_y),10,160);g.drawString(d_x+"*"+d_y+"="+(d_x*d_y),10,180);g.drawString(d_x+"/"+d_y+"="+(d_x/d_y),10,200);g.drawString(d_x+"%"+d_y+"="+(d_x%d_y),10,220);}}

  • 2.3.2 1===> < >=
  • 2.10 RelationOperation.javaimport java.applet.Applet ;import java.awt.*;public class RelatinOperation extends Applet{int i_x = 1;int i_y = 2;double d_x = 3.1415926;double d_y = 2.41;public void paint(Graphics g){g.drawString(i_x+">"+i_y+"="+(i_x>i_y),10,20);g.drawString(i_x+"="+i_y+"="+(i_x>=i_y),10,100);g.drawString(i_x+""+d_y+"="+(d_x>d_y),10,160);g.drawString(d_x+"
  • 2 2.11 LogicalOperation.javaimport java.applet.Applet ;import java.awt.*;public class LogicalOperation extends Applet{boolean b1 = true;boolean b2 = false;int x1 = 3 ,y1 = 5;int x2 = 3,y2 = 5;boolean b3 = x1>y1 && x1++ == y1--;boolean b4 = x2>y2 & x2++ == y2 --;

  • public void paint(Graphics g){g.drawString (b1+"&"+b2+"="+(b1&b2),10,20);g.drawString (b1+"|"+b2+"="+(b1|b2),10,40);g.drawString (b1+"^"+b2+"="+(b1^b2),10,60);g.drawString ("!"+b2+"="+(!b2),10,80);g.drawString (b1+"&&"+b2+"="+(b1&&b2),10,100);g.drawString (b1+"||"+b2+"="+(b1||b2),10,120);g.drawString ("x="+x1+",y="+y1,10,140);g.drawString ("(x>y&&x++==y--)="+b3+" ;x="+x1+",y="+y1,10,160);g.drawString ("(x>y&x++==y--)="+b4+" ;x="+x2+",y="+y2,10,180);}}

  • 2.3.3 2.3.4 1 : x ? y : z x x y x z int x = 5 , y = 8 , z = 2 ; int k = x < 3 ? y : z ; // x < 3 k z 2 . int y = x > 0 ? x : -x ; // y x 2 P.39 2.5

  • 3 [] 4 instanceof true false boolean b = MyObject instanceof MyClass ;

  • 2.3.5 + x + y + z ( x + y ) + z !!x !(!x)

  • Java 3.1 1 "12"2

    3.2 Java if switch

  • 3.2.1 if if if // if else // else else if if if ( // if

  • 3.1 import java.applet.*;import java.awt.*;public class ClassScore extends Applet {Label prompt;TextField input;int PassCount = 0;int FailureCount = 0;int TotalNumber = 0;int TotalScore = 0;double AverageScore = 0;

  • public void init(){prompt = new Label("Enter next student score(-1 for reset):");input = new TextField(4);add(prompt);add(input);}

  • public void paint(Graphics g)//{g.drawString ("Total student number is: "+TotalNumber,10,80);g.drawString ("The pass number is : "+PassCount,10,100);g.drawString ("The failure number is: "+FailureCount,10,120);g.drawString ("The average score of whole class is : "+AverageScore,10,140);}

  • public boolean action(Event e,Object o){int score;if(e.target == input){score = Integer.parseInt(input.getText());if(score == -1){PassCount = 0;FailureCount = 0;TotalNumber = 0;TotalScore = 0;AverageScore = 0;}

  • else{if(score>=60)PassCount ++;elseFailureCount ++;TotalNumber ++;TotalScore += score;AverageScore = TotalScore/TotalNumber;}input.setText("");repaint();}return true;}}

  • 3.2.2 switch switch switch { case 1 1 // 1 case 2 2 // 2 ...... case 3 n // n default n+1 // n+1} switch case case case case ...... case default default switch

  • switch case switch ( MyGrade ){ case 'A' : MyScore = 5 ; break ; case 'B' : MyScore = 4 ; break ; case 'C' : MyScore = 3 ; break ; default : MyScore = 0 ;}

  • 3.3 1 while

    while while

  • 2 do - while do - while do while

    do - while while while do - while do - while

  • showCharValue.javaimport java.io.* ;public class showCharValue{public static void main(String args[]){char ch ;try{System.out.println("''");do{ch = (char)System.in.read() ;System.out.println("" + ch + "" + (int)ch);System.in.skip(2) ; // }while(ch!='#');}catch(IOException e){System.err.println(e.toString());}}}

  • 3 for for Java for

    for (123

    2 1 3

  • 10000 PerfectNum.java 1import java.io.*;public class PerfectNum{public static void main(String args[]){int count = 1 ;for (int i = 1 ; i < 1000 ; i++ ){int y = 0 ;for (int j = 1 ; j < i ; j ++ )if ( i % j == 0 )y += j ;if ( y == i ){System.out.print(i + String.valueOf( '\t')) ;count ++ ;if (count % 3 == 0 )System.out.println() ;}}try{System.in.read();}catch(IOException e){}}}

  • 41continue continue continue continue continue ;2break break

  • 3.4 Java 1 1 2 ...... throw [] { } 1 1 2 3 ......

  • 2boolean isPrime(int n)int n boolean isPrime()isPrime()f_i = isPrime(i);if_i

  • 3 return void public void init()

    4 1 f_i = isPrime(); 2 public boolean action(Event e,Object o)

  • 4.1

  • 4.1.2

  • 4.2OOAOODOOP

  • 4.3

  • 4.4

  • Java5.1

  • [] class [extends ] [implements ]{}

  • 1.classclassJava

  • (1)extendsJava

  • class Employee{int m_EmpNo;int m_DeptNo;}

    class CommonEmployee extends Employee{int m_ManagerNo;}

    class ManagerEmployee extends Employee{int m_SecretaryNo;}

  • 2implementsJava

  • 3

  • 2.1[] [=][] [=new ()]

  • staticfinalvolatiletransient

  • 2Java[]Throws12{}

  • staticabstractfinalsynchronousnative

  • 5.2new =new ();

    5.1

  • 5.3Java

  • 5.4 1 Nclass 1 N 1 N

  • publicpublicprivateprotectedprivate protected

  • 1.publicpublicimportpublicpublicpublic

  • public

  • 2.

  • 3.privateprivate

  • 4.protectedprotectedprotected

  • 5.private protectedPrivateprotected

  • 5.5 1.staticch05/Employee.java

  • 2.staticstaticstatic

  • staticstaticstaticStaticstatic

  • 3.static(1)(2)new(3)

  • 5.6 1.abstract

  • 2.abstractabstract

  • 5.7 1.final2.finalfinal

  • final123static

  • 3.finalfinalprivatefinalfinal

  • 4.protected void finalize(){}

  • 5.8 1.volatilevolatilevolatile

  • 2.nativenativeCC++fortrannativenativejavanative

  • 3.synchronizedsynchronizedstaticClasssynchronizedstaticsynchronized

  • 4.abstractfinalabstractprivatestaticfinalnativeabstractprivateabstractabstractstaticstatic