变量数据类型运算符_第1页
变量数据类型运算符_第2页
变量数据类型运算符_第3页
变量数据类型运算符_第4页
变量数据类型运算符_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、回顾与作业点评回顾与作业点评 纠正代码中的错误,输出“早上好!” 说出开发Java程序的步骤 介绍Java常用的两种注释类型 说出使用MyEclipse开发Java程序的步骤public class Test public void main(String args) system.out.println(早上好!早上好!) staticSystem的首字母的首字母S要大写要大写缺少;缺少;代码阅读代码阅读提问提问2/47预习检查预习检查 变量的定义是什么? Java定义的常用数据类型有哪些? “%”和“/”分别执行什么运算? boolean变量可以取哪些值? “=”和“=”的区别?提问提问3

2、/47本章目标 掌握变量的概念 掌握常用数据类型 会使用赋值运算符、算术运算符 掌握boolean类型和关系运算符的使用 会进行数据类型转换 掌握键盘输入4/47内存如何存放数据内存如何存放数据 电脑使用内存来记忆计算时所使用的数据 内存如何存储数据 内存像旅馆 数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间1、开房间(单人间、双人间、总统套间)、开房间(单人间、双人间、总统套间) 2、入住、入住5/471000*(1+5%)内内 存存 1000变量:一个数据变量:一个数据存储空间的表示存储空间的表示 98.76不同数据存入具有不同数据存入具有不同内存不同内存地址的空间,相互

3、独立地址的空间,相互独立 变量变量2-1已经将数据存入内存,但是已经将数据存入内存,但是: 怎么找到存入的数据?怎么找到存入的数据?在在银行存银行存1000元钱,银行一年的利息元钱,银行一年的利息5%,那一,那一年之后钱变成了多少?年之后钱变成了多少?问题问题6/4510506/47变量变量2-2 内存地址不好记,怎么办? 通过内存中小房间的别名找到数据存储的位置 通过变量名可以简单快速地找到它存储的数据房间房间 房间名字房间名字 房间类型房间类型 入住的客人入住的客人 变量变量 变量名变量名 变量类型变量类型 变量值变量值 对应对应7/47数据属于不同类别数据属于不同类别 非洲非洲 The

4、quick brown fox TRUE 数据数据 非数值非数值数值数值整型整型非整型非整型9002.129999/12/20032.175123 陈陈扬扬 char非数值非数值数值数值整型整型intdouble非整型非整型String 数据类型数据类型 Java常用数据类型常用数据类型8/47JAVA基本数据类型JAVA四类八种基本数据类型第一类:整 型:byte,short,int,long第二类:浮点型:float,double第三类:逻辑型:boolean( true/false)第四类:字符型:char10/45数据类型说明数据类型数据类型说说 明明char(字符型)(字符型)用于存

5、储单个字符用于存储单个字符如:性别如:性别男男、女女,电灯,电灯开开、关关int(整型)(整型)用于存储整数用于存储整数如:一天的时间是如:一天的时间是2424小时,一月份有小时,一月份有3131天天double(双精度)(双精度)用于存储小数用于存储小数如:蒙牛早餐奶的价格如:蒙牛早餐奶的价格1.31.3元,手机待机时间元,手机待机时间6.56.5小小时时String(字符串)(字符串)用于存储一串字符用于存储一串字符如:如:“我的爱好是踢足球我的爱好是踢足球”,“我喜欢我喜欢JavaJava程序程序” 10/47public class MyVariable public static v

6、oid main(String args) int money; /1.声明一个变量声明一个变量money =1000; /2.赋值赋值 数据类型数据类型 变量名变量名 内存空间存的数值内存空间存的数值 System.out.println(money); /3.使用变量使用变量int money = 1000; /合二为一合二为一在在内存中存储本金内存中存储本金1000元元 显示内存中存储的数据的值显示内存中存储的数据的值问题问题变量声明及使用2-1演示示例演示示例1:使用变量存储数据:使用变量存储数据11/47变量声明及使用2-2 使用变量的步骤: 第一步:声明变量,即“根据数据类型在内存

7、申请空间” 第二步:赋值,即“将数据存储至对应的内存空间” 第一步和第二步可以合并第一步和第二步可以合并 第三步:使用变量,即“取出数据使用 ”数据类型数据类型 变量名;变量名; int money;变量名变量名 = 数值;数值;money = 1000 ;数据类型数据类型 变量名变量名=数值;数值; int money = 1000; 12/47数据类型举例数据类型举例 输出Java课考试最高分:98.5 输出最高分学员姓名:张三 输出最高分学员性别:男public class TestType public static void main(String args) double scor

8、e = 98.5; String name = 张三张三; char sex = 男男; System.out.println(本次考试成绩最高分:本次考试成绩最高分: + score); System.out.println(最高分得主:最高分得主: + name); System.out.println(性别:性别: + sex); 单引号单引号 双引号双引号 连接输出信息连接输出信息 问题问题演示示例演示示例2:不同类型变量存取:不同类型变量存取13/471、字母、字母2、下划线、下划线_3、$ 符号符号首字母首字母任意多的:任意多的:1、数字、数字2、字母、字母3、下划线、下划线_4、

9、$ 符号符号其余部分其余部分变变量量名名变量命名规范:变量命名规范:简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的首字母大写。例如:首字母大写。例如:myScore 变量命名规则变量命名规则2-1 Java语言中,变量命名要符合一定规则 money、score、name、sex经验经验实际开发时,为了易于维护,尽量使用有意义的变量名实际开发时,为了易于维护,尽量使用有意义的变量名14/47变量命名规则变量命名规则2-2 检查下面这些是否是合法的变量名principalcost_pricemarks_3$l

10、astnamecity123ratediscount%zip codeCityint提问提问15/47public class Error1 public static void main(String args) String title; System.out.println( title ); String title; /声明变量声明变量titletitle = Java ; /赋值赋值String title = Java; /声明变量声明变量title并赋值并赋值 12先声明变量并赋值,先声明变量并赋值,然后才能使用然后才能使用 代码错误代码错误正确做法正确做法 常见错误常见错误3

11、-1代码阅读代码阅读局部变量局部变量title可能尚未初始化可能尚未初始化16/47变量变量名不能以名不能以%开始开始 public class Error2 public static void main(String args) int %hour = 18; System.out.println(%hour); 代码错误代码错误常见错误常见错误3-2标记标记“%”上有语法错误,删除标记上有语法错误,删除标记代码阅读代码阅读17/47public class Error3 public static void main(String args) String name = 张三张三; St

12、ring name = 李四李四; 声明两个同名变量导致编译错误声明两个同名变量导致编译错误String name = 张三张三;String Name = 李四李四;Java程序区分大小写程序区分大小写 正确方案正确方案 常见错误常见错误3-3局部变量局部变量name重复重复代码阅读代码阅读18/47使用变量存储以下使用变量存储以下MP3信息,并打印输出信息,并打印输出品牌(品牌(brand):爱国者):爱国者F928重量(重量(weight):):12.4电池类型(电池类型(type):内置锂电池):内置锂电池价格(价格(price):):499 小结小结 定义变量有哪两种方式?提问提问现

13、场编程现场编程19/47自动类型转换举例某某班第一次班第一次Java考试平均分考试平均分81.29,第二次比,第二次比第一次多第一次多2分,计算第二次考试平均分?分,计算第二次考试平均分?问题问题 double firstAvg = 81.29; /第一次平均分第一次平均分 double secondAvg; /第二次平均分第二次平均分 int rise = 2; secondAvg = firstAvg + rise; System.out.println(第二次平均第二次平均分是:分是: + secondAvg);20/47 规则1:如果一个操作数为double型,则整个表达式可提升为do

14、uble型 规则2:满足自动类型转换的条件 两种类型要兼容: 数值类型(整型和浮点型)互相兼容 目标类型大于源类型: 例如:double 型大于 int 型自动类型转换规则21/47 int age = 19; char sex = 女女; char result = age + sex; 下面语句正确吗?int a = 10;int b = 10.2;double c = 10; c = a;int d = c; 常见错误int 不可以自动转换成不可以自动转换成chardouble不可以自动转化成不可以自动转化成int代码阅读代码阅读22/47int before = 20; /apple笔

15、记本市场份额笔记本市场份额double rise = 9.8; /增长的份额增长的份额int now = before + rise; /现在的份额现在的份额int now = before + (int)rise; (类型名)表达式(类型名)表达式int b = (int)10.2;double a = 10;int c = (int)a;更改为更改为强制类型转换强制类型转换强制类型转换去年去年Apple笔记本所占市场份额是笔记本所占市场份额是20,今年增,今年增长的市场份额是长的市场份额是9.8,求今年所占份额?,求今年所占份额?语法语法问题问题编译出错:不能完成编译出错:不能完成自动类型

16、转换自动类型转换强制类型转换强制类型转换演示示例演示示例4:强制类型转换:强制类型转换23/47类型的自动转换规则 1、容量小的类型自动转换为容量大的数据类型; 数据类型按容量从小到大排序为: byte,short,char,int,long,float,double 2、byte、short和char之间不相互转换,他们三 者在计算时会先转换为int类型 3、当存在double型的数据参与计算式,其他所 有数据都会被自动转换为double类型,并且 计算结果为double型用什么数据类型能用什么数据类型能表示表示一件艺术品是真货还是假货一件艺术品是真货还是假货地铁地铁2号线的首发车时间是号线

17、的首发车时间是5:00吗吗这次考试成绩在这次考试成绩在90分之上吗分之上吗boolean (布尔布尔)类型类型boolean类型的值类型的值:真:真:true假:假:falseboolean类型只有这两个值类型只有这两个值25/45为什么需要boolean类型25/47如何使用如何使用boolean类型类型 从控制台输入张三同学的成绩,与李四的成绩(80分)比较,输出“张三的成绩比李四的成绩高吗?” 的判断结果int liSi = 80; /学员李四成绩学员李四成绩boolean isBig ; Scanner input = new Scanner(System.in); System.ou

18、t.print(输入学员张三成绩输入学员张三成绩: ); int zhangSan = input.nextInt(); /输入张三的成绩输入张三的成绩 isBig = zhangSan liSi ; System.out.println( 张三成绩比李四高吗张三成绩比李四高吗 ? +isBig ); /输出比较结果输出比较结果定义定义boolean变量变量isBig,存储比较结果,存储比较结果将比较结果保存在将比较结果保存在isBig变量中变量中示例示例问题问题演示示例演示示例5:用:用boolean变量描述信息变量描述信息26/47小结 实现一个数字加密器,加密规则是: 加密结果 = (整

19、数*10+5)/2 + 3.14159,加 密结果仍为一整数提示:提示: / 原始数据原始数据 int data = 100; / 加密计算加密计算 int result = (data * 10 + 5) / 2 + (int) 3.14159; 现场编程现场编程27/47int wangScore = 80; /王浩成绩王浩成绩int zhangScore; /张萌成绩张萌成绩wangScore = zhangScore; System.out.println(“张萌成绩是张萌成绩是 +zhangScore);zhangScore = wangScore; /将右边的值给左边的变量将右边的

20、值给左边的变量赋值赋值运算符运算符 wangScorezhangScore8080副副本本代码错误代码错误赋值运算符赋值运算符2-1学员学员王浩的王浩的Java成绩是成绩是80分,学员张萌的分,学员张萌的Java成绩与王浩的相同,输出张萌的成绩成绩与王浩的相同,输出张萌的成绩问题问题28/47变量名变量名 = 表达式表达式;a = ( b + 3 ) + ( b 1 )表达式表达式 表达式表达式 表达式表达式 赋值运算符赋值运算符2-2 赋值运算符表达式举例表达式举例表达式就是符号(如加号、减号)与操作数(如表达式就是符号(如加号、减号)与操作数(如b,3等)的组合等)的组合语法语法29/47

21、算术运算符算术运算符3-1 基本的算术运算 5、从控制台输入学员王浩3门课程成绩,编写程序实现 (1)Java课和SQL课的 分数之差 (2)3门课的平均分操作数操作数操作数操作数运算符运算符问题问题30/47import java.util.Scanner;public class ScoreStat public static void main(String args) Scanner input = new Scanner(System.in);System.out.print(STB的成绩是:的成绩是:);int stb = input.nextInt(); /stb分数分数 /省略

22、接收省略接收Java分数和分数和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-2指定指定Scanner类路径类路径通过键盘的输入得到通过键盘的输入得到STB的成绩的成绩 计算成绩差和平均分计算成绩差和平均分演示示例演示示例3:使用算术运算符:使用算术运算符31/47int 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 = +

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论