当前位置:网站首页 > Java基础 > 正文

复旦java教程



 出版者的话<br/> 中文版序<br/> 译者序<br/> 前言<br/> 第1章计算机、程序和Java概述1<br/> 1.1引言1<br/> 1.2什么是计算机2<br/> 1.2.1中央处理器2<br/> 1.2.2比特和字节3<br/> 1.2.3内存3<br/> 1.2.4存储设备4<br/> 1.2.5输入和输出设备4<br/> 1.2.6通信设备5<br/> 1.3编程语言6<br/> 1.3.1机器语言6<br/> 1.3.2汇编语言6<br/> 1.3.3高级语言7<br/> 1.4操作系统8<br/> 1.4.1控制和监视系统的活动8<br/> 1.4.2分配和调配系统资源8<br/> 1.4.3调度操作8<br/> 1.5Java、万维网以及其他9<br/> 1.6Java语言规范、API、JDK和IDE10<br/> 1.7一个简单的Java程序11<br/> 1.8创建、编译和执行Java程序13<br/> 1.9程序设计风格和文档16<br/> 1.9.1正确的注释和注释风格16<br/> 1.9.2正确的缩进和空白16<br/> 1.9.3块的风格17<br/> 1.10程序设计错误17<br/> 1.10.1语法错误17<br/> 1.10.2运行时错误18<br/> 1.10.3逻辑错误18<br/> 1.10.4常见错误19<br/> 1.11使用NetBeans开发Java程序20<br/> 1.11.1创建Java工程20<br/> 1.11.2创建Java类21<br/> 1.11.3编译和运行类22<br/> 1.12使用Eclipse开发Java程序22<br/> 1.12.1创建Java工程22<br/> 1.12.2创建Java类24<br/> 1.12.3编译和运行类24<br/> 关键术语25<br/> 本章小结25<br/> 测试题26<br/> 编程练习题26<br/> 第2章基本程序设计28<br/> 2.1引言28<br/> 2.2编写简单的程序28<br/> 2.3从控制台读取输入31<br/> 2.4标识符34<br/> 2.5变量34<br/> 2.6赋值语句和赋值表达式36<br/> 2.7命名常量37<br/> 2.8命名习惯37<br/> 2.9数值数据类型和操作38<br/> 2.9.1数值类型38<br/> 2.9.2从键盘读取数值39<br/> 2.9.3数值操作符39<br/> 2.9.4幂运算41<br/> 2.10数值型直接量41<br/> 2.10.1整型直接量42<br/> 2.10.2浮点型直接量42<br/> 2.10.3科学记数法42<br/> 2.11表达式求值以及操作符优先级43<br/> 2.12示例学习:显示当前时间44<br/> 2.13增强赋值操作符46<br/> 2.14自增和自减操作符47<br/> 2.15数值类型转换48<br/> 2.16软件开发过程50<br/> 2.17示例学习:整钱兑零54<br/> 2.18常见错误和陷阱56<br/> 关键术语58<br/> 本章小结58<br/> 测试题59<br/> 编程练习题59<br/> 第3章选择64<br/> 3.1引言64<br/> 3.2boolean数据类型64<br/> 3.3if语句66<br/> 3.4双分支if—else语句68<br/> 3.5嵌套的if语句和多分支if—else语句69<br/> 3.6常见错误和陷阱71<br/> 3.7产生随机数74<br/> 3.8示例学习:计算身体质量指数76<br/> 3.9示例学习:计算税率77<br/> 3.10逻辑操作符80<br/> 3.11示例学习:判定闰年83<br/> 3.12示例学习:彩票84<br/> 3.13switch语句85<br/> 3.14条件表达式88<br/> 3.15操作符的优先级和结合规则89<br/> 3.16调试90<br/> 关键术语91<br/> 本章小结91<br/> 测试题92<br/> 编程练习题92<br/> 第4章数学函数、字符和字符串100<br/> 4.1引言100<br/> 4.2常用数学函数101<br/> 4.2.1三角函数方法101<br/> 4.2.2指数函数方法102<br/> 4.2.3取整方法102<br/> 4.2.4min、max和abs方法102<br/> 4.2.5random方法103<br/> 4.2.6示例学习:计算三角形的角度103<br/> 4.3字符数据类型和操作105<br/> 4.3.1Unicode和ASCII码105<br/> 4.3.2特殊字符的转义序列106<br/> 4.3.3字符型数据与数值型数据之间的转换107<br/> 4.3.4字符的比较和测试107<br/> 4.4String类型109<br/> 4.4.1求字符串长度110<br/> 4.4.2从字符串中获取字符110<br/> 4.4.3连接字符串111<br/> 4.4.4字符串的转换111<br/> 4.4.5从控制台读取字符串112<br/> 4.4.6从控制台读取字符112<br/> 4.4.7字符串比较112<br/> 4.4.8获得子字符串114<br/> 4.4.9获取字符串中的字符或者子串115<br/> 4.4.10字符串和数字间的转换116<br/> 4.5示例学习117<br/> 4.5.1猜测生日118<br/> 4.5.2将十六进制数转换为十进制数121<br/> 4.5.3使用字符串修改彩票程序122<br/> 4.6格式化控制台输出123<br/> 关键术语126<br/> 本章小结127<br/> 测试题127<br/> 编程练习题127<br/> 第5章循环133<br/> 5.1引言133<br/> 5.2while循环134<br/> 5.2.1示例学习:猜数字136<br/> 5.2.2循环设计策略138<br/> 5.2.3示例学习:多个减法测试题138<br/> 5.2.4使用标记值控制循环140<br/> 5.2.5输入和输出重定向141<br/> 5.3do—while循环143<br/> 5.4for循环144<br/> 5.5采用哪种循环147<br/> 5.6嵌套循环149<br/> 5.7最小化数值错误151<br/> 5.8示例学习152<br/> 5.8.1求最大公约数152<br/> 5.8.2预测未来学费154<br/> 5.8.3将十进制数转换为<br/> 十六进制数155<br/> 5.9关键字break和continue156<br/> 5.10示例学习:判断回文串159<br/> 5.11示例学习:显示素数160<br/> 关键术语162<br/> 本章小结163<br/> 测试题163<br/> 编程练习题163<br/> 第6章方法171<br/> 6.1引言171<br/> 6.2定义方法172<br/> 6.3调用方法173<br/> 6.4void方法示例175<br/> 6.5通过传值进行参数传递178<br/> 6.6模块化代码181<br/> 6.7示例学习:将十六进制数转换为十进制数183<br/> 6.8重载方法185<br/> 6.9变量的作用域187<br/> 6.10示例学习:生成随机字符188<br/> 6.11方法抽象和逐步求精190<br/> 6.11.1自顶向下的设计191<br/> 6.11.2自顶向下和自底向上的实现192<br/> 6.11.3实现细节193<br/> 6.11.4逐步求精的优势196<br/> 关键术语196<br/> 本章小结197<br/> 测试题197<br/> 编程练习题197<br/> 第7章一维数组207<br/> 7.1引言207<br/> 7.2数组的基础知识207<br/> 7.2.1声明数组变量208<br/> 7.2.2创建数组208<br/> 7.2.3数组大小和默认值209<br/> 7.2.4访问数组元素209<br/> 7.2.5数组初始化语法210<br/> 7.2.6处理数组210<br/> 7.2.7foreach循环212<br/> 7.3示例学习:分析数字214<br/> 7.4示例学习:一副牌215<br/> 7.5数组的复制217<br/> 7.6将数组传递给方法218<br/> 7.7从方法中返回数组221<br/> 7.8示例学习:统计每个字母出现的次数221<br/> 7.9可变长参数列表224<br/> 7.10数组的查找225<br/> 7.10.1线性查找法225<br/> 7.10.2二分查找法226<br/> 7.11数组的排序228<br/> 7.12Arrays类230<br/> 7.13命令行参数232<br/> 7.13.1向main方法传递字符串232<br/> 7.13.2示例学习:计算器232<br/> 关键术语234<br/> 本章小结235<br/> 测试题235<br/> 编程练习题235<br/> 第8章多维数组242<br/> 8.1引言242<br/> 8.2二维数组的基础知识242<br/> 8.2.1声明二维数组变量并创建二维数组243<br/> 8.2.2获取二维数组的长度244<br/> 8.2.3锯齿数组244<br/> 8.3处理二维数组245<br/> 8.4将二维数组传递给方法247<br/> 8.5示例学习:多选题测验评分248<br/> 8.6示例学习:找出距离最近的点对249<br/> 8.7示例学习:数独251<br/> 8.8多维数组254<br/> 8.8.1示例学习:每日温度和湿度255<br/> 8.8.2示例学习:猜生日256<br/> 本章小结258<br/> 测试题258<br/> 编程练习题258<br/> 第9章对象和类270<br/> 9.1引言270<br/> 9.2为对象定义类270<br/> 9.3示例:定义类和创建对象272<br/> 9.4使用构造方法构造对象277<br/> 9.5通过引用变量访问对象278<br/> 9.5.1引用变量和引用类型278<br/> 9.5.2访问对象的数据和方法279<br/> 9.5.3引用数据域和null值279<br/> 9.5.4基本类型变量和引用类型变量的区别280<br/> 9.6使用Java库中的类282<br/> 9.6.1Date类282<br/> 9.6.2Random类283<br/> 9.6.3Point2D类283<br/> 9.7静态变量、常量和方法284<br/> 9.8可见性修饰符289<br/> 9.9数据域封装291<br/> 9.10向方法传递对象参数294<br/> 9.11对象数组297<br/> 9.12不可变对象和类299<br/> 9.13变量的作用域301<br/> 9.14this引用302<br/> 9.14.1使用this引用隐藏数据域302<br/> 9.14.2使用this调用构造方法303<br/> 关键术语304<br/> 本章小结304<br/> 测试题305<br/> 编程练习题305<br/> 第10章面向对象思考309<br/> 10.1引言309<br/> 10.2类的抽象和封装309<br/> 10.3面向对象的思考313<br/> 10.4类的关系315<br/> 10.4.1关联316<br/> 10.4.2聚集和组合317<br/> 10.5示例学习:设计Course类318<br/> 10.6示例学习:设计栈类320<br/> 10.7将基本数据类型值作为对象处理322<br/> 10.8基本类型和包装类类型之间的自动转换325<br/> 10.9BigInteger和BigDecimal类326<br/> 10.10String类327<br/> 10.10.1构造字符串327<br/> 10.10.2不可变字符串与限定字符串328<br/> 10.10.3字符串的替换和分隔329<br/> 10.10.4依照模式匹配、替换和分隔329<br/> 10.10.5字符串与数组之间的转换330<br/> 10.10.6将字符和数值转换成字符串331<br/> 10.10.7格式化字符串331<br/> 10.11StringBuilder和StringBuffer类333<br/> 10.11.1修改StringBuilder中的字符串334<br/> 10.11.2toString、capacity、length、setLength和charAt方法335<br/> 10.11.3示例学习:判断回文串时忽略既非字母又非数字的字符336<br/> 关键术语338<br/> 本章小结339<br/> 测试题339<br/> 编程练习题339<br/> 第11章继承和多态347<br/> 11.1引言347<br/> 11.2父类和子类347<br/> 11.3使用super关键字353<br/> 11.3.1调用父类的构造方法353<br/> 11.3.2构造方法链354<br/> 11.3.3调用父类的方法355<br/> 11.4方法重写356<br/> 11.5方法重写与重载357<br/> 11.6Object类及其toString()方法359<br/> 11.7多态359<br/> 11.8动态绑定360<br/> 11.9对象转换和instanceof运算符363<br/> 11.10Object类的equals方法367<br/> 11.11ArrayList类368<br/> 11.12对于列表有用的方法374<br/> 11.13示例学习:自定义栈类374<br/> 11.14protected数据和方法376<br/> 11.15防止扩展和重写378<br/> 关键术语378<br/> 本章小结379<br/> 测试题379<br/> 编程练习题380<br/> 第12章异常处理和文本I/O384<br/> 12.1引言384<br/> 12.2异常处理概述385<br/> 12.3异常类型389<br/> 12.4关于异常处理的更多知识391<br/> 12.4.1声明异常392<br/> 12.4.2抛出异常392<br/> 12.4.3捕获异常393<br/> 12.4.4从异常中获取信息394<br/> 12.4.5示例学习:声明、抛出和捕获异常396<br/> 12.5finally子句399<br/> 12.6何时使用异常400<br/> 12.7重新抛出异常401<br/> 12.8链式异常402<br/> 12.9创建自定义异常类403<br/> 12.10File类405<br/> 12.11文件输入和输出408<br/> 12.11.1使用PrintWriter写数据408<br/> 12.11.2使用try—with—resources自动关闭资源409<br/> 12.11.3使用Scanner读数据410<br/> 12.11.4Scanner如何工作411<br/> 12.11.5示例学习:替换文本412<br/> 12.12从Web上读取数据414<br/> 12.13示例学习:Web爬虫416<br/> 关键术语418<br/> 本章小结418<br/> 测试题419<br/> 编程练习419<br/> 第13章抽象类和接口424<br/> 13.1引言424<br/> 13.2抽象类424<br/> 13.2.1为何要使用抽象方法427<br/> 13.2.2抽象类的几点说明428<br/> 13.3示例学习:抽象的Number类429<br/> 13.4示例学习:Calendar和GregorianCalendar431<br/> 13.5接口434<br/> 13.6Comparable接口436<br/> 13.7Cloneable接口440<br/> 13.8接口与抽象类444<br/> 13.9示例学习:Rational类447<br/> 13.10类的设计原则452<br/> 13.10.1内聚性452<br/> 13.10.2一致性452<br/> 13.10.3封装性452<br/> 13.10.4清晰性453<br/> 13.10.5完整性453<br/> 13.10.6实例和静态453<br/> 13.10.7继承与聚合454<br/> 13.10.8接口和抽象类454<br/> 关键术语454<br/> 本章小结455<br/> 测试题455<br/> 编程练习题455<br/> 第14章JavaFX基础459<br/> 14.1引言459<br/> 14.2JavaFX与Swing以及AWT的比较459<br/> 14.3JavaFX程序的基本结构460<br/> 14.4面板、UI组件以及形状462<br/> 14.5属性绑定465<br/> 14.6节点的通用属性和方法468<br/> 14.7Color类469<br/> 14.8Font类470<br/> 14.9Image和ImageView类472<br/> 14.10布局面板474<br/> 14.10.1FlowPane475<br/> 14.10.2GridPane477<br/> 14.10.3BorderPane478<br/> 14.10.4HBox和VBox480<br/> 14.11形状482<br/> 14.11.1Text482<br/> 14.11.2Line484<br/> 14.11.3Rectangle485<br/> 14.11.4Circle和Ellipse487<br/> 14.11.5Arc488<br/> 14.11.6Polygon和Polyline491<br/> 14.12示例学习:ClockPane类493<br/> 关键术语497<br/> 本章小结498<br/> 测试题498<br/> 编程练习题498<br/> 第15章事件驱动编程和动画504<br/> 15.1引言504<br/> 15.2事件和事件源506<br/> 15.3注册处理器和处理事件507<br/> 15.4内部类511<br/> 15.5匿名内部类处理器512<br/> 15.6使用lambda表达式简化事件处理514<br/> 15.7示例学习:贷款计算器517<br/> 15.8鼠标事件519<br/> 15.9键盘事件520<br/> 15.10可观察对象的监听器523<br/> 15.11动画525<br/> 15.11.1PathTransition525<br/> 15.11.2FadeTransition528<br/> 15.11.3Timeline530<br/> 15.12示例学习:弹球532<br/> 关键术语535<br/> 本章小结535<br/> 测试题536<br/> 编程练习题536<br/> 第16章JavaFXUI组件和多媒体542<br/> 16.1引言542<br/> 16.2Labeled和Label543<br/> 16.3按钮545<br/> 16.4复选框547<br/> 16.5单选按钮549<br/> 16.6文本域551<br/> 16.7文本区域553<br/> 16.8组合框556<br/> 16.9列表视图559<br/> 16.10滚动条562<br/> 16.11滑动条564<br/> 16.12示例学习:开发一个井字游戏567<br/> 16.13视频和音频572<br/> 16.14示例学习:国旗和国歌575<br/> 本章小结577<br/> 测试题578<br/> 编程练习题578<br/> 第17章二进制I/O584<br/> 17.1引言584<br/> 17.2在Java中如何处理文本I/O584<br/> 17.3文本I/O与二进制I/O585<br/> 17.4二进制I/O类587<br/> 17.4.1FileInputStream和FileOutputStream588<br/> 17.4.2FilterInputStream和FilterOutputStream590<br/> 17.4.3DataInputStream和DataOutputStream590<br/> 17.4.4BufferedInputStream和BufferedOutputStream594<br/> 17.5示例学习:复制文件596<br/> 17.6对象I/O598<br/> 17.6.1Serializable接口600<br/> 17.6.2序列化数组601<br/> 17.7随机访问文件602<br/> 关键术语606<br/> 本章小结606<br/> 测试题606<br/> 编程练习题606<br/> 第18章递归609<br/> 18.1引言609<br/> 18.2示例学习:计算阶乘610<br/> 18.3示例学习:计算斐波那契数613<br/> 18.4使用递归解决问题615<br/> 18.5递归辅助方法617<br/> 18.5.1递归选择排序618<br/> 18.5.2递归二分查找618<br/> 18.6示例学习:得到目录的大小619<br/> 18.7示例学习:汉诺塔621<br/> 18.8示例学习:分形624<br/> 18.9递归与迭代627<br/> 18.10尾递归628<br/> 关键术语629<br/> 本章小结629<br/> 测试题630<br/> 编程练习题630<br/> 附录AJava关键字637<br/> 附录BASCII字符集638<br/> 附录C操作符优先级表639<br/> 附录DJava修饰符640<br/> 附录E特殊浮点值641<br/> 附录F数系642<br/> 附录G位操作646<br/> 附录H正则表达式647<br/> 附录I枚举类型651<br/> · · · · · · (收起) 

  • 上一篇: java swfupload 教程
  • 下一篇: 文明4java教程
  • 版权声明


    相关文章:

  • java swfupload 教程2025-11-20 17:02:02
  • java教程15讲2025-11-20 17:02:02
  • java教程pdf在线2025-11-20 17:02:02
  • java段落标签教程2025-11-20 17:02:02
  • java python教程2025-11-20 17:02:02
  • 文明4java教程2025-11-20 17:02:02
  • 电脑java教程2025-11-20 17:02:02
  • 382集java教程2025-11-20 17:02:02
  • java97使用教程2025-11-20 17:02:02
  • java数字反转教程2025-11-20 17:02:02