javajava程序设计语言概述程序设计语言概述

javajava程序设计语言概述程序设计语言概述

ID:33577756

大小:358.96 KB

页数:60页

时间:2019-02-27

上传者:xinshengwencai
javajava程序设计语言概述程序设计语言概述_第1页
javajava程序设计语言概述程序设计语言概述_第2页
javajava程序设计语言概述程序设计语言概述_第3页
javajava程序设计语言概述程序设计语言概述_第4页
javajava程序设计语言概述程序设计语言概述_第5页
资源描述:

《javajava程序设计语言概述程序设计语言概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

第2章Java程序设计语言概述 2.1Java程序设计语言的发展1995年5月发布Java和HotJava浏览器1995年9月宣布将提供Java开发工具1995年12月发布JavaScript1996年推出JDK1.01996年颁布JavaBeans规范1997年推出JDK1.1.2 2.2Java程序设计语言的基本特征简捷性安全性面向对象可移植性分布式解释执行健壮性高性能结构中立多线程 2.3Java程序的运行环境Java是解释型的高级编程语言编译运行编译型源程序可执行程序exe连接操作裸系机解统编译解释释Java源程序字节码程序器运行.java.classJava虚拟机 运行Java程序的基本过程1、利用编辑器编写Java源程序源文件名:主类名.java2、利用编译器将源程序编译成字节码字节码文件名:源文件名.class3、利用虚拟机(解释器)运行工作过程:载入、代码校验、解释执行 常见的Java开发环境从网络上直接下载JDK(JavaDeveloperKit),并利用命令行方式操作javac(编译器);java(解释器)Java集成开发环境(IDE)VisualJ++、VisualCafe、JBuilderJava教学集成开发环境BlueJ(需要JDK1.3以上版本的支持) 2.4Java程序的基本结构Application应用程序:它是一个完整的应用程序,可以利用Java虚拟机独立地运行。Applet(小应用程序):它不是一个完整的应用程序,而是框架程序中的一个模块,因此只能在WWW浏览器环境下运行。 Application应用程序举例importjava.io.*;publicclassMyFirstJavaProgram{publicstaticvoidmain(String[]args){System.out.println(“ThisisthefirstJavaApplication”);}} Applet应用程序举例importjava.applet.*;importjava.awt.*;publicclassMyFirstJavaAppletextendsApplet{publicvoidpaint(Graphicsg){g.drawString(“ThisisthefirstAppletprogram.”,50,50);}} FirstJavaApplet


2.5Java程序的基本类型数据类型决定了参与操作的变量、常量和表达式的取值类别、取值范围以及能够实施的操作行为。Java语言属于强类型语言,即对于程序中出现的所有变量和表达式,在编译的时候就要求有明确的数据类型,这样才可以由编译程序在编译期间对所有的操作进行数据类型相容性的检查。 Java的基本数据类型布尔类型:boolean字符类型:char整数类型:byte、short、int、long浮点类型:float、double boolean只有true和false两个取值,分别代表“真”和“假”。特点:不能够与任何其他类型进行相互的类型转换操作。booleanx;booleanx=true; charJava语言规定,字符采用Unicode编码,每个字符占用两个字节。ASCII字符集是Unicode字符集的一个子集,并且在这两个字符集中,前128个编码所对应的字符完全相同,只是每个字符占用的二进制位数不同。Unicode表中的字符就是一个字符常量,字符常量用单引号括起。有些字符(如回车)不能通过键盘输入到程序中,这时需要用转意字符常量,如’ ’。要得到字符在Unicode字符集中的顺序位置,必须用int类型转换。要得到一个0~65535之间的数所代表的Unicode表中对应的字符必须使用char类型转换。 publicclassExample2_1{publicstaticvoidmain(Stringargs[]){charchinaWord='你',japanWord='ぁ';intp1=36328,p2=38358;System.out.println("汉字'你'在unicode表中的顺序位置:"+(int)chinaWord);System.out.println("日语'ぁ'在unicode表中的顺序位置:"+(int)japanWord);System.out.println("unicode表中第36328位置上的字符是:"+(char)p1);System.out.println("unicode表中第38358位置上的字符是:"+(char)p2);}} byte、short、int、long上面4种数据类型都属于整型数值类型。byte1个字节short2个字节int4个字节long8个字节 float、doublefloat单精度32位double双精度64位Java语言中的浮点数值表示遵循IEEE754标准。它不仅包括正零、负零、正无穷打、负无穷大和一个特别的值NaN。 基本数据类型的转换•当把一种基本数据类型变量的值赋给另一种基本类型变量时,会涉及类型转换问题。•转换的原则(低)byte-〉short-〉int-〉long-〉float-〉double(高),当把级别低的变量赋值给级别高的变量时,自动完成转换。当把级别高的变量赋值给低的变量时,必须使用显示类型转换方式:(类型名)要转换的变量。•当把一个整数赋值给byte、short、int、long型变量时,不可超出这些变量的取值范围。否则必须使用强制类型转换。•上面的转换不包括逻辑类型和字符类型。 publicclassExample2_2{publicstaticvoidmain(Stringargs[]){intc=2200;longd=8000;floatf;doubleg=123456789.123456789;c=(int)d;f=(float)g;//导致精度的损失.System.out.print("c="+c);System.out.println("d="+d);System.out.println("f="+f);System.out.println("g="+g);}} 2.6标识符、关键字、分隔符、常量、变量【标识符】Java的标识符由字母、数字、_和$组成,长度不限。其中字母可以是大写或小写的英文字母,数字为0到9。标识符的第一个字符必须为字母、(_)或($)符号。标识符区分大小写。 标识符用来命名变量、符号常量、数组、方法、类、对象、接口、包等。为了提高程序的可读性,标识符最好“见名知义”,而且规范大小写的使用方式。 【关键字】又称保留字,是Java语言规定了特定含义的标识符。用户只能按照系统规定的方式使用,不能自行定义。关键字一律用小写字母表示。Java中的关键字有50个,按用途划分为:数据类型、语句、修饰、方法、类、接口、包,并保留了const和goto。 【分隔符】分隔符被用来区分Java源程序中的基本成分(标识符、关键字、运算符和常量),分隔符分为注释、空白符和普通分隔符三种类别。 注释是为源程序增加必要的解释说明的内容,其目的是提高程序的可读性,书写注释是编写程序的良好习惯。Java中有三种形式的注释:/*注释部分*//**注释部分*///注释部分 第二种分隔符是空白符,包括空格、回车符、换行符和制表符(Tab键)等。各种Java基本成分之间的多个空白符与一个空白符的作用相同。 第三种是普通分隔符,具有确定的语法含义,必须按照特定的语法规定使用。它包括四种分隔符:{}大括号,用来定义类体、方法体、复合语句或对数组进行初始化。;分号,是语句结束的标志。,逗号,分隔方法的参数或声明的变量序列。:冒号,用于分隔语句标号。 【常量】整型常量:十、八、十六进制实型常量:double、float字符常量:单引号括起来布尔常量:true和false字符串常量:双引号括起来 【变量】在Java语言中,所有的变量必须先定义后使用。其格式为:数据类型标识符1[=初值],[标识符2...];如果是基本数据类型,变量在声明时就为其分配内存空间;否则,还需要用new为声明的变量分配空间。 《变量的作用域》在某个方法体中或参数表中声明的变量只能在该方法体中使用;在某个语句块中声明的变量,只能在该语句块中使用。在类中声明的成员变量需要根据访问修饰符确定可访问者。 2.7Java程序的基本输入输出•Applet应用程序的输入输出输入:利用图形用户界面的组件接收用户信息输出:以图形或图像的形式输出结果•Application应用程序的输入输出字符界面:利用System.in.read输入,System.out.print和System.out.println输出图形用户界面:与Applet类似 字符界面的输入输出importjava.io.*;publicclassSimpleCharInOut{publicstaticvoidmain(String[]args){charch=‘‘;System.out.print(“Enteracharacterplease:”);try{ch=(char)System.in.read();}catch(IOExceptione){};System.out.println(“You’veenteredcharacter”+c);} importjava.io.*;publicclassApplicationLineInOut{publicstaticvoidmain(Stringargs[]){Stringstring="";System.out.print("pleaseenterastring:");try{BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));string=in.readLine();}catch(IOExceptione){}System.out.println("You'veenteredstring:"+string);}} importjava.io.*;publicclassGetNumber{publicstaticvoidmain(String[]args){intinteger=0;Stringdigit;try{System.out.print("请输入一个整型数值:");BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));digit=br.readLine();integer=Integer.parseInt(digit);}catch(IOExceptione){}System.out.println(“你输入的整型数值为:"+integer);}} importjava.applet.Applet;图形用户界面的输入输出importjava.awt.*;importjava.awt.event.*;publicclassGUIDemoextendsAppletimplementsActionListener{ButtonredButton;//按钮“红色”ButtongreenButton;//按钮“绿色”Labellabel;//标签publicvoidinit(){label==newLabel("程序开始运行,目前还没有点击任何按钮");redButton=newButton("红色");//创建“红色”按钮greenButton=newButton("绿色");//创建“绿色”按钮redButton.addActionListener(this);//注册监听器greenButton.addActionListener(this);//注册监听器add(label);//将标签label添加到容器中add(RedButton);//将按钮redButton添加到容器中add(GreenButton);//将按钮greenButton添加到容器中} //点击按钮时自动调用publicvoidactionPerformed(ActionEvente){if(e.getSource()==RedButton){label.setText("你点击了《红色》按钮");}else{if(e.getSource()==GreenButton){label.setText("你点击了《绿色》按钮");}}}} 2.8运算符与表达式算术运算:+、-、*、/、%、++、--逻辑运算:&、|、!、^、&&、||关系运算:==、!=、>、<、>=、<=位运算:~、&、|、^、>>、<<、>>>其他运算:?:、赋值运算符、()、[]、new检测某个对象是否属于某个类instanceof(对象) 赋值操作中的类型转换Java是强类型语言,因此,在进行赋值操作时要检查类型;当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换;当将占位数多的类型赋值给占位数少的类型时,需要由用户使用显式地强制进行类型转换。 《final变量》在Java中,可以利用关键字final将一个变量定义为常量标识符。finaldoublePI=3.1415926;变量PI的值在作用域范围内只能被引用,不能被修改。 packagejava.lang;Math类(importjava.lang)importjava.util.Random;publicfinalclassMath{privateMath(){}publicstaticfinaldoubleE=2.7182818284590452354;publicstaticfinaldoublePI=3.14159265358979323846;publicstaticnativedoublesin(doublea);publicstaticnativedoublecos(doublea);publicstaticnativedoubletan(doublea);publicstaticnativedoubleasin(doublea);publicstaticnativedoubleacos(doublea);publicstaticnativedoubleatan(doublea);publicstaticnativedoubleexp(doublea);publicstaticnativedoublelog(doublea);publicstaticnativedoublesqrt(doublea);publicstaticnativedoubleIEEEremainder(doublef1,doublef2);publicstaticnativedoubleceil(doublea);publicstaticnativedoublefloor(doublea);publicstaticnativedoublerint(doublea); publicstaticnativedoubleatan2(doublea,doubleb);publicstaticnativedoublepow(doublea,doubleb);publicstaticintround(floata)publicstaticlonground(doublea)privatestaticRandomrandomNumberGenerator;publicstaticdoublerandom()publicstaticintabs(inta)publicstaticlongabs(longa)publicstaticfloatabs(floata)publicstaticdoubleabs(doublea)publicstaticintmax(inta,intb)publicstaticlongmax(longa,longb)publicstaticfloatmax(floata,floatb)publicstaticdoublemax(doublea,doubleb)publicstaticintmin(inta,intb)publicstaticlongmin(longa,longb)publicstaticfloatmin(floata,floatb)publicstaticdoublemin(doublea,doubleb)} 2.9流程控制语句表达式语句:表达式后加一个分号a+=a*6;a++;a+3;复合语句:包含在括号中的语句序列流程控制语句:顺序结构、分支结构和循环结构 •分支语句:if...else、switch•循环语句:while、do...while、for•转移语句:break、continue、label•返回语句:return 《分支结构》if(布尔表达式)语句1;[else语句2;]switch(表达式){case常量1:语句块1;......case常量n:语句块n;default:语句块n+1;} 《循环结构—while》格式:while(循环条件){循环体}含义:循环条件为一个布尔表达式,其值为true时,重复执行循环体。 《循环结构—do》格式:do{循环体}while(循环条件);含义:重复执行循环体,直到循环条件为false。 《循环结构—for》格式:for(表达式1;表达式2;表达式3)循环体;表达式1:循环初值表达式2:布尔型表达式,循环条件表达式3:循环增量表达式 《控制转移语句》break语句:使程序的流程从一个语句块内部转移出去。通常在switch和循环语句中使用。continue语句:只能在循环语句中使用。其作用是终止当前这一轮的循环,直接进入下一轮的循环。 2.10数组按照元素的组成分类,数组属于复合数据类型,它是由类型相同的元素组成的有顺序的数据集合。特点:元素类型相同;元素有顺序;所有元素共用一个名称。 《Java语言中的数组声明》格式:数组元素类型数组名[];数组元素类型[]数组名;举例:intarray_int[];doublearray_double[];String[]str;Point[]P;注意:按照变量的存储方式上分类,Java语言中的数组属于引用类型,因此在声明数组引用时不能给出长度。 《数组的创建》声明数组引用后,需要利用new运算来为数组型变量定义长度且分配内存空间,我们将其称之为创建数组。array_int=newint[10];array_double=newdouble[1000];intString[]str=newString[10];Java规定,数组创建后系统自动地为数组中的每个元素赋予初值。 《数组初值》数组元素的默认初值:整型:0实型:0.0f或0.0d字符:‘’类对象:nullintarray_int[]={1,2,3,4,5,6,7};String[]str={“C++”,“QBasic”,“Pascal”}; 在Java语言中,long类型的最大值为9223372036854775807,要想编写一个程序能够将任意给定的一个long值转换成二进制,可以借助于一维数组将转换后的每一位二进制数值保存起来。 publicclassDecimaltoBinary{publicstaticvoidmain(String[]args){byte[]binary;//声明数组longdata;for(intd=1;d<=5;d++){data=(long)(Math.random()*1000000000000000L);System.out.print("("+data+")=>");binary=toBinary(data);printBinary(binary);}} publicstaticbyte[]toBinary(longdata){byte[]b=newbyte[64];for(inti=63;data!=0;i--){b[i]=(byte)(data%2);data=data/2;}returnb;} publicstaticvoidprintBinary(byte[]b){inti=0;while(i<64&&b[i]==0)i++;for(;i<64;i++)System.out.print(b[i]);System.out.println();}} 2.11二维数组二维数组是由一维数组的每个元素又是一维数组的引用构成的在Java中,每个一维数组元素引用的一维数组所含的元素数目可以不同 publicclassYangHui{publicstaticvoidmain(Stringargs[]){int[][]data=newint[10][];for(inti=0;i<10;i++)data[i]=newint[i+1];data[0][0]=1;for(inti=1;i<10;i++){data[i][0]=1;data[i][i]=1;for(intj=1;j
当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭