第二章 标识符、关键字和数据类型 a.

Slides:



Advertisements
Similar presentations
JAVA 编 程 技 术 主编 贾振华 2010年1月.
Advertisements

项目6 通用堆栈.
Java软件设计基础 课后作业.
四資二甲 第三週作業 物件導向程式設計.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
第二章 基本程式設計.
第二章 JAVA语言基础.
C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
實作輔導 日期: 3/11 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
程式設計實作.
走进编程 程序的顺序结构(二).
辅导课程六.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第二章 基本数据类型与输入输出.
程序设计基础 第 二 章 谌 卫 军 清华大学软件学院 2008年秋季.
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
标识符 Java基本数据类型 常量、变量和赋值 类型转换 运算符与表达式
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
西南科技大学网络教育系列课程 高级语程序设计(Java) 第二章 基本数据类型.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第二章Java基本程序设计.
JAVA 程式設計 資訊管理系 - 網路組.
Java變數 2014/6/24.
第二章 Java基本语法 讲师:复凡.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
第二章 Java语法基础.
第九节 赋值运算符和赋值表达式.
3.16 枚举算法及其程序实现 ——数组的作用.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Review 1~3.
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
Java软件设计基础 课后作业.
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
變數、資料型態、運算子.
第2章 Java语言基础.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
判斷(選擇性敘述) if if else else if 條件運算子.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第二章 Java基础语法 北京传智播客教育
顺序结构程序设计 ——关于“字符串”和数值.
第2章 Java语言基础.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Summary
Presentation transcript:

第二章 标识符、关键字和数据类型 a

内容 标识符与关键字 基本数据类型 类型转换运算 输入、输出数据 a

任务:圆周长与面积的计算 任务描述 编写程序 ComputeArea,从键盘上输入圆的半径,在控制台输出圆的周长和面积 要求:圆的周长只保留整数部分,舍掉小数部分 1.用r表示圆的半径 2.用area表示圆的面积 3.用perimeter表示圆的周长 4.确定r的取值 5.用3.14*r*r求出圆的面积,并用area记录该面积 6.输出圆的面积 7.用2*3.14*r求出圆的周长,并用perimeter记录该周长 8.输出圆的周长 9.用int_perimeter表示整数的周长 10.对周长取整数,并用int_perimeter记录周长的整数部分 11.输出圆周长的整数部分

2.1 标识符与关键字-标识符 用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。简单说,标识符就是一个名字,命名规则如下。 其余部分 首字母 变 量 名 任意多的: 1、数字 2、字母 3、下划线‘_’ 4、‘$’ 符号 1、字母 2、下划线‘_’ 3、‘$’ 符号 标识符不能是关键字 标识符不能是true、false和null

× × × × 2.1 标识符与关键字-标识符 检查下面这些是否是合法的变量名 principal $lastname zip code 123rate × discount% × cost_price × marks_3 city int

int double class extends 2.1 标识符与关键字-关键字 Java语言中被赋予特定意义的单词,共计约50个 if int for double class extends try a

2.2 基本数据类型 byte short 整数类型 字符类型 char Java 基本数据类型 int double 浮点类型 long float boolean 逻辑类型 a

变量的声明和赋值 使用变量的步骤: 第一步:声明一个变量 第二步:赋值 第三步:使用变量 数据类型 变量名 = 数值; 数据类型 变量名 = 数值; int money = 1000; 数据类型 变量名; 变量名 = 数值; int money; money = 1000 ; 使用变量的步骤: 第一步:声明一个变量 第二步:赋值 第三步:使用变量 根据类型开辟空间 将数据存入空间 取出数据使用

true false 2.2 基本数据类型-逻辑类型 例如:boolean sex=true; 逻辑常量 逻辑变量 逻辑常量只有两个值: 使用关键字boolean声明逻辑变量 声明时也可以赋给初值 true false 例如:boolean sex=true; a

2.2 基本数据类型-整数类型 整数 类型 int类型 short 类型 byte类型 long类型 常量:不存在short型常量表示法,但可以把一定范围内的int型常量赋值给short型变量。 变量:使用关键字short声明 例如: short x=12;//2个字节 常量:用后缀L来表示,例如108L 变量:使用关键字long声明 例如:long width=12L;//8个字节 常量:123(十进制),077(八进制),0x3ABC(十六进制) 变量:使用关键字int来声明int型变量,声明时也可以赋给初值, 例如: int x= 12;//4个字节 整数 类型 常量:不存在byte型常量表示法,但可以把一定范围内的int型常量赋值给 byte型变量 变量:使用关键字byte声明 例如:byte x= 12;//1个字节 整数常量,默认是int类型。如果要表示成byte类型的常量,则需要进行强制数据类型转换。 同理,如果要表示成short类型的常量,则也需要进行强制数据类型转换。 如果要表示成long类型的常量,则有两种方法: 方法一:100L 添加后缀L表示 方法二:(long)100 使用强制数据类型转换 a

2.2 基本数据类型-字符类型 常量:‘A’,‘?’,‘9’,‘好’,‘\t’,‘き’等,即用单引号扩起的Unicode表中的一个字符 变量:使用关键字char来声明char型变量,例如:char ch=‘A’;//内存分配2个字节,占16位 转义字符常量:有些字符不能通过键盘输入或有特殊含义,就需要使用转义字符常量, 如:\n(换行),\t(水平制表),\’(单引号)等 转义字符表示 \转义字符,如:\n(换行) \u****(*表示Unicode表位置的十六进制表示),如:\u0041(字符A) a

2.2 基本数据类型-字符类型 与int类型转换 要查看字符在Unicode表中的整数值,可以使用int型显示转换,如(int)‘a’; 如果要得到一个0~65535之间的数所代表的Unicode表中相应位置上的字符,必须使用char型显示转换,如(char)65。

2.2 基本数据类型-字符类型 例2_1中,分别用类型转换来显示一些字符在Unicode表中的位置,以及Unicode表中某些位置上的字符 public class Example2_1 { public static void main(String[] args) { char chinaWord='你',englishWord='m'; int p1= 36328,p2=38358; System.out.println("汉字\'你\'在Unicode表中的顺序位置为:"+(int)chinaWord); System.out.println("字母\'m\'在Unicode表中的顺序位置为:"+(int)englishWord); System.out.println("Unicode表中第36328个字符为:"+(char)p1); System.out.println("Unicode表中第38358个字符为:"+(char)p2); } a

2.2 基本数据类型-浮点类型 1. float型 常量:453.5439f(小数表示法),2e40f(2乘10的40次方,指数表示法)。需要特别注意:常量后面必须要有后缀“f”或“F”。 变量:使用关键字float来声明float型变量。例如:float x=22.76f, weight=1e-12F。 精度:float变量在存储float型数据时保留8位有效数字,实际精度取决于具体数值。对于float型变量,内存分配给4个字节,占32位。 2. double 型 常量:2389.539d(小数表示法),1e-90(1乘10的-90次方,指数表示法)。对于double常量,后面可以有后缀“d”或“D”,但允许省略该后缀。 变量:使用关键字double来声明double型变量。例如:double height=23.345,width=34.56D,length=1e12。 精度:对于double型变量,内存分配给8个字节,占64位,保留16位有效数字,实际精度取决于具体数值。 浮点类型常量,默认是double类型。 如果要表示成float类型的常量,则有两种方法: 方法一:100.5f 添加后缀f或F表示 方法二:(float)100.5 使用强制数据类型转换 a

课堂练习 输出Java课考试最高分:98.5 输出最高分学员姓名:张三 输出最高分学员性别:‘男’ public class Hello { public static void main(String[ ] args) { double score = 98.5; String name = "张三"; char sex = '男'; name=“李四”; sex=‘女’; System.out.println("本次考试成绩最高分: " + score); } 双引号 单引号 连接输出信息 演示示例:不同类型变量存取

常见错误 public class Hello { public static void main(String[ ] args) { String title; System.out.println( title ); } 先声明变量并赋值, 然后才能使用 代码错误 在环境中演示 String title = "Java"; //声明变量title并赋值 1 正确方案 2 String title; //声明变量title title = "Java" ; //赋值

常见错误 public class Hello { public static void main(String[ ] args) { int %hour = 18; System.out.println(%hour); } 代码错误 变量名不能以%开始

常见错误 public class Hello { public static void main(String[ ] args) { String name = "张三"; String name = "李四"; } 声明两个同名变量导致编译错误 正确方案 String name1 = "张三"; String name2 = "李四";

小结1 使用变量存储以下MP3信息,并打印输出 定义变量有哪两种方式? 品牌(brand):爱国者F928 重量(weight):12.4 电池类型(type):内置锂电池 价格(price):499 完成任务的第1、2、3步。

赋值运算符2-1 某班的A学员Java成绩是80分,B学员与A学员成绩相同,输出B学员成绩 aScore int aScore = 80; int bScore; aScore = bScore; System.out.println(bScore); aScore 80 赋值运算符 副本 bScore 80 代码错误 课本3.1.6 赋值运算符的结合方向是从右向左,即先把赋值运算符右侧的表达式计算完成后赋值给右侧的变量。 赋值运算符左侧必须是变量。 赋值运算符的优先级最低。 bScore = aScore ; //将右边的值给左边的变量

= 赋值运算符2-2 表达式举例 赋值运算符 变量名 表达式; Z = ( X * 2 ) + ( 5 – Y ) 表达式 表达式 表达式 变量名 表达式; = 表达式举例 Z = ( X * 2 ) + ( 5 – Y ) 表达式就是运算符(如加号、减号)与操作数(如b,3等)的组合。 完成任务的第4步。 表达式 表达式 表达式

+ * / % - 算术运算符3-1 基本的算术运算 某学员3门课成绩如右表所示,编程实现: 1、Java课和SQL课的分数之差 操作数 运算符 + - * / % 基本的算术运算 某学员3门课成绩如右表所示,编程实现: 1、Java课和SQL课的分数之差 2、3门课的平均分 课程 分数 STB 89 Java 90 SQL 60 课本3.1.1

算术运算符3-2 public class Computer { public static void main(String[ ] args) { int stb = 89; //STB分数 int java = 90; //Java分数 int sql = 60; //SQL分数 int diffen; //分数之差 double avg; //平均分 //省略输出成绩单代码…… diffen = java - sql; //计算java 课和sql课的成绩差 System.out.println("Java和SQL的成绩差:" + diffen); avg = (stb + java + sql) / 3; //计算平均分 System.out.println("3门课的平均分是: " + avg); } 声明变量 演示示例:算术运算符的使用

算术运算符3-3 下面代码片断的输出结果是什么? int num1 = 5; %:求余数 int num2 = 2; int a = num1 % num2; int b = num1 / num2; System.out.println(num1 + " % " + num2 + "= " + a); System.out.println(num1 + " / " + num2 + " = " + b); num1++; num2- -; System.out.println("num1 = " + num1); System.out.println("num2 = " + num2); %:求余数 输出 5 % 2= 1 5 / 2 = 2 /:求商 课本3.1.2 红色下面的内容,在学生完成代码的讲解之后。修改代码为: System.out.println("num1 = " + num1++); System.out.println("num2 = " + num2--); 在学生完成代码的讲解之后再次修改代码为: System.out.println("num1 = " + ++num1); System.out.println("num2 = " + --num2); 等价于:num1 = num1 + 1; 输出 num1 = 6 num2 = 1 等价于:num2 = num2 - 1;

小结2 根据天数(46)计算周数和剩余的天数 完成任务的第5、6、7、8步。

2.3 数据类型转换 某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分? double firstAvg = 81.29; //第一次平均分 double secondAvg; //第二次平均分 int rise = 2; secondAvg = firstAvg + rise; System.out.println("第二次平均分是:" + secondAvg);

类型提升规则 在某种条件下,系统自动完成类型转换 两种类型兼容 目标类型大于源类型 对于表达式 例如:int 和 double 兼容 目标类型大于源类型 例如:double 型 大于 int 型 对于表达式 如果一个操作数为double型,则整个表达式可提升为double型

double money=3000; 12L + 5.0/2 + 10 + ‘a’ 基本数据类型之间的转换 精度由低到高的排序 另外,同学需注意P34页的“算术混合运算的精度”问题 精度由低到高的排序 double money=3000; 12L + 5.0/2 + 10 + ‘a’

常见错误 下面语句正确吗? int 不可以自动转换成char int age = 19; char sex = ‘女’; char result = age + sex; int a = 10; int b = 10.2; double c = 10; c = a; int d = c; double不可以自动转化成int

2.3 数据类型转换 如何把高精度的值转换为低精度?

int age=(int)34.8; long y=(long)56.98F; 2.3 数据类型转换 byte short int long float double 精度由低到高的排序 由高到低进行转换时,需要强制类型转换 int age=(int)34.8; long y=(long)56.98F; 课本2.3 如果表达式中最高精度低于int型整数,则按int精度进行计算。结果是int型。(具体描述参加3.1.3的(4)的描述) a

去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额? 强制类型转换 强制类型转换 int b = (int)10.2; double a = 10; int c = (int)a; (类型名)表达式 去年Apple笔记本所占的市场份额是20,今年增长的市场份额是9.8,求今年所占的份额? int before = 20; //apple笔记本市场份额 double rise = 9.8; //增长的份额 int now = before + rise; //现在的份额 编译出错:不能完成 自动类型转换 演示出错信息及改后的结果,讲解当强制转换时,精度有损失 强制类型转换 更改为 int now = before + (int)rise; 演示示例:强制类型转换

2.3 数据类型转换 例题2:数据类型转换 class Example2_2 { public static void main(String[] args) { int c=2200; long d=8000; float f; double g = 12345789.12345789; c=(int)d; f=(float)g;//导致精度丢失 System.out.println("c="+c); System.out.println("d="+d); System.out.println("f="+f); System.out.println("g="+g); } a

实现一个数字加密器,确定加密前的整数,通过加密运算后,输出加密后的结果,加密结果仍为一整数。 小结3 实现一个数字加密器,确定加密前的整数,通过加密运算后,输出加密后的结果,加密结果仍为一整数。 加密规则是: 加密结果 = (整数*10+5)/2 + 3.14159 完成任务的第9、10、11步。

2.4 从命令行输入数据 可以使用Scanner类创建一个对象: Scanner reader=new Scanner(System.in); reader对象调用下列方法,读取用户在命令行输入的各种基本类型数据: nextBoolean() nextByte() nextShort() nextInt() nextLong() nextFloat() nextDouble() 上述方法执行时都会堵塞,程序等待用户在命令行输入数据回车确认 a

2.4 从命令行输入数据 例3:用户在键盘依次输入若干个数字,每输入一个数字都需要按回车键确认,在键盘输入数0结束整个的输入操作过程,程序将计算出这些数的和 修改任务的第4步,让圆半径是在程序运行时才由用户输入确认的 a

2.4 从命令行输出数据 System.out.println(),System.out.print() 可以使用“+”将变量、表达式、常数值连成字符串一起输出,如:System.out.println(m+"个数的和为"+sum); JDK1.5新增了和C语言中printf函数类似的输出数据的方法,格式:System.out.printf("格式控制部分",表达式1,表达式2,…表达式n) %d输出int类型数据值;%c输出char型数据;%f输出浮点型数据,小数部分最多保留6位;%s输出字符串数据。 输出数据时也可以控制数据在命令行的位置,例如:%md输出的int型数据占m列;%m.nf输出的浮点型数据占m列,小数点保留n位。例如:System.out.printf("%d,%f",12, 23.78); a

小结4 编写程序输出个人的基本信息 学校 专业 姓名 年龄 要求: 个人基本信息在运行时输入 数组放后面单独一部分

小结4 使用转义字符完成成绩单的输出,要求每一列左对齐。如下: 姓名 Java C# SQL HTML Dean 80 75 30 100 Sam 85 75 60 97 Cas 60 32 70 90 完成任务的第5、6、7、8步。

总结 标识符与关键字 基本数据类型 八种基本数据类型 变量的定义 类型转换运算 自动数据类型转换 强制数据类型转换 输入、输出数据 Scanner对象的使用以及对应的方法 System.out的println、print、printf方法 a

练习 public class error { public void Main(String args) { system.out.println("开始找错吧! }

谢谢听讲! 山东商业职业技术学院 2014年 济南 a