资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
面向对象程序设计计算机科学技术系主讲人:刘春霞E-MAIL:ly050106163.com第二章变量、数据类型和运算符2回顾 纠正代码中的错误,输出“早上好!”public class Test public void main(String args) system.out.println(“早上好!“); staticSystem中S要大写3预习检查 为什么需要变量? Java定义的常用数据类型有哪些?举例说明? “%”和“/”分别执行什么运算?4编写Java应用程序“ExamInfo”: 输出学生相关信息 实现运算功能:计算成绩差计算成绩平均分本章任务5 掌握变量的概念 会使用常用数据类型int, double, char, String 会使用基本运算符赋值运算符,算术运算符 会进行数据类型转换本章目标6 电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆数据各式各样,要先根据数据的需求(即类型)为它申请一块合 适的空间1、开房间(单人间、双人间、总统套间) 2、入住回顾内存如何存放数据71000*(1+5%)内 存 10001050变量:一个数据 存储空间的表示 对于专业程序员,数据存入内存不算完: 怎么找到存入的数据?存进去还能改吗?98.7 6不同数据存入具有不同 内存地址的空间,相互独立 变量在银行存1000元钱,银行一年的利息5%,那一 年之后钱变成了多少?8 内存地址不好记,怎么办?通过内存中小房间的别名找到数据存储的位置 变量是存储数据的一个基本单元房间 房间名字 房间类型 入住的客人 变量 变量名 变量类型 变量值 为什么需要变量对应9变量应用1、在内存中存储本金1000元 2、显示内存中存储的数据的值public class HelloJava1 public static void main(String args) int money = 1000; /存数据数据类型 变量名 内存空间存的数值 演示示例:如何存取变量 System.out.println(money); /使用数据10变量的声明和赋值 使用变量的步骤:第一步:声明一个变量第二步:赋值第三步:使用变量数据类型 变量名 = 数值; 根据类型开辟空间 将数据存入空间 取出数据使用 数据类型 变量名; 变量名 = 数值;int money = 1000;int money; money = 1000 ;11数据属于不同类别非洲 The quick brown fox TRUE 数据 非数值数值整型非整型9002.129999/12/20032.175123陈扬 char非数值数值整型int double非整型StringJava常用数据类型数据类型 12数据类型说明char (字符型)用于存储单个字符 如:性别男、女,电灯开、关int (整型)用于存储整数 如:一天的时间是24小时,一月份有31天double (双精度)用于存储小数 如:蒙牛早餐奶的价格1.3元,手机待机时间 6.5小时 String (字符串)用于存储一串字符 如:“我的爱好是踢足球”, “我喜欢Java程序 ” 数据类型说明13数据类型的使用 输出Java课考试最高分:98.5 输出最高分学员姓名:张三 输出最高分学员性别:男public class HelloJava2 public static void main(String args) double score = 98.5; String name = “张三“;char sex = 男;System.out.println(“本次考试成绩最高分: “ + score);/输出其他 单引号 双引号 完整代码演示连接输出信息 演示示例:不同类型变量存取 141、字母 2、下划线_ 3、$ 符号首字母任意多的: 1、数字 2、字母 3、下划线_ 4、$ 符号其余部分变 量 名Java语言中,变量命名要符合一定规则 money,score,name,sex变量命名规范: 简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的 首字母大写。例如:myScore 变量命名规则2-115变量命名规则2-2 检查下面这些是否是合法的变量名principalcost_pricemarks_3$lastnamecity123ratediscount%zip codeCityint16public class HelloJava3 public static void main(String args) String title;System.out.println( title ); String title; /声明变量title title = “Java“ ; /赋值String title = “Java“; /声明变量title并赋值 12先声明变量并赋值, 然后才能使用 常见错误1代码错误正确方案 17变量名不能以%开始 常见错误2public class HelloJava4 public static void main(String args) int %hour = 18;System.out.println(%hour); 代码错误18public class HelloJava5 public static void main(String args) String name = “张三“;String name = “李四“; 声明两个同名变量导致编译错误 String name = “张三“; String Name = “李四“;Java程序区分大小写 常见错误3正确方案 19某班的A学员Java成绩是80分,B学员与A学员成绩相同, 输出B学员成绩int aScore = 80; int bScore; aScore = bScore; System.out.println(bScore);bScore = aScore ; /将右边的值给左边的变量赋值运算符 完整代码演示aScorebScore8080副 本赋值运算符2-1代码错误20变量名 表达式;赋值运算符2-2Z = ( X * 2 ) + ( 5 Y )表达式 表达式 表达式 赋值运算符表达式举例21算术运算符3-1 基本的算术运算 某学员3门课成绩如右表所示,编程实现:1、Java课和SQL课的分数之差2、3门课的平均分操作数操作数运算符课程分数STB89Java90SQL6022public class ExamInfo 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-2演示示例:算术运算符的使用 23int 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下面代码片断的输出结果是什么? 输出/:求商%:求余数等价于:num1 = num1 + 1;等价于:num2 = num2 - 1;num1 = 6 num2 = 1输出算术运算符3-3241、根据天数(46)计算周数和剩余的天数2、已知圆的半径radius= 1.5,求其面积参考代码参考代码小结225自动类型转换某班第一次Java考试平均分81.29,第二次比第一次多 2分,计算第二次考试平均分?double firstAvg = 81.29; /第一次平均分double secondAvg; /第二次平均分int rise = 2;secondAvg = firstAvg + rise;System.out.println(“第二次平均分是:“ + secondAvg);完整代码演示26 在某种条件下,系统自动完成类型转换两种类型兼容 例如:int 和 double 兼容目标类型大于源类型 例如:double 型 大于 int 型 对于表达式如果一个操作数为double型,则整个表达式可提升为double 型类型提升规则27int 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常见错误28int before = 20; /apple笔记本市场份额double rise = 9.8; /增长的份额int now = before + rise; /现在的份额int now = before + (int)rise; 去年Apple笔记本所占的市场份额是20,今年增长的 市场份额是9.8,求今年所占的份额?编译出错:不能完成 自动类型转换(类型名)表达式强制类型转换int b = (int)10.2; double a = 10;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号