《Java语言程序设计》第3章-控制语句12



《《Java语言程序设计》第3章-控制语句12》由会员分享,可在线阅读,更多相关《《Java语言程序设计》第3章-控制语句12(54页珍藏版)》请在装配图网上搜索。
1、 比较运算符含义小于大于=大于等于=等于!=不等于注:1、相等的比较运算符是两个 等号(=)2、字符也可以进行比较。实际 上是对字符的Unicode进行 比较。如:(a A) = true Boolean运算符名称含义!非(NOT)取反。true false, false truepublic class LeapYearVerifier /* Main method */public static void main(String args) / 用户输入年份 String yearString = JOptionPane.showInputDialog(Enter a year); int
2、 year = Integer.parseInt(yearString); / 是否为闰年 boolean isLeapYear = ( (year % 4 = 0) / 显示 String display = Year + year + isLeapYear = + isLeapYear; JOptionPane.showMessageDialog(null, display); import javax.swing.JOptionPane;public class AdditionTest /* Main method */public static void main(String ar
3、gs) / 产生两个随机数(int类型) int n1 = (int) (System.currentTimeMillis() % 10); int n2 = (int) (System.currentTimeMillis() * 7 % 10); / 提示用户输入结果 String answerString = JOptionPane.showInputDialog( What is + n1 + + + n2 + ?); int answer = Integer.parseInt(answerString); / 计算结果 String result = n1 + + + n2 + = +
4、 answer + is + (n1 + n2 = answer); JOptionPane.showMessageDialog(null, result); 位运算符名称含义非(NOT)整数按位取反,10, 01booleanexpressionstatement(s)true falseif ( (i0) else if (score = 80.0) grade = B; else if (score = 70.0) grade = C; else if (score = 60.0) grade = D; else grade = F;if (score = 90.0) grade = A
5、;else if (score = 80.0) grade = B;else if (score = 70.0) grade = C;else if (score = 60.0) grade = D;else grade = F;等效于建议采用这种书写风格: 避免了深层缩进; 程序可读性好 if (score = 90.0) grade = A;else if (score = 80.0) grade = B;else if (score = 70.0) grade = C;else if (score = 60.0) grade = D;else grade = F;假设 score = 7
6、2.0比较结果为 false if (score = 90.0) grade = A;else if (score = 80.0) grade = B;else if (score = 70.0) grade = C;else if (score = 60.0) grade = D;else grade = F;假设 score = 72.0比较结果为 false if (score = 90.0) grade = A;else if (score = 80.0) grade = B;else if (score = 70.0) grade = C;else if (score = 60.0)
7、 grade = D;else grade = F;假设 score = 72.0比较结果为 true if (score = 90.0) grade = A;else if (score = 80.0) grade = B;else if (score = 70.0) grade = C;else if (score = 60.0) grade = D;else grade = F;假设 score = 72.0 grade = C if (score = 90.0) grade = A;else if (score = 80.0) grade = B;else if (score = 70
8、.0) grade = C;else if (score = 60.0) grade = D;else grade = F;Next statement假设 score = 72.0退出 if 语句 int i = 1;int j = 2;int k = 3;if (i j) if (i k) System.out.println(A);else System.out.println(B);int i = 1;int j = 2;int k = 3;if (i j) if (i k) System.out.println(A); else System.out.println(B);等效于 如
9、果想让else同第一个if匹配,则需要使用花括号:推荐写法:int i = 1;int j = 2;int k = 3;if (i j) if (i k) System.out.println(A);else System.out.println(B);int i = 1;int j = 2;int k = 3;if (i j) if (i k) System.out.println(A); else System.out.println(B); if (number % 2 = 0) even = true;else even = false;等效于boolean even = (numbe
10、r % 2 = 0);if (even = true) System.out.println(.);等效于if (even) System.out.println(.); 建议使用这种形式因为如果不小心写为:if (even = true) System.out.println(.);将很难被发现。 import javax.swing.JOptionPane;public class PersonalTaxCalculator public static void main(String args) String salaryString = JOptionPane.showInputDia
11、log( 请输入月薪(个税起征点:3500)); double salary = Double.parseDouble(salaryString); double delta = salary - 3500; double tax = 0; if (delta 0 else tax = delta * 0.45 - 13505; / 取小数点后2位,并输出 tax = (int)(tax + 0.005) * 100) / 100.0; JOptionPane.showMessageDialog(null, Tax = + tax); switch (switch-expression) ca
12、se value1: statement(s)1; break; case value2: statement(s)2; break; . . case valueN: statement(s)N; break; default: default-statement(s);表达式 switch-expression必须能计算出一个char、byte、short或int型值,并且必须用括号括住它注:long类型不能用在switch中value1,valueN必须与switch-expression的值具有相同的数据类型value1,valueN都是常量表达式,也就是说在表达式中不能有变量,如1+
13、x是不容许的当switch-expression的值与case语句的值相匹配时,将从该case语句开始执行,直到遇到一个break语句或到达switch语句的末端 switch (switch-expression) case value1: statement(s)1; break; case value2: statement(s)2; break; . . case valueN: statement(s)N; break; default: default-statement(s);关键字break是可选的。break语句可以立即终止整个switch语句。如果break语句没有出现,那
14、么执行下一条case 语句默认情况(default)是可选的,它用来执行指定情况与switch-expression都不匹配时的操作 case语句是顺序检测的,这些case的顺序(包括默认情况)是无所谓的。但是,将所有情况按照逻辑顺序排列并把默认情况放在最后是良好的编程风格。 switch (ch) case a: System.out.println(ch); case b: System.out.println(ch); case c: System.out.println(ch);假设 ch = a switch (ch) case a: System.out.println(ch);
15、case b: System.out.println(ch); case c: System.out.println(ch);ch = a switch (ch) case a: System.out.println(ch); case b: System.out.println(ch); case c: System.out.println(ch);执行这一行:输出 a switch (ch) case a: System.out.println(ch); case b: System.out.println(ch); case c: System.out.println(ch);执行这一行
16、:输出 a switch (ch) case a: System.out.println(ch); case b: System.out.println(ch); case c: System.out.println(ch);执行这一行:输出 a switch (ch) case a: System.out.println(ch); case b: System.out.println(ch); case c: System.out.println(ch);Next statement执行下一条语句 switch (ch) case a: System.out.println(ch); bre
17、ak; case b: System.out.println(ch); break; case c: System.out.println(ch); break;假设 ch = a switch (ch) case a: System.out.println(ch); break; case b: System.out.println(ch); break; case c: System.out.println(ch); break;ch = a switch (ch) case a: System.out.println(ch); break; case b: System.out.prin
18、tln(ch); break; case c: System.out.println(ch); break;执行这一行:输出 a switch (ch) case a: System.out.println(ch); break; case b: System.out.println(ch); break; case c: System.out.println(ch); break;执行break,跳出switch switch (ch) case a: System.out.println(ch); break; case b: System.out.println(ch); break;
19、case c: System.out.println(ch); break;Next statement执行下一条语句 (booleanExp) ? exp-for-true : exp-for-falsebooleanExp 为 true 时执行booleanExp 为 false 时执行if (x 0) abs_x = -1 * x;else abs_x = x;等效于abs_x = (x0)?(-1*x):x;if (num % 2 = 0) System.out.println(num + is even);else System.out.println(num + is odd);等
20、效于System.out.println( (num % 2 = 0)? num + is even : num + is odd); 运算符含义var+, var-后置自增/自减运算符+var, -var, +var,-var !正/负数标识符前置自增/自减运算符一元运算符*, /, %乘、除、求余运算符+, -加减运算符 移位运算符, , = instanceof关系运算符=, !=相等/不等比较运算符int x = a + (+a);int a = 0;int x = +a + a; 3 + 4 * 4 5 * (4 + 3) - 13 + 16 5 * (4 + 3) - 119 5 * (4 + 3) - 119 5 * 7 - 119 35 - 119 34false(1) 从左边开始, 4*4 是第一个 可以计算的表达式(2) 接下来计算 3+16(3) 接下来计算 4+3(4) 接下来计算 5*7(5) 接下来计算 35-1(6) 比较运算 1934(7) 得到最终结果先计算双目运算符左边的部分
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水电工程运行维护管理合同示范文本.docx
- 2025年工程勘测设计合同模板.docx
- 2025年区域产品销售代理合同.docx
- 2025年经销商授权合同样本.docx
- 2025年员工住房资金借贷合同.docx
- 2025年轻钢建筑施工合同示例.docx
- 2025年网络推广托管合同.docx
- 2025年简明个人借款正式合同范例.docx
- 2025年房产按揭贷款合同范例.docx
- 2025年技术合同争议调解.docx
- 2025年电子版城市住宅租赁合同范本.docx
- 2025年简易转让合同协议书样本.docx
- 2025年投资顾问服务合同实例.docx
- 2025年经销合同模板.docx
- 2025年工业项目设计合同样本.docx