自考04747《Java语言程序设计(一)》串讲笔记
- 格式:doc
- 大小:251.00 KB
- 文档页数:38
Java语言程序设计读书笔记前言在计算机科学领域中,Java语言是一种非常重要的编程语言,它具有跨评台、面向对象、健壮性和安全性等优点,因此备受程序员们的青睐。
本文是我在学习《Java语言程序设计》这本经典教材时的读书笔记,记录下了一些重要的知识点和经验总结,希望能够为其他学习者提供一些帮助和参考。
一、Java语言概述1. Java语言的历史Java语言的前身是由Sun Microsystems公司开发的Oak语言,后改名为Java,最早在1995年发布。
Java语言由于其跨评台的特性,很快就受到了广泛的关注和应用,目前已成为一种非常流行的编程语言。
2. Java语言的特点Java语言具有跨评台、面向对象、健壮性、安全性等特点,它可以在各种操作系统上运行,并且支持面向对象的编程思想,同时也提供了丰富的类库和工具。
3. Java语言的应用领域由于Java语言的跨评台特性,它被广泛应用于企业级软件开发、移动设备应用开发、嵌入式系统开发等领域,成为了目前最受欢迎的编程语言之一。
二、Java语言基础1. Java语言的基本语法Java语言的基本语法和C、C++语言比较类似,它采用了类似于C语言的语法结构,同时又加入了面向对象编程的特性,比较容易上手。
2. Java语言的数据类型Java语言的数据类型包括基本数据类型和引用数据类型,基本数据类型包括整型、浮点型、字符型等,引用数据类型包括类、接口、数组等。
3. Java语言的运算符Java语言的运算符包括算术运算符、关系运算符、逻辑运算符等,它们用于对数据进行操作和比较。
4. Java语言的流程控制Java语言的流程控制包括条件语句、循环语句等,它们用于控制程序的执行流程,实现特定的功能逻辑。
三、面向对象编程1. 类和对象在Java语言中,一切皆为对象,类是对象的模板,对象是类的实例。
通过定义类和创建对象,可以实现面向对象编程的思想。
2. 封装封装是面向对象编程的重要特性之一,它将数据和方法封装在类的内部,提供了更好的安全性和可维护性。
4747 Java语言程序设计(一)第一章 Jave语言基础1.1 Java语言的特点领会Java语言的特点、关键字1010-11.Java语言采用多种机制来保证可移植性,其中最主要的是______。
虚拟机1110-11.Java语言是一种 ____强类型语言___ 语言,它约束程序员必须遵守规定编写程序,能让编译器检测出程序中尽可能多的错误。
1.2 Java应用程序和小应用程序识记Java应用程序与小应用程序的特点和区别11.一个应用程序必须在某个类中定义的方法是______。
main()1201-11.能在浏览器上执行的Java程序被称为小应用程序。
1.3 Java程序的开发过程11.Java程序的字节码文件的扩展名是_________。
Class1001-11.Java的编译程序先将Java源程序翻译成与机器无关的__________。
字节码1101-11.Java源文件的扩展名是_____.java____。
1210-11. 如果Java源文件中有多个类,那么只能有一个__public____类。
1404-11.类Testll经Java编译程序编译后,产生的文件是______。
Test11.class1.4 标识符和关键字简单应用:Java程序的标识符命名规则、注释、基本数据类型标识符可以用来标识文件名、变量名、类名、接口名和成员方法名等,其构造规则如下:1)标识符由Java字母和Java数字组成;2)首字符必须是Java字母;3)除去关键字、false、true和null;4)所有标识符是区分大小写的。
注释:1)行注释//2)块注释/* …. */3)文档注释/** …*/1404-1.以下标识符中,不是..Java语言关键字的是A.wait B.new C.long D.switch1.下述字符组合不能作为Java程序标识符的是()A.Aa12 B.大x C.y小 D.5x1.下面供选字符序列中,不属于...Java语言关键字的是()A.goto B.null C.false D.native1.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.new C.java D.return1110-1.下面供选字符序列中,不属于...Java 语言关键字的是 ( )A. throwB. synchronizedC. protectD. try1010-1.以下是关于Java语言关键字的叙述,其中正确的是( )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字1.5 基本数据类型0开头表8进制常量,数字只能(0-7)1.下列字符组合不能作为Java整型常量的是( )A.078B.0x3ACBC.5000D.0x3ABC1.在Java语言中,用于标记回车符的转义字符是A.\b B./b C.\n D./n1001-12.表达式¨23 & 18’’的值是__________。
第七章:输入和输出流第一节:数据流的基本概念1.在java中,把不同类型的输入、输出源抽象为流,其中输入或输出的数据成为数据流,用统一的接口表示。
2.数据流是指一组有顺序的、有起点和终点的字节集合。
程序从键盘接收数据或向文件中写数据,都可以使用数据流来完成。
3.流分为输入数据流和输出数据流。
输入数据流只能读不能写;而输出数据流只能写不能读。
从数据流中读取数据是,必须有一个数据源与该数据流相连(FileInput Stream in = new FileInputStream(“javatest.txt”);)(实例化)4.Java.io包中提供了表示数据流的4个基本抽象类(不可以实例化),分别是InputStream、OutputStream、Reader和Writer。
因此涉及数据流操作的程序中,几乎都要使用引入语句:import java.io.*5.为了使对象的状态能够方便地永久保存下来,java.io包中又提供了以字节流为基础的用于对象的永久化保存状态的机制,通过实现ObjectInput和Object Output接口来完成。
6.输入数据流提供的主要操作方法有:(得到-1,标志数据流结束)int read():从输入流读取一个字节的二进制数据int read( byte [ ] b):将多个字节读到数组中,填满整个数组int read( byte [ ] b ,int off , int len): 从输入流中读取长度为len的数据,从数组b中下标为off的位置开始放置读入的数据,读毕返回读取的字节数。
7.void close(): 关闭数据流int available(): 返回目前可以从数据流中读取的字节数long skip(long l): 跳过数据流中指定数量的字节不读取,返回值表示实际跳过的字节数8.如需要反向读取数据流,则使用回推操作(Push Back)Boolean markSupported(): 用于测试数据流是否支持回推操作void mark(int): 用于标记数据流的当前位置,并划出一个缓冲区,其大小至少为指定参数的大小。
2017年10月高等教育自学考试全国统一命题考试Java语言程序设计(一)试卷课程代码04747一、单项选择题:本大题共10小题,每小题l分,共10分。
1.编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为()A..javaB..classC..htmlD..exe【答案】B【解析】java文件通过jvm虚拟机编译后会生成二进制码,显示的文件格式就是“.class”.【知识点】java应用程序和小应用程序2.表达式-1>>1的值是()A.232-1B.-1C.216-1D.2147483647【答案】B【解析】>>是算术右移位运算符,按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1. -1java表示就是32个1,右移1位后还是-1.【知识点】移位运算3.为类C定义一个int类型的变量x,使得只有同类和同包的其它类能使用代码C.x就可引用它,则定义x的形式为()A.static int x;B.public int x;C.protected static int x;D.public static int x;【答案】A【解析】用关键字static修饰的是类变量,静态变量被所有的对象所共享,都可以引用它。
【知识点】类变量4.设有字符串变量String s1="abc", s2=new String("abc"),则以下表达式的值为true 的是()A.pareToIgnoreCase(s2)B.pareTo(s2)C.s1==s2D.s1.equals(s2)【答案】D【解析】因为“==”指的是两个对象的引用相同,而“equals()”指的是两个对象的值相等。
【知识点】字符串变量5.在以下Swing的类中,属于容器的是()A.JDialogB.JButtonC.JTextAreaD.JList【答案】A【解析】swing顶层容器有JFrame,JDialog,JApplet【知识点】swing组件6.在以下叙述中,属于CardLayout布局特点之一的是()A.多个组件从上到下排列B.容器只能放置一个组件C.容器被分成网格状D.多个组件拥有同一个显示空间【答案】D【解析】CardLayout布局可以容纳多个组件,但多个组件拥有同一个显示空间,某一时刻只能显示一个组件。
全国2011年10月《Java语言程序设计(一)》考试重点第一章Java语言基础1.编译和解释(P3)2.Java应用程序和小应用程序(P5)3.基本数据类型(P8)第二章运算和语句4.数据运算(P13)5各种语句的表示(P20)第三章面向对象编程基础6.面向对象的基本概念(P39)7.Java的类和对象(P41)8.实例变量和类变量(P46)9.接口(P58)10.Java小应用程序基础(P61)第四章数组和字符串12.数组的概念及类型(P69)13.字符串(P73)14.字符串与字节数组(P78)第五章图形界面设计(一)15.图形界面设计基础(P85)16.事件驱动程序设计基础(P87)17.标签、按钮和按钮事件(P91)18.布局设计的类型(P96)第六章图形界面设计(二)19.选择项目事件处理(P112)20.列表和组合框(P114)21.菜单条、菜单和菜单项(P118)22.鼠标事件(P127)第七章图形、图像与多媒体23.绘图基础(P137)24.图像载入和输出(P148)25.播放幻灯片和动画(P153)第八章多线程26.线程的基本概念(P159)27.Thread类和Runnabie接口(P161)28.线程互斥和同步(P166)第九章输入和输出流29字符流和字节流(P175)30.缓冲式输入输出(P177)第十章网络与数据库编程基础31.IP地址和InterAddress类(P189)32.客户机和服务器模式(P193)33.数据库查询(P203)。
1、简述java语言的特点?Java语言是目前使用最为广泛的网络编程语言之一(1分)具有面向对象(1分)与平台无关性(1分)多线程性(1分)动态性等特点(1分)2、简述Java程序的开发过程1使用一个文字编辑器,编写源文件。
(1分)2使用java编译器,编译源文件得到字节码文件。
(2分)3运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。
(2分)3、java源文件的命名规则是什么?如果源文件中有多个类,那么只能有一个类是public类(1分)如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java (2分)如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java (2分)4、怎样区分应用程序和小应用程序?一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main 方法必须被说明为public static void (1分)一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。
(2.5分)5、Java中共有哪些基本数据类型?基本类型共有8种,分四类分别是(1分)逻辑型(1分)字符型(1分)整型(1分)浮点型(1分)6、Java中数据类型分别用什么符号来表示?逻辑型用boolean 表示(1分)字符型用char表示(1分)整型共有4种分别是byte、short、long、int (2分)浮点型共两种float和double (1分)7、简答标示符的概念及定义原则标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。
(2.5分)Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java中的关键字不能用作标示符。
(2.5分)8、简答什么是强制类型转换及转换格式当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。
2017年4月高等教育自学考试全国统一命题考试Java语言程序设计(一)试卷课程代码 04747一、单项选择题(本大题共10小题,每小题1分,共10分)1. 在下列供选的字符串中,不能作为Java整型常量的是A.052B.0x3BEHC.6389D.0x3fedL【答案】B【解析】该题考查Java语言基础知识中基本数据类型中的整数类型。
Java语言中整型常量有十进制、八进制和十六进制三种写法。
A项以数字符0开头,是八进制写法;C项是十进制写法;D项以0x开头,后随字符和英文字母A到F,是十六进制写法,最后的字母L表示该整型为长整型;C项错在最后的字母H,十六进制表示时后随字符和英文字母A到F。
所以C项不能作为Java整型常量。
【知识点】整数类型的四种表示形式2. 在以下供选的关键字中,能用于定义常值变量的是A.finalB.staticC.protectedD.super【答案】A【解析】该题考查Java语言基础知识中的关键字。
Java语言中的关键字被赋予特定的意义,用于表示程序结构、定义和修饰等。
每个关键字在程序中出现有特定位置和使用方法的要求。
B项用于修饰类变量或类方法;C项为访问权限中受保护访问权限关键字,只限子类或者同一包中的类的方法能访问;D项。
A项的意义是最终的,其意思是“不能改变”,修饰变量时,声明该变量的值不能被改变。
所以A项能用于定义常值变量。
【知识点】常用关键字的使用3. 下列Java语句中,不正确的是A.float e=0.0d;B.char c,d=‘a’;C.int $ e,a,b=10;D.double e=0.0f;【答案】A【解析】该题考查Java语言基础知识中基本数据类型间转换关系。
Java语言中的基本数据类型转换分为自动转换和不兼容类型的强制转换两种:当满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件时,发生自动转换。
A项是定义单精度实型(float)变量(e)且赋值(0.0d),但是0.0d是双精度实型值,不满足目的类型数的范围比来源类型的大这个条件,在赋值时出现类型不匹配错误,因此是不正确的;B项定义了两个字符型变量(c和d)并对d赋初始值(’a’);C项定义了三个整型变量($e、a和b)并对b赋初始值10;D项定义了一个双精度实型变量(e)并对e赋单精度初始值(0.0f),满足两种类型是兼容的和目的类型数的范围比来源类型的大这两个条件,会自动转换。
2018年4月高等教育自学考试全国统一命题考试JAVA语言程序设计(一)试卷课程代码 04747一、单项选择题:本大题共l0小题,每小题l分,共10分。
1.下面关于Java语言的说法中,错误的是()A.Java是一个纯面向对象的语言B.Java语言中有指针、结构和类型定义的概念C.Java语言是与平台无关的,可以在不同的操作系统下运行D.Java语言具有自动无用内存回收机制【答案】B【解析】Java强调了面向对象的特性,是一个纯面向对象的语言;Java语言中没有指针、结构和类型定义的概念;Java语言是与平台无关的;Java语言具有自动无用内存回收机制。
【知识点】Java语言起源2.在Java语言中,int整型变量在内存中占()A.8位B.16位C.32位D.64位【答案】C【解析】byte8位,short 16位,int 32位,long 64位。
【知识点】基本数据类型3.在Java语言中,switch关键字之后的表达式的计算结果不能是()A.char型B.int型C.short型D.long型【答案】D【解析】java规定switch语句不允许使用浮点型或long型,表达式的结果必须是int型或char型,当用byte型或short型时,要进行提升。
【知识点】switch语句4.在Java语言中,类的多个实例对象所共享的变量被称为()A.静态变量B. 全局变量C.实例变量D.共享变量【答案】A【解析】类的多个实例对象所共享的变量被称为静态变量。
【知识点】静态变量5.以下对二维数组a的声明中,正确的是()A.int a[4][6];B.int a[4][6]=new int[4][6];C.int a[][]=new int[4][];D.int a[][]=new int[][6];【答案】C【解析】二维数组声明的格式:类型数组名【】【】=new 类型【数组第一维大小】【】,分别为每一维分配内存。
04747Java语言程序设计(一)2017年版课后思考题与练习题程序设计题参考答案第三章流程控制语句5.1题_____________________________________________________________________________ public class Chapt3_5_1 {public static void main(String[] args) {int n[ ]={2,4,6,8,10};//分别计算2、4、6、8、10int stepmulti=1;for (int i=0;i<n.length;i++){stepmulti*=n[i];System.out.println("n["+i+"]!="+n[i]+"!="+stepmulti);}}}5.2题_____________________________________________________________________________ public class Chapt3_5_2 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=0.000f;for (float i=1;i<=n;i++)sum=sum+(1/i);System.out.println("S=1+1/2+1/3+.....+1/n="+sum);}}5.3题_____________________________________________________________________________ public class Chapt3_5_3 {public static void main(String[] args) {float n=30.0f;//可以手动修改n值float sum=1.000f;for (float i=1; i<=n;i++)sum=sum+1/(3*i);System.out.println("S=1+1/3+1/6+...+1/3n="+sum);}}5.4题_____________________________________________________________________________public class Chapt3_5_4 {public static void main(String[] args) {int n=7;int i=0;while(i<n){if (i<n/2){for (int j=0; j<i;j++) System.out.print(" ");for (int k=0; k<n-2*i; k++) System.out.print(" * ");}else {for (int m=0; m<n-i-1;m++) System.out.print(" ");for (int k=0;k<n-(n-(i+1))*2;k++)System.out.print(" * ");}i++;System.out.println("");}}}5.5题_____________________________________________________________________________ public class Chapt3_5_5 {public static void main(String[] args) {int n=10;int i=0;while (i<10){for (int j=1;j<n-i;j++)System.out.print(" * ");i++;System.out.println();}}}5.6题_____________________________________________________________________________ public class Chapt3_5_6 {public static void main(String[] args) {for (int i=1;i<10;i++)System.out.print("\t "+i);for (int i=1;i<10;i++){System.out.print("\n"+i+"\t");for (int j=1;j<10;j++)System.out.print(j+"*"+i+"="+i*j+"\t");}}}5.7题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_7 {public static void main(String[] args) {String str;Scanner scan=new Scanner(System.in);System.out.println("请输入一串字符:");str=scan.nextLine();int k=0;goon: for(int i=0;i<str.length();i++){if (!(str.substring(i,i+1).equals(str.substring(str.length()-i-1,str.length()-i)))) {System.out.println("你输入的字符串("+str+")不是回文");k=1;break;}else continue goon;}if (k==0) System.out.println("你输入的字符串("+str+")是回文");scan.close();}}5.8题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_8 {public static void main(String[] args) {int n=0;Scanner scan=new Scanner(System.in);System.out.println("请输入一个整数:");int num=scan.nextInt();for (int i=2;i<num;i++){if (num%i==0){System.out.println(num+"非质数!");break;}else n=1;}if (n==1)System.out.println(num+"是个质数!");scan.close();}}5.9题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_9 {public static void main(String[] args) {Scanner t=new Scanner(System.in);System.out.println("请输入华氏温度:");double tin=t.nextDouble();System.out.println("转换后的摄氏温度为:"+(tin-32)/1.8);t.close();}}5.10题_____________________________________________________________________________ import java.util.Scanner;public class Chapt3_5_10 {public static void main(String[] args) {double s;Scanner leng=new Scanner(System.in);System.out.println("请输入三角形的第一条边长a:");double a=leng.nextDouble();System.out.println("请输入三角形的第二条边长b:");double b=leng.nextDouble();System.out.println("请输入三角形的第三条边长c:");double c=leng.nextDouble();if (a+b<=c||a+c<=b||b+c<=a||Math.abs(a-b)>=c||Math.abs(a-c)>=b||Math.abs(b-c)>=a) System.out.print("您输入的三条边无法构成三角形");//题目未要求判断,可以忽略else {s=(a+b+c)/2;System.out.println("这个三角形的面积S为"+Math.sqrt(s*(s-a)*(s-b)*(s-c)));}leng.close();}}5.11题_____________________________________________________________________________ import java.util.Calendar;//获取系统当年年份需要用到import java.util.Scanner;/***根据本书进度编写的程序,重复代码比较多,读者可在学习后续章节后再优化**/public class Chapt3_5_11 {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("请输入数字1、2、3选择你要执行的操作,1、输入一个月份,打印当年该月的月历;2、输入当年的一个日期,查询当天是星期几;3、查询两个日期之间相差几天。
自考Java语言程序设计(一)笔记(珍藏版) 更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你......... 自考Java语言程序设计(一)串讲笔记(自考乐园版)自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........自考乐园,自考学习交流、资料共享的好去处~自考乐园,自考人自己的家园....俱乐部id:5346389(请牢记它哦~在百度贴吧的搜索框中输入俱乐部id,可以直接进入俱乐部更多优质自考资料尽在百度贴吧自考乐园俱乐部()欢迎?加入...欢迎?交流...止不住的惊喜等着你.........。
第一章 Java语言基础 (5)1.1 指出JA V A语言的主要特点和JA V A程序的执行过程。
(5)1.2 说出开发与运行JA V A程序的重要步骤。
(5)1.3 如何区分应用程序和小应用程序? (5)1.4 说出JA V A源文件的命名规则。
(5)1.6 JA V A语言使用什么字符集?共有多少个不同的字符? (5)1.7 JA V A语言标识符的命名规则是什么? (6)1.8 JA V A有那些基本数据类型,它们的常量又是如何书写的? (6)1.9 指出下列内容哪些是JA V A语言的整型常量,哪些是浮点数类型常量,哪些两者都不是。
(6)第二章运算和语句 (7)2.1 Java的字符能参加算术运算吗? (7)2.2 占字节多的变量能直接赋值给占字节少的变量么? (7)2.3 试用Java语言表达式描述以下数学计算式或逻辑条件: (7)2.4 设在求以下表达式之前,整型变量a的值是4,试指出在求了以下表达式之后,变量a、b和c的值。
(7)2.6 若一个数恰好等于它的因子之和,则这个数称为“完全数”。
编写程序求1000之内的所有完全数。
(7)2.7 编写输入正实数x,求平方不超过x的最大整数n,并输出。
(8)2.8 输入正整数n,输出由n行n列星号字符组成的三角形图案。
(11)2.9 设有整型变量x和y的值分别为5和110。
试指出执行了以下循环语句后,变量x和y的值分别多少? (12)2.10求小于999的所有水仙花数。
(12)2.11 编程序解百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡。
求鸡翁、鸡母和鸡雏各几何? (13)2.12 编写程序,按下面的公式计算自然对数底e的值:e=1+1/1!+1/2!+1/3!+1/4!+...... (13)2.13 编写程序,用如下公式计算圆周率PI的近似值:PI=4-4/3+4/5-4/7+4/9-4/11... (14)2.14 回文整数是指正读法和反读相同的整数,编写一个程序,输入一个整数,判断他是否为回文整数。
Java(一)串讲笔记……(5)、(6)第5章图形界面设计(一)1、AWT和SwingAWT和Swing的不同:AWT依赖于主平台绘制用户界面组件;而Swing有自己的机制,在主平台提供的窗口中绘制和管理界面组件。
Swing与AWT之间的最明显的区别是界面组件的外观,AWT在不同平台上运行相同的程序,界面的外观和风格可能会有一些差异。
然而,一个基于Swing的应用程序可能在任何平台上都会有相同的外观和风格。
使用Swing主要引入两个包:javax.swing包含Swing的基本类;java.awt.event包含与处理事件相关的接口和类。
2、组件和容器组件(Component)是图形界面的基本元素,用户可以直接操作,例如按钮。
容器(Container)是图形界面的复合元素,容器可以包含组件,例如面板。
Component、Container和Graphics类是AWT库中的关键类,为能层次地构造复杂的图形界面,容器被当作特殊的组件,可以把容器放入另一个容器中。
3、事件驱动程序设计基础图形界面上的事件是指在某个组件上发生用户操作。
对事件作监视的对象称为监视器,监视器提供响应事件的处理方法。
实现事件处理的途径●Java语言编写事件处理程序主要有两种方案:一个是程序重设方法handleEvent(Eventevt),采用这个方案的程序工作量稍大一些。
另一个方案是程序实现一些系统设定的接口。
●java.awt.event包中用来检测并对事件做出反应的模型包括以下三个组成元素:(1)源对象:事件“发生”在这个组件上,它与一组“侦听”该事件的对象保持着联系。
(2)监视器对象:是一个实现预定义的接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。
(3)事件对象:它包含描述当事件发生时从源传递给监视器的特定事件的信息。
事件类型:在Java语言中,为了便于系统管理事件,也为了便于程序作监视器注册,系统将事件分类,称为事件类型。
全国2016年4月高等教育自学考试Java语言程序设计(一)试题课程代码:04747一、单项选择题(本大题共10小题,每小题1分,共10分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.Java程序的运行棋式是A、完全编译B、先编译后解释C、完全解释D、先解释后编译【答案】B【解析】java语言编辑的源程序的执行方法是经过编译器编译,再利用解释器解释的方式来运行的。
所以本题选择B。
2.设x、y、z的初始值分别是1、2、3,则表达式x=0||x<y&&7>y的值是A、trueB、IC、falseD、0【答案】A【解析】本题考查的是运算符的优先级和结合性。
本题选择A。
3.如果某成员变量在方法中被隐藏,又需要在方法中引用该成员变量,可以利用的关键字是A、thisB、innerC、newD、outer【答案】A【解析】this是本类内隐藏的一个对象,通过操作这个对象可以给本类内的属性赋值,以及操作本类内的方法。
4.设int[ ][ ]x={{1,2},{3},{4,5,6}},则 x[1].length 的值是A、0B、1C、2D、3【答案】B【解析】数组名后直接加上length(x.length),所指的是有几行(Row);指定索引后加上length(如x[1].length),指的是该行所拥有的元素,也就是列(Column)数目。
所以本题选择B。
5.为了统一管理组件和容器.Java为所有组件类定义的超类A.ContainerB.JContainerponentD.JComponcnt【答案】C【解析】Component为所有组件类的超类。
6.在列表框中,与双击事件相关的接口是A. ListSelectionListencrB. ItemListenerC. ActionListenerD. AdjustmeatListener【答案】C【解析】列表(JList)在界面中表现为列表框,列表事件的事件源有两种:一是鼠标双击某个选项:双击选项是动作事件,与该事件相关的接口是ActionListener,二是鼠标单击某个选项:单击选项是选项事件,与选项事件相关的接口是ListSelectionListener, 所以本题选择C。
第四章面向对象程序设计目录第一节类和对象第二节定义方法第三节静态成员第四节包装类01 类和对象类的定义类的定义也称为类的声明。
类中含有两部分元素,分别是数据成员变量和成员方法。
类定义的一般格式如下。
修饰符 class 类名 [extends父类名]{修饰符类型成员变量1;修饰符类型成员变量2;……修饰符类型成员方法 1 (参数列表){方法体}……}其中,class是关键字,表明其后定义的是一个类。
含有class的这一行称为类头,后面大括号括住的部分称为类体。
class前的修饰符可以有多个,用来限定所定义的类的使用方式。
类名是用户为该类所起的名字,它必须是一个合法的标识符,并尽量遵从命名约定。
extends是关键字。
如果所定义的类是从某一个父类派生而来,那么,父类的名字要写在extends之后。
类定义中的数据成员变量可以有多个。
成员变量前面的类型是该变量的类型;类中的成员方法也可以有多个,其前面的类型是方法返回值的类型。
如果没有返回值,则写void。
方法体是要执行的真正语句。
在方法体中还可以定义该方法内使用的局部变量,这些变量只在该方法内有效。
方法的参数列表中可以含有0 个或多个参数,每个参数的前面要指明该参数的类型。
类定义中的修饰符是访问权限修饰符,包括 public、private和protected,也可以不写,表示是默认修饰符。
它们既可以用来修饰类,又可以修饰类中的成员,修饰符决定所修饰成员在程序运行时被访问的方式。
具体来说,用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问。
类中限定为private的成员只能被这个类本身访问,在类外不可见。
用 protected修饰的成员是受保护的,只可以被同一包及其子类的实例对象访问。
如果不写任何修饰符,则表明是默认的,相应的成员可以被所在包中的各类访问。
类的示例使用类可以构造所需的各种类型。
例如,程序中要说明日期这个类型,它含有3个成员变量:日、月、年,分别用3个整数来表示。
自考串讲笔记1.1 Java语言的特点Java语言最初的应用对象是消费性电子产品。
最初的名字是Oak语言。
Java语言是适用于分布式计算环境的面向对象编程语言,它虽类似于C和C++,但比C++简单,忽略了许多为提高计算效率但初学者较难掌握的程序语言特性。
Java语言主要有以下特点:①强类型。
②编译和解释:Java语言是一种高级编程语言,用Java语言编写的源程序在计算机上运行需要经过编译和解释执行两个严格区分的阶段。
Java的编译程序先将Java的源程序翻译成与机器无关的字节码,不是通常的编译程序将源程序翻译成特定计算机的机器代码。
运行时,Java的运行系统装载和链接需要执行的类,并作必要的优化后,解释执行字节码程序。
③自动无用内存回收功能,没有指针,数组元素都要检查下标是否越界。
④面向对象。
⑤与平台无关:在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的字节码。
这样,只要有Java虚拟机的平台,就能解释执行Java字节码程序,从而实现Java程序与平台无关。
⑥安全性。
⑦分布式计算。
⑧多线程。
1.2 Java应用程序和小应用程序Java程序可以是独立的应用程序,也可以是能在浏览器上执行的小应用程序(Applet)。
两种Java程序都由一个或多个扩展名为“.class”的文件组成,而且都需要Java虚拟机(jVM)载入并翻译。
两种程序的主要区别是:①小应用程序只能在与Java兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行,小应用程序的运行还受到严格的安全限制,例如:它不能访问用户计算机上的文件。
Java应用程序没有这些限制,也不支持网页嵌入和下载运行。
②小应用程序和应用程序在代码编写上也有很大差异。
一个小应用程序必须定义成一个Applet类的子类。
应用程序可以是Applet类的子类,也可以不是。
应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。
《Java语言程序设计(一)》(课程代码04747) 第一大题:单项选择题1、下列字符组合不能作为Java整型常量的是( )• A.078• B.0x3ACB• C.5000• D.0x3ABC参考答案:A2、以下程序代码的输出结果是( )int x = 10;while (x > 7){ System.out.print("*"); x--;}• A.**• B.***• C.*• D.****参考答案:B3、设类U声明,及对象u和v的定义如下:class U{int x, int y;U(int a, int b){x= a; y = b;}void copy(U a){ x = a.x; y = a.y;}}U u = new U(1, 2), v = new U(2, 3);在以下供选择的代码中,可能引起系统回收内存的是( )• A.u.x=v.y;u.y=v.x• B.u=v• C.u.copy• D.v.copy(u)参考答案:B4、设有以下代码:String s l="123";String s2="123";String s3=new String("123");则表达式s1==s2和s1==s3的值分别是( )• A.true,true• B.false,false• C.true,false• D.false,true参考答案:C5、以下关于AWT与Swing之间关系的叙述,正确的是( )• A.Swing是AWT的提高和扩展• B.在写GUI程序时,AWT和Swing不能同时使用• C.AWT和Swing在不同的平台上都有相同的表示• D.AWT中的类是从Swing继承的参考答案:A6、在以下Swing组件中,能为它指定布局管理器的是( )• A.JScrollBar对象• B.JMenuBar对象• C.JComboBox对象• D.JDialog对象参考答案:D7、一般的绘图程序要定义一个JPanel子类。
Java语言程序设计(一)第1章Java语言基础1.1Java语言的特点Java语言最初的应用对象是消费性电子产品。
最初的名字是Oak语言。
Java语言是适用于分布式计算环境的面向对象编程语言,它虽类似于C和C++,但比C++简单,忽略了许多为提高计算效率但初学者较难掌握的程序语言特性。
Java语言主要有以下特点:①强类型。
②编译和解释:Java语言是一种高级编程语言,用Java语言编写的源程序在计算机上运行需要经过编译和解释执行两个严格区分的阶段。
Java的编译程序先将Java的源程序翻译成与机器无关的字节码,不是通常的编译程序将源程序翻译成特定计算机的机器代码。
运行时,Java的运行系统装载和链接需要执行的类,并作必要的优化后,解释执行字节码程序。
③自动无用内存回收功能,没有指针,数组元素都要检查下标是否越界。
④面向对象。
⑤与平台无关:在任何平台上,Java源程序被Java编译器译成虚拟机能够识别的字节码。
这样,只要有Java 虚拟机的平台,就能解释执行Java字节码程序,从而实现Java程序与平台无关。
⑥安全性。
⑦分布式计算。
⑧多线程。
1.2Java应用程序和小应用程序Java程序可以是独立的应用程序,也可以是能在浏览器上执行的小应用程序(Applet)。
两种Java程序都由一个或多个扩展名为“.class”的文件组成,而且都需要Java虚拟机(jVM)载入并翻译。
两种程序的主要区别是:①小应用程序只能在与Java兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行,小应用程序的运行还受到严格的安全限制,例如:它不能访问用户计算机上的文件。
Java 应用程序没有这些限制,也不支持网页嵌入和下载运行。
②小应用程序和应用程序在代码编写上也有很大差异。
一个小应用程序必须定义成一个Applet类的子类。
应用程序可以是Applet类的子类,也可以不是。
应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。
而小应用程序不必定义 main()方法,它的执行由Applet类中定义的多个方法控制。
Java源程序命名受到严格的限制:Java源程序的扩展名必须是“.Java”,而源程序经过编译后得到的应用程序文件名(即字节码文件)的主文件名和源程序中的类名一样,而扩展名是“.class”。
如果源文件中多个类,那么最多只能有一个public 类;如果源文件中有public类,那么源文件的名字必须与这个类的名字完全相同。
如果源文件没有public 类,那么源文件的名字只要和某一个类的名字相同即可。
Java程序中经常会出现注释。
注释是程序中的说明文字,用于帮助阅读程序,它不是语句,不会影响程序的执行效率。
Java语言的注释有三种形式:①行注释(//):用于简短地说明前面代码的意义或功能。
注释内容到行末,不能跨行。
②块注释(/***/):是多行注释,用于说明下面程序段的算法、功能等,块注释不可嵌套使用。
③文档注释(/***/):能被实用程序(命令)Javadoc接受,由它能自动生成程序的HTML文档。
1.3 Java程序的开发过程(以下以SUN公司的JavajDK为例)对于Java应用程序,先编写Java源程序,源程序经Java编译器(Javac.exe)编译后产生字节码文件,最后由Java解释器(Java.exe)解释执行字节码文件。
对于小应用程序,先编写Java源程序,源程序经Java编译器编译后产生字节码文件,最后由 Web浏览器(appletviewer.exe)解释执行字节码文件。
编译器和解释器的使用格式是:Javac[选项]源文件(其中源文件是“.Java”文件)Java[选项]类名 [参数](类名指定的必须是含有main()方法的类,即是一个Java应用程序)通常情况下用的比较多的开发环境有 Eclipse,jBuilder等。
1.4 标识符和关键字Java语言使用Unicode字符集,共有65535个字符。
Java标识符用于命名程序对象。
Java语言的标识符可以按以下规则任意命名:①由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成。
②限定标识符的第一个字符不能是数字字符。
除了按上述规则命名标识符外,另外还有命名的习惯约定(行业习惯,不是规定):一般变量名、方法名用小写英文字母开头,类名首字母用大写字母,若命名由若干个单词组成,后面的每个单词用大写开头;文字和常数全用大写字母命名;包名全部用小写字母。
Java关键字:关键字是一些英文单词,在语言中,关键字已经被赋予特定的意义,不能用这些关键字作为标识符命名程序对象。
关键字全部由小写字母组成。
每个关键字在程序中出现,均有特定位置和特定使用方法的要求。
1.5 基本数据类型Java语言是强类型语言,每个变量和表达式都有确定的类型,在变量赋值时要进行类型兼容性检验。
数据类型可分为非基本数据类型和基本数据类型两大类。
非基本类型也称为复合数据类型,是由基本类型组合的新类型。
非基本数据类型分为:数组、字符串、类、接口。
基本数据类型也称为原始数据类型,是系统预先规定的一些常用类型。
它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。
①逻辑类型用关键字boolean标识,所以也称为布尔型。
逻辑类型只有真(true)和假(false)两个值。
②字符类型用关键字char标识。
字符型数据是一个字符,内部表示是字符的Unicode代码,共有65535个不同的字符。
在Java程序中,字符常量有普通字符常量(用单引号括住一个字符)和转义字符常量(用\开头后跟特定字符或字符串)两种。
③整数类型是指不带小数点和指数的数值数据。
由于计算机只能表示整数的一个子集,表达更大范围内的整数需要更多的二进制位,Java语言将整数数据按数值范围大小不同分成四种:基本型用关键字int标识,4个字节,32位,取值范围是-231~231-1;短整型用关键字short标识,2个字节,16位,取值范围是-215~215-1;字节型用关键字byte标识,1个字节,8位,取值范围是-27~27-1;长整型用关键字long标识(或者在常数后加L或l标识),8个字节,64位,取值范围是-263~263-1。
每种整数类型处理不同范围的整数值,并且都是带符号的。
整型常量有十进制、八进制(以数字符0开头)和十六进制(以0x开头)三种写法。
④浮点数类型也称为实型,浮点数是带小数点或指数的数值数据。
Java语言的浮点数有单精度和双精度两种。
单精度型用关键字float标识,占4个字节,32位。
Float型常量的书写方法是在实数之后加上字母F或f。
双精度用关键字double标识,占8个字节,64位。
double型常量的书写方法有两种:一种写法是直接写一个实数,或在实数后加字母D或d。
另一种是科学计数法,用10的方幂(用字符e或E表示幂底10)。
第2章运算和语句2.1 数据运算Java语言的基本运算可分成以下几类:赋值运算、算术运算、自增和自减运算、关系运算、逻辑运算、条件运算和字符串连接运算等。
2.1.1 赋值运算在Java语言中符号“=”是赋值运算符不是“相等”运算符(相等运算符是“= =”见关系运算符的叙述)赋值运算分为两类:一是简单赋值运算;二是复合赋值运算。
1.简单赋值运算简单赋值运算的一般形式如下:变量表达式赋值运算的执行过程是:(1)计算赋值运算符右端的表达式。
(2)当赋值运算两侧的类型不一致时,将表达式值的类型自动转换成变量的类型。
(3)将表达式的值赋值给变量,即存储到与变量对应的存储单元中。
这里的类型转达换是指数值数据的类型自动转换,这样的自动转换只能是简单类型向复类型转换,不能从复杂的转换成简单的。
即如下所示的从左到右转换。
byte→short→int→long→float→doubleJava语言约定赋值运算也有值,它的值就是赋予变量的值,因此,赋值运算的结果可以继续赋值。
int j;doubley=2.0;y=j=3;∥j的值为3,y的值为3.0赋值运算符结合性“自右至左”当连续有多个赋值运算时,是从右至左逐个赋值。
2.复合赋值运算这类运算的特殊性点是:变量即要参与运算,又要接受赋值。
为避免对同一个变量的地址重复,计算引入复合赋值运算符。
常用的复合赋值运算符有:+=、-=、、/=、%=。
2.1.2 算术运算算术运算要求运算分量的类型是数值类型的(整数类型和浮点数类型)。
运算时,只需一个运算分量的是单目运算,需两个运算分量的是双目运算。
特别的:(1)“/”为除法运算符,当除数和被除数均为整数类型数据时,则结果也是整数类型数据。
例如7/4的结果为1。
(2)“%”为求余数运算符,求余数运算所得结果的符号与被除数的符号相同。
例如5%3的结果为2,-5%3的结果为的结果为3。
2.1.3自增和自减运算自增运算符“++”和自减运算符“--”是单目运算符,要求运算分量是数值类型的变量,其作用是使变量的值增1或减1,这两个运算符与变量结合有以下四种可能形式:++i前缀形式,表示在引用变量i之前,先使i加1,以加1后的i值为运算结果。
-i前缀形式,表示在引用变量i之前,先使i减1,以减1后的i值为运算结果。
i++后缀形式,表示在引用变量i之后,才使i加1,即以增1前的i值为运算结果。
i--后缀形式,表示在引用变量i之后,才使i减1,即以减1前的i值为运算结果。
例如:i=4;j=++i;∥i结果为5,j的结果为5i=4;j=i++;∥i的结果为5,j的结果为4i=4;j=!!i;∥i结果为3,j的结果为3i=4;j=i!!;∥i结果为3,j的结果为4上述例子说明,对变量采用自增(或自减),用前缀形式或用后缀形式,对变量本身来说,效果是相同的,但表达式的值不相同。
前缀形式是变量运算之后的新值,后缀形式是变量运算之前的值.自增自减运算能使程序更为简洁和高效,但在使用时需注意“++”和“!!”运算的运算对象只能是变量,不能是常量或表达式.例如,4++或(i+j)++都是不合法的.2.1.4 关系运算关系运算对左右两侧的值进行比较,如果比较运算的结果成立,则值为true,不成立为false。
关系运算符的优先级别不完全相同。
<、<=、>、>=的优先级高于==、!=。
关系运算符的优先级低于算术运算符的优先级。
2.1.5 逻辑运算逻辑运算用来描述表达式,实现连续多个条件的逻辑与、逻辑或、逻辑否定的判定。
有3个逻辑运算符:&&(逻辑与)、‖(逻辑或)、!(逻辑否定)其中:运算符""和‖是双目运算符,运算符!是单目运算符。
逻辑运算的操作数必须是布尔型的,结果也是布尔型的。