简单的JAVA基础让你认识java.ppt
简单的JAVA基础让你认识java Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望oJava语言程序设计进阶篇 Java 高级应用技术2参考书目oJava核心技术oJava编程思想ohttp:/ Virtual Machine)在实际的计算机上通过软件模拟来实现。nJava虚拟机有自己想象中的硬件。o功能n提供垃圾回收功能n提供运行时环境7提供运行时环境执行三大任务o加载代码o校验代码o执行代码8一个一个Java应用程序应用程序 /*HelloWorld.java */public class HelloWorld public static void main(String args)System.out.println(Hello World!);9类和包介绍类和包介绍o类(class)是描述提供某种功能的模块,类是对象的模版。o类被划分到不同的包(package)中,每个包都包含几个类。oJDK的Java类库中的几个重要包:java.lang,java.io,java.awt,java.util学生小张学生小王孙老师陈老师客户小红客户小芳售货员小丁售货员小东Student类Teacher类Customer类Seller类myapp.school包myapp.store包对象10 Java源文件布局o包含三个“顶级”要素npackage声明语句nimport引入语句n类声明语句o每一个源文件中最多只能有一个公共访问类(用public修饰的类)-B.java-package b;/package声明语句 import a.*;/import引入语句,或者import a.A;public class B /类声明语句 public static void main(String args)A a;/access class A a=new A();-A.java-package a;/package声明语句public class A /类声明语句 public static void main(String args)a=new A();11源文件布局a)import java.awt.*;package mypackage;class Myclass b)package myPackage;import java.awt.*;class MyClassc)/*This is a comment*/package myPackage;import java.awt.*;public class MyClass 12程序入口main()方法的声明以下两种方式是合法的main()方法声明:1.public static void main(String args)2.static public void main(String args)public class HelloWorld public static int main(String args)System.out.println(hello world);return 0;13程序入口main()方法的声明a)public static void main()b)public static void main(String string)c)public static void main(String args)d)static public int main(String args)e)static void main(String args)14JDK简介o下载JDK:http:/ 是Java Development Kit(Java开发工具包)的缩写。它为Java应用程序提供了基本的开发和运行环境。目前JDK的最成熟的版本为JDK1.5,也称为JDK5.0,它还有一个吸引人的商业名叫Tiger。oJDK主要包括以下内容:nJava虚拟机:负责解析和执行Java程序。Java虚拟机可以运行在各种操作系统平台上。nJDK类库:提供了最基础的Java类以及各种实用类。java.lang、java.io、java.util、java.awt、javax.swing和java.sql包中的类都位于JDK类库中。n开发工具:这些开发工具都是可执行程序,主要包括:javac.exe(编译工具)、java.exe(运行工具)、javadoc.exe(生成JavaDoc文档的工具)和jar.exe(打包工具)等。15安装JDKo在本地机器上安装JDKo假定JDK安装到本地后的根目录为,在bin目录下提供了以下工具:njavac.exe:Java编译器,把Java源文件编译成Java类文件。njar.exe:Java应用的打包工具。njava.exe:运行Java程序。njavadoc.exe:JavaDoc文档生成器。o为了便于在DOS命令行下直接运行这些工具,可以把/bin目录添加到操作系统的系统环境变量PATH变量中。16通过JDK来编译和运行的命令如下o命令行模式下:cmdcd d:USBMyCourseJavaMorelecture01d:javac-sourcepath src -d classes srcbB.javajava-classpath classes b.B17编译并运行如下代码编译并运行A.java,B.javaB.classA.classB.classpackage apackage b/*A.java*/package a;public class A public A()System.out.println(new Instance of A);/*B.java*/package b;import a.*;/import package a public class B public static void main(String args)A a;/access class A a=new A();18理解目录结构编译并运行A.java,B.javaexamplessrcclassesababA.java B.javaA.classB.class19二.标识符、关键字和数据类型o 区分有效和无效标识符o 确认Java关键字o 列出八个基本类型o 为数字类型和String类型定义文字值o为一个简单的包含基本类型成员变量的类创建一个类定义o 使用new构造一个对象o 描述默认初始化o 使用点符号访问一个对象的成员变量20注释/comment on one line/*comment on one or more line*/*documenting comment*/21 javadoc注释o以“/*”开始,以“*/”结束。ojavadoc命令只处理源文件中在类、接口定义、方法、变量、构造器之前的注释.例:运行javadoc MyHelloworld.java/*在main()方法中使用的字符串*see#main(java.lang.String)*/private static String sDisplay=HelloWorld;/*显示HelloWorld*param args 从命令行中 */mvvvpublic static void main(String args)javadoc MyHelloworld.java22标识符o标识符的规则($123,_param1):n首字母只能是a-z、A-Z、$或者_n其余字母只能是a-z、A-Z、$、_或者数字o例题:Which of the following identifiers are ILLEGAL?a)_underscoreb)5Interstatec)Interstate5d)_5_23Java数据类型数据类型o基本类型n逻辑类 booleann字符类 char n整数类 byte,short,int,longn浮点类 double,floato引用类型n对象引用类型n数组引用类型24直接数(literal value)直接数就是直接显式赋给某个变量的具体数值。共有7种类型的直接数:int型直接数(1,1567)long型直接数(22L,22l)float型直接数(234.5F,1.3f)double型直接数(234.5,235.6D,11.0d)boolean型直接数(true,false)char型直接数(a,u000F)String型直接数(“hello”)int score=99;long length=100L;float weight=14.12F;float height=14.12D;char sex=M;String name=“Tom”;字符的16进制Unicode编码25引用类型引用类型o对象引用类型o数组引用类型Student tom;tom=new Student();int intArray=new int3;int age=18;26用new关键字创建对象o第一步:分配内存空间o第二步:初始化为其变量类型的默认值o第三步:调用构造方法o第四步:返回对象实例的引用 public class Sample byte memberV1;int memberV2;public Sample()memberV2=2;/构造方法 public static void main(String args)Sample s=new Sample();堆区Sample对象memberV1(占1个字节,值为0)memberV2(占4个字节,值为2)引用变量S27数组数组1.声明声明 int intArray;或者int intArray;2.构造构造intArray=new int3;3初始化初始化for(int i=0;i 50)y=9;z=y+x;/Possible use before initialization34操作符o操作符进行算术或符号右移位。o操作符是不带符号右移位操作符。o操作符int a1=12 1;/变量a1的取值为6int a2=-12 2;/变量a2的取值为-3int a3=128 2;/变量a3的取值为32int a4=129 2;/变量a4的取值为3236逻辑右移位操作符int a1=12 1;/变量a1的取值为6int a2=-12 2;/变量a2的取值为107374182137左移位操作符int a1=12 1;/变量a1的取值为24int a2=-12 2;/变量a2的取值为-48int a3=128 2;/变量a3的取值为512int a4=129 0)System.out.println(大于0);else if(x=0)System.out.println(等于0);else if(x0)System.out.println(小于0);54分支语句(switch语句)int x=9;final int Y=2;switch(x)/必须是与int类型赋值兼容的变量default:System.out.println(“default”);case 1:System.out.println(“case1”);case Y:System.out.println(“caseY”);int x=1;final int Y=2;switch(x)/必须是与int类型赋值兼容的变量default:System.out.println(“default”);case 1:System.out.println(“case1”);break;case Y:System.out.println(“caseY”);打印defaultcase1caseY打印case155循环语句/do-while循环int i=1;do System.out.println(i);while(i+3);/while循环int i=0;while(i+3)System.out.println(i);/for循环for(int i=1;i=3;i+)System.out.println(i);打印12356流程控制语句obreak:从switch语句、循环语句或标号标识的代码块中退出。以下while循环用于把1加到100:int a=1,result=0;one:while(true)result+=a+;if(a=101)break one;/终止循环System.out.println(result);/打印5050ocontinue:跳过本次循环,执行下一次循环,或执行标号标识的循环体。以下for循环用于对1到100之内的奇数求和:int result=0;for(int a=1;a=100;a+)if(a%2=0)continue;/如果a是偶数,就跳出本次循环,继续执行下次循环 else result+=a;System.out.println(result);/打印2500o 57