资源描述
比较运算符含义小于大于=大于等于=等于!=不等于注: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 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 args) / 产生两个随机数(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 + = + 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;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 = 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) 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) 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.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);等效于 如果想让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 = (number % 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.showInputDialog( 请输入月薪(个税起征点: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) case 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+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语句没有出现,那么执行下一条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); 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);执行这一行:输出 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); 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.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;执行这一行:输出 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; 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);等效于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) 得到最终结果先计算双目运算符左边的部分
展开阅读全文