
第2章基本程序设计Liang,IntroductiontoJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 第2章基本程序设计

动机在前一章,我们学习了如何创建、编译以及运行一个Java程序。从这章开始,我们将学习如何编程解决实际问题。通过解决这些问题,你将会学习基本数据类型以及相关的主题,例如:变量、常量、数据类型、运算符、表达式以及输入和输出。CLiang,Introduction toJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 2 动 机 在前一章,我们学习了如何创建、编译以及运行 一个Java程序。从这章开始,我们将学习如何编 程解决实际问题。通过解决这些问题,你将会学 习基本数据类型以及相关的主题,例如:变量、 常量、数据类型、运算符、表达式以及输入和输 出

学习目标编写Java程序完成简单的计算(第2.2节)。使用Scanner类从控制台获取输入(第23节)。使用标识符命名变量、常量、方法和类(第2.4节)使用变量存储数据(第2.5-2.6节)。用赋值语句和赋值表达式编写程序(第2.6节)。使用常量存储永久数据(第2.7节)。声明Java基本数据类型:byte、short、int、long、float、double和char(第2.8.1节)。使用Java运算符书写数学表达式(第2.8.2-2.8.3节)。显示当前时间(第2.9节)。使用简捷运算符(第2.10节)。将一种类型的值强制转换为另一种类型(第2.11节)计算贷款支付额(第2.12节)。使用char类型表示字符(第2.13节)。计算整钱兑零(第2.14节)。使用String类型表示字符串(第2.15节)熟悉Java的文档管理、程序设计风格和命名习惯(第2.16节)区分语法错误、运行错误、逻辑错误和调试错误(第2.17节)(GUI)使用IOntionPane输入对话框获取输入(第2.18节)Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 3 学习目标 编写Java程序完成简单的计算(第2.2节)。 使用Scanner类从控制台获取输入(第2.3节)。 使用标识符命名变量、常量、方法和类(第2.4节)。 使用变量存储数据(第2.5-2.6节)。 用赋值语句和赋值表达式编写程序(第2.6节)。 使用常量存储永久数据(第2.7节)。 声明Java基本数据类型:byte、short、int、long、float、double和char(第2.8.1节)。 使用Java运算符书写数学表达式(第2.8.2-2.8.3节)。 显示当前时间(第2.9节)。 使用简捷运算符(第2.10节)。 将一种类型的值强制转换为另一种类型(第2.11节)。 计算贷款支付额(第2.12节)。 使用char类型表示字符(第2.13节)。 计算整钱兑零(第2.14节)。 使用String类型表示字符串(第2.15节)。 熟悉Java的文档管理、程序设计风格和命名习惯(第2.16节)。 区分语法错误、运行错误、逻辑错误和调试错误(第2.17节)。 (GUI)使用JOptionPane输入对话框获取输入(第2.18节)

用一个例子介绍程序设计程序清单2.1计算圆的面积这个程序是用来计算圆的面积重要提示:为了使用这些按钮,你必须下载整个幻ComputeArea灯片文件slide.zip。将这些文件解压到一个目录里例如:clslideRunLiang,Introduction toJavaProgramming,EighthEdition,(c)2011PearsonEducation,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 4 用一个例子介绍程序设计 程序清单2.1 计算圆的面积 这个程序是用来计算圆的面积。 ComputeArea Run 重要提示:为了使用这些按钮,你必须下载整个幻 灯片文件slide.zip。将这些文件解压到一个目录里( 例如:c:\slide)

动画跟踪程序的执行为半径radiuspublic class ComputeArea 分配内存/** Main method */public static void main(Stringl args)半径radiusdouble radius,无值double area,//l Assign a radiusradius = 20;// Compute areaarea=radius*radius*3.14159;// Display resultsSystem.out.println("The area for the circle of radius "+radius +" is" + area);1人Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 5 跟踪程序的执行 public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } } 半径radius 无值 为半径radius 分配内存 动画

动画跟踪程序的执行public class ComputeArea 内存/** Main method */public static void main(Stringl args) 半径radius无值double radius:double area,面积area无值// Assign a radiusradius =20;为面积area分配内存// Computeareaarea =radius * radius * 3.14159;//DisplayresultsSystem.out.println("The area for the circle of radius "+radius +" is" + area);1Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.All?rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 6 跟踪程序的执行 public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } } 半径radius 无值 内存 面积area 无值 为面积area 分配内存 动画

动画跟踪程序的执行给半径radius赋值20public class ComputeArea/** Main method */public static void main(Stringll args) (20半径radiusdouble radius;double area;面积area无值// Assign a radiusradius=20//Computeareaarea=radius*radius*3.14159;//DisplayresultsSystem.out.println("The area for the circle of radius "+radius +" is " + area);1Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 7 跟踪程序的执行 public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } } 半径radius 20 面积area 无值 给半径radius 赋值20 动画

动画探究程序执行public class ComputeArea内存/** Main method */public static void main(Stringl args) (20半径radiusdouble radius;double area;面积area1256.636// Assign a radiusradius = 20;计算面积并将其//Computeareaarea=radius*radius*3.14159赋值给变量area//DisplayresultsSystem.out.println("The area for the circle of radius " +radius +" is"+area);人Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 8 探究程序执行 public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } } 半径radius 20 内存 面积area 1256.636 计算面积并将其 赋值给变量area 动画

动画探究程序执行public class ComputeArea f内存/** Main method */public static void main(Stringll args) (半径radius20double radius;double area;面积area1256.636/l Assign a radiusradius = 20;// Compute areaarea=radius*radius*3.14159;向控制台打印一条消息//DisplayresultsSystem.out.println("Theareaforthe circleofradius"+radius +"is"+area);LOXCAConndPromptc:Vaok>java ConputeAreaTheareaforthecircleofradius20.0is1256.636人Liang,Introduction to Java Programming,EighthEdition,(c)2011Pearson Education,Inc.Allrightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 9 探究程序执行 public class ComputeArea { /** Main method */ public static void main(String[] args) { double radius; double area; // Assign a radius radius = 20; // Compute area area = radius * radius * 3.14159; // Display results System.out.println("The area for the circle of radius " + radius + " is " + area); } } 半径radius 20 内存 面积area 1256.636 向控制台打印一条消息 动画

从控制台读取输入1.创建一个Scanner类型的对象Scanner input = new Scanner(System.in);2.使用方法nextO、nextByteO、nextShortOnextInt()、nextLongO、nextFloatO、nextDouble(或nextBooleanQ 来获取一个string、byte、short、intlong、float、double或 boolean 的值。例如:1System.out.print("Enter a double value:Scanner input = new Scanner (System.in);double d = input.nextDouble()ComputeAreaWithConsolelnputComputeAverageRunRunLiang,Introduction toJava Programming,EighthEdition,(c)2011PearsonEducation,Inc.All10rightsreserved.0132130807
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 10 从控制台读取输入 1. 创建一个Scanner类型的对象 Scanner input = new Scanner(System.in); 2. 使用方法next() 、nextByte() 、nextShort() 、 nextInt() 、 nextLong() 、nextFloat() 、nextDouble()或 nextBoolean() 来获取一个string、 byte、 short、int、 long、float、double或 boolean 的值。例如: System.out.print("Enter a double value: "); Scanner input = new Scanner(System.in); double d = input.nextDouble(); ComputeAreaWithConsoleInput Run ComputeAverage Run