第二章 Java结构程序设计

合集下载

Java 第2章 基本程序设计PPT课件

Java 第2章 基本程序设计PPT课件
// Assign a radius radius = 20;
// Compute area area = radius * radius * 3.14159;
// Display results System.out.println("The area for the circle of radius " +
第2章基本程序设计
1
动机
在前一章,我们学习了如何创建、编译以及运行一个Java程序。 从这章开始,我们将学习如何编程解决实际问题。通过解决这些 问题,你将会学习基本数据类型以及相关的主题,例如:变量、 常量、数据类型、运算符、表达式以及输入和输出。
2
学习目标
• 编写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节)。

java结构化程序设计(一)

java结构化程序设计(一)

书上29页
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
Int x=78; ….
2.3. 控制语句


(2)再思考:定义一个int变量x并赋值[0-100]。 当x<60,输出“不及格”,当60<=x<80输出 “良”,当80=<x<100输出“优” 用 if -- else if – else 语句来完成
例4: int x=10,y=2,z; System.out.println("x="+(++x)+"+y="+(x+y));
3.算术混合运算的精度
精度从“低”到“高”排列的顺序是: byte short int long float double Java将按运算符两边的操作元的最高精度保留结果的精度, 例如: 5/2的结果是2,要想得到2.5,必须写成5.0/2或5.0f/2。 char型数据和整型数据运算结果的精度是int。例如: byte x=7; 那么 ‘B‟+x; 的结果是int型,因此下列代码结果是什么? char ch=‟B‟+x; Example2_2_3.java
练习Example2_2_2:
例1: int x=10,z; z=x++;
例2: int x=10,y=2,z; z=x+++--y;
2.自增,自减运算符:++,-

JAVA结构化程序设计

JAVA结构化程序设计
第二讲 JAVA结构化程序设计
1
任务
编写一个程序,将1到100之间的偶数求和 并输出。 为了完成这个任务,我们需要解决数据以 及数据存放的问题,对数据的运算问题, 对运算步骤的控制问题等。我们需要学习 以下知识。
2
本讲主要内容
数据类型 标识符与关键字(保留字) 常量 变量 运算符与表达式 数据类型转换 控制语句
23Leabharlann 序中使用变量1 public class Shirt 2{ 3 public static void main (String args[]) 4{ 5 double price = 29.99; 6 int ID = 42889; 7 System.out.println("Shirt price: " + price); 8 System.out.println("Shirt ID: " + ID); 9} 10 }
15
变量
变量是Java程序中的数据的基本存储单元,它具 有名称、类型、地址、值和作用域等特性。 变量采用标识符命名
变量名习惯命名规则是以小写字母开头,单 词之间不要有分隔符,第二及后面单词第一个字 符用大写字母
16
变量的四个要素
类型
地址
名字

程序通过变量名访问变量的值
变量类型由程序员显式地声明,编译器根据类型 解释变量地址所指存储空间中的二进制串
语句块 大括号“{”,“ }”包含的一系列语句称为语句块 语句块可以嵌套
8
注释
用于对程序进行说明,增加程序可读性的特殊成分,
可供阅读,但会被编译器忽略。
三种注释方式
//
注释一行
/* */ 注释一行或多行

JAVA程序设计教程-第2章 Java语言基础-367

JAVA程序设计教程-第2章 Java语言基础-367
第2章
本章主要内容
Java程序的基本结构 数据类型 运算符和表达式 Java语句
第2章
Java应用程序的基本结构
Java应用程序是类的集合 类中包含属性和方法,其中某个类中需包含
入口方法 方法的基本单位是语句 语句的主要组成部分是表达式 表达式由运算符连接运算量构成 运算量有变量和常量两种形式,均属于某种
第2章
2.1.3 字符型
1. 字符型变量 字Un符ic型ode变字量符的共分类1型7组名,为每c组ha被r 称为一个平面, 在包内含存655中36占个据位置2字,节共存111储41空12间个。 CUJM编语nual码vic言taoi为只dl使e使i0n到字用g用u0符Aa被xlFS集称FCPFIIl为F字a。n基符e本,集多BM,文P)J种a的v平a0语面号言(平B面使as,用ic字符
2.3.3 分支语句
2. 嵌套if语句
语句形式: if(条件1)
if(条件2)子句1; else 子句2; else if(条件3)子句3; else 子句4;
第2章
2.3.3 分支语句
2. 嵌套if语句
第2章
2.3.3 分支语句
2. 嵌套if语句
if和else的配对原则 if(x>0)
if(y>0) z=1;
第2章
2.1.4 布尔型
1. 布尔型变量 类型名为boolean 2. 布尔型常量 只有两个取值true和false 未经初始化的布尔型成员变量的值默认为
false
2.2 运算符和表达式
2.2.1 算术表达式
1. 双目算术运算符 +、-、*、/、% 2. 单目算术运算符 +、-、++、--

JAVA课件的第二章

JAVA课件的第二章

标识符
在Java编程语言中,标识符是赋予变量、类或方 法的名称。变量、函数、类和对象的名称都是标 识符,程序员需要标识和使用的东西都需要标识 符。标识符可从一个字母、下划线(_)或美元符 号($)开始,随后也可跟数字、字母、下划线或 美元符号。标识符是区分大小写,没有长度限制, 可以为标识符取任意长度的名字。
数据类型
Java编程语言有八个原始数据类型 可分为以下四种: Java编程语言有八个原始数据类型,可分为以下四种: 编程语言有八个原始数据类型, 1.逻辑类 boolean
boolean 数据类型有两种文字值:true和false。 数据类型有两种文字值:true和false。 注意在Java 编程语言中 编程语言中boolean 类型只允许使用 注意在 Java编程语言中 boolean类型只允许使用 boolean值 在整数类型和boolean boolean 值 , 在整数类型和 boolean 类型之间无转换 boolean类型之间无转换 计算。 计算。 在 C 语言中允许将数字值转换成逻辑值 , 这在 Java编程语言中是不允许的 Java编程语言中是不允许的。 编程语言中是不允许的。
定义包语句: 定义包语句:package
无名包 包与类的存放路径 包中间类的引用与执行
引入包语பைடு நூலகம்: 引入包语句:import
所引用的包的位置 lang包 lang包 常见的其他包: 常见的其他包: util awt javax.swing net, applet
2关键字、标识符、数据类型
关键字对Java编译器有特殊的含义,它们可标 识数据类型名或程序构造(construct)名。
1 Java程序的构成 Java程序的构成
Java语言的源程序代码由一个或多个编译单元组成, Java语言的源程序代码由一个或多个编译单元组成, 语言的源程序代码由一个或多个编译单元组成 每个编译单元可包含三个要素: 每个编译单元可包含三个要素: (1)一个包声明(package statement,可选); 一个包声明( statement,可选) 任意数量引入语句( statements) (2)任意数量引入语句(import statements); 类的声明( declarations) ( 3 ) 类的声明 ( class declarations ) 和接口声明 (interface declarations)。 declarations) 该三要素必须以上述顺序出现。 该三要素必须以上述顺序出现 。 也就是说任何引入 语句出现在所有类定义之前;如果使用包声明, 语句出现在所有类定义之前;如果使用包声明,则包 声明必须出现在类和引入语句之前。每个Java Java的编译 声明必须出现在类和引入语句之前。每个Java的编译 单元可包含多个类或接口, 单元可包含多个类或接口,但是每个编译单元最多只 能有一个类或者接口是公共的。 能有一个类或者接口是公共的。

Java程序设计:第二章 结构化程序设计

Java程序设计:第二章 结构化程序设计

+"\'不可以做标识符除首字符外的组成字符");
} // 方法main结束 } // 类J_Identifier结束
J_Identifier.java
注:
1)类名和文件名须严格 一致,包括大小写。
2)isJavaIdentifierStart ,isJavaIdentifierPart是 Character类的静态成员 方法,分别用来判断字符 c是否可以做标识符的起 始字符和后续字符。
Java程序设计
第二章 结构化程序设计
主要内容
标识符和关键字 数据类型、直接量和变量 运算符 控制结构 结构化程序设计
2
标识符和关键字(1)
Java标识符:标识符可以用来标识变量名、类 名、类中的方法名和文件名等。
标识符组成: 字母(A-Z, a-z等), 数字(0-9), 下划线“_” 和美元符号“$”; 首字符必须是字母, 下划线“_” 和美元符号“$”; 所有标识符是区分大小写的; 除去关键字、false、true和null;
9
数据类型、直接量和变量(3)
字符(char)直接量(常用的转义字符)
'\b' (退格) '\f' (换页) '\n' (换行) '\r' (回车) '\t' (水平制表符(到下一个tab位置)) '\' ' (单引号) '\" ' (双引号) '\\' (反斜杠)
10
数据类型、直接量和变量(4)
public class J_Identifier
{
public static void main(String args[ ])

java结构化程序设计第一部分

java结构化程序设计第一部分

9.基本数据类型的转换
当我们把一种基本数据类型变量的值赋给另一种基本类型变 量时,就涉及到数据转换。基本类型数据的下列类型会涉 及到数据转换,不包括逻辑类型和字符类型。我们将这些 类型按精度从“底”到“高”排列了顺序。 byte short int long float double 当把在级别低的变量的值赋给级别高的变量时,系统自动 完成数据类型的转换。例如, float x=100; 如果输出x的值,结果将是100.0 例如 int x=50; float y; y=x; 如果输出y的值,结果将是50.0。
9.基本数据类型的转换
当把在级别高的变量的值赋给级别底变量时,必须使用显示 类型转换运算。显示转换的格式: (类型名)要转换的值; 例如: int x=(int)23.89; long y=(long)34.98F; 如果输出x,y的值将是23和34,强制转换运算可能导致精度 的损失
Example2_1_7.java
1.逻辑类型
值:true ,false。 变量的定义 使用关键字boolean来定义逻辑变量,定义时也 可以赋给初值: boolean x=true, tom=false; Example2_1_2.java

2.int 型


使用关键字int来定义int型整型变量,定义时也 可以赋给初值: int x= 12,tom=-1230,height=9898,number; 对于int型变量,内存分配给4个字节(byte), 一个字节由8位(bit)组成,4个字节占32位。 int型变量的取值范围是:-231~231-1
3.byte 型


使用关键字byte 来定义byte 型整型变量,可 以一次定义几个,定义时也可以赋给初值: byte m=-12,deep=28,speed=98; 对于byte型变量,内存分配给1个字节,占8位, 因此byte型变量的取值范围是: -27~27-1。

Java程序设计精编教程第2章_Java应用程序的基本结构

Java程序设计精编教程第2章_Java应用程序的基本结构
Circle.java class Circle{ double radius; //圆的半径 double getArea(){ //计算面积的方法 double area=3.14*radius*radius; return area; } } Example2_1.java public class Example2_1{ public static void main(String args[]){ Circle circleOne,circleTwo; //声明2个对象 circleOne = new Circle(); //创建对象 circleTwo = new Circle(); circleOne.radius=123.86; circleTwo.radius=69; double area=circleOne.getArea(); System.out.println("circleOne的面积:"+area); area=circleTwo.getArea(); System.out.println("circleTwo的面积:"+area); } }
Java生成的字节码文件不依赖平台
Java语言的源程序 针对JVM编译 Java字节码文件
能运行于平台A Java 运行环境(JRE)
WINDOWS操作系统 CPU
能运行于平台B Java 运行环境(JRE)
UNIX操作系统
CPU
§2.2 简单的Circle类 面向对象的一个重要思想就是通过抽象得到类, 即将某些数据以及针对这些数据上的操作封装在一 个类中,抽象的关键有两点:一是数据,二是数据 上的操作。我们对所观察的圆做如下抽象: 圆具有 半径之属性、可以使用半径计算出圆的面积。 对于Circle类的形式包括类声明和类体 。 Circle类的类体的内容由两部分构:一部分是 变量的声明,称做域变量或成员变量,用来刻画圆 之属性。另一部分是方法的定义(在C语言中称做函 数),用来刻画功能。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引用数据类型
变量总是具有与其数据类型相对应的值
每个变量均具有:名字、类型、一定大小的存储单元以及值
变量就是内存单元的名字,即对应内存的位置
数据类型决定了它所占用的内存单元数量
内存单元
值 表示变量所占用的内存单元中所保存的数据
str
String str = “Hello Java”;
变量名
NumberFormat format=NumberFormat.getInstance(); System.out.println(format.format(number1)); //1,000,000
变量 (Variable)
变量表示Java程序中的基本存储单元,总是具有某种数据类型:
基本数据类型
char letter = 'A'; char number = '4'; char unicodeLetter = '\u0041'; char unicodeNumber = '\u0034'; char cnChar1 = '中'; char cnChar2 = '国';
// ASCII // ASCII // Unicode // Unicode
Demo:TestDouble.java
浮点数据的精度
处理精度损失 (*)
解决方法——使用BigDecimal类 Demo:TestBigDecimal.java 注意:在构建BigDecimal对象时应使用字符串而不是double数值,否则, 仍有可能引发计算精度问题。
字符类型
字符类型使用单引号括起来
例子:
public class UnicodeDisplay
{
/** Main method */
public static void main(String[] args)
{ // 显示:欢迎αβγ
System.out.println( "\u6B22\u8FCE\u03b1\u03b2\u03b3" );
性带来了潜在的灾难,无数程序的bug也出现在这里。
......
NOTEBOOK_WEIGHT = 2000; // 第一次赋值
NOTEBOOK_WEIGHT = 3000; // 第二次赋值,错误!
CM_PER_INCH = 3.00;
// 第二次赋值,错误!
注:在 C/C++ 语言中,使用 const 来定义常量。Java 中 const 也是保留字, 但是没有用。
常量的数据类型
Java1.7的新特性
为了方便阅读大的整数,Java 7中现在允许使用下划线分隔多个数位:
int number1=1_000_000; int number2=; System.out.println(number1==number2); //true
//使用当前区域语言特性格式化数字
浮点数据的精度
浮点数的精度?
包含浮点数的计算是近似的,因为这些数没有以完全的准确度存储。例如:
➢ System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1); 显示的是0.50001而不是0.5
➢ System.out.println(1.0 - 0.9); 显示的是0.999998 而不是0.1
double n1 = 0.1; double n2 = 1.0 - 0.9; if (Math.abs(n1-n2) < 0.00000001){
System.out.println("equal!"); } else{
System.out.println("not equal!"); }
浮点数据的精度
Java关键字列表(共50个):
abstract continue for
new
switch
assert
default
goto
package
synchronized
boolean
do
if
private
this
break
double
implements protected throw
byte
else
super
while
第二章 Java结构化程序设计
标识符、关键字 数据类型、常量和变量 运算符 控制结构 编程规范
数据类型(data types)
基本数据类型(primitive type)
布尔型——boolean 字符型——char 整型——byte、short、int、long 浮点型——float、double
常量的数据类型
Java常量包括基本数据类型常量、字符串(String)常量和null 布尔(boolean)常量:true, false char常量:‘c’, ‘\u0061’, ‘\u0051’ , ‘\u005a’
int常量:(10)10=(0xA)16=(012)8 ,34
long常量:34L
float 负数范围:-3.40282347×1038 ~ -1.4×10-45
正数范围:1.4×10-45 ~ 3.40282347×1038
浮 点
double 负数范围:

-1.7976931348623157×10308 ~ -4.9×10-324
正数范围:
4.9×10-324 ~ 1.7976931348623157×10308
double常量:1.5, 45.6, 76.4E8, -32.0
float常量:1.5F, 45.6f, 76.4E8F, -32.0F String常量:”Hello World!” 引用数据类型常量: null
独立于平台
Java中,整型的范围与运行机器无关,解决了移植时的问题 在C/C++中,int表示与目标机器相关的整数类型
注意,双引号括起来的是字符串。'A'和"A"是不同的
char类型用来表示在Unicode编码表中的字符 增量和减量运算也可以用于char型变量,得到后一个或前一个
Unicode字符,如:
char letter = 'A'; System.out.println(++letter);
// ASCII
Imports java.util.*; Scanner in=new Scanner(System.in); System.out.print(“What is your name?”); String name=in.nextLine();
Scanner类有nextInt, nextDouble等方法。 实例:InputTest.java
// 单引号 // 双引号 // 反斜杠
boolean类型
boolean类型
基本数据类型(同int、double一样) 只有两个取值:true(真)、false(假) 整型数据和boolean型不能相互转换
➢ C/C++中是可以相互转换的。 ➢ 在C/C这种灵活
字符类型
Unicode
由Unicode Consortium建立的一种16位编码方案,支持世界不同语言的文本 交换、处理和显示。
一个Unicode码占两个字节,书写上用以\u开头的4位十六进制数表示,范围 从‘\u0000’到‘\uFFFF’,共65536个
目前大约使用了35000个
Demo:UnicodeDisplay
➢ 整数可以精确地存储。因此,整数计算得到的是精确的运算结果
➢ 注意:浮点数的比较问题 Demo:Test.java
double n1 = 0.1; double n2 = 1.0 - 0.9; if (n1 == n2){
System.out.println("equal!"); } else{
System.out.println("not equal!"); }
如果某常量只在本类使用,则应将其定义为private的。
常量名字通常采用大写字母,可以使用下划线
public final double PI = 3.14159;
public final double CM_PER_INCH = 2.54;
public final int NOTEBOOK_WEIGHT;
常量的数据类型
类型
范围
存储空间大小
byte
-27 (-128) ~ 27-1(127)
short -215 (-32768) ~ 215-1(32767)
整 int 型
-231(-2147483648) ~ 231-1(2147483647)
long
-263 (-92233728) ~ 263-1(92233727)
import
public
throws
case
enum
instanceof return
transient
catch
extends
int
short
try
char
final
interface static
void
class
finally
long
strictfp volatile
const
float
native
8-bit signed 16-bit signed 32-bit signed
64-bit signed
32-bit IEEE 754 64-bit IEEE 754
byte: -128: 1000,0000
相关文档
最新文档