变量、数据类型、运算符.ppt
文本预览下载声明
* * 表达式就是运算符(如加号、减号)与操作数(如b,3等)的组合。 自动类型转换(也叫隐式类型转换) 强制类型转换(也叫显式类型转换) 类型转换的原理 什么时候要用强制类型转换? 表达式的数据类型自动提升 所有的byte型、short型和char的值将被提升到int型。 如果一个操作数是long型,计算结果就是long型; 如果一个操作数是float型,计算结果就是float型; 如果一个操作数是double型,计算结果就是double型。 分析 System.out.println(‘a’)与System.out.println(’a’+1) 的区别 自动类型提升 byte b = 3; int x = 4; x = x + b;//b会自动提升为int类型进行运算。 强制类型转换 byte b = 3; b = b + 4;//报错 b = (byte)(b+4);//强制类型转换,强制将b+4的结果转换为byte类型,再赋值给b。 思考: byte b = 4; b = 3+4; byte b1=3,b2=4; b=b1+b2; Int x ; x = b1+b2; int x1=10,x2=98; x = x1 +x2; 哪句是编译失败的呢?为什么呢? 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 不可以自动转换成char double不可以自动转化成int System.out.println(‘a’); System.out.println(‘a’+1); System.out.println(‘你’+1); 实现一个数字加密器,加密规则是: 加密结果 = (整数*10+5)/2 + 3.14159 加密结果仍为一整数 基本的算术运算 某学员3门课成绩如右表所示,编程实现: 1、Java课和SQL课的分数之差 2、3门课的平均分 操作数 操作数 运算符 课程 分数 STB 89 Java 90 SQL 60 public class Helloworld { 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); } } 声明变量 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 下面代码片断的输出结果是什么? 输出 %:求商 /:求余数 等价于:num1 = num1 + 1; 等价于:num2 = num
显示全部