实训java第三课 for 逻辑运算符 条件判断 商品条形码Ean-13验证码生成

package com.tarena.day03; public class SwitchDemo { /** * Switch */ public static void main(String[] args) { int score = 100; String str="不及格"; switch(score / 10) { case 10: // str = "优秀"; // break; case 9: str = "优秀"; break; case 8: str = "良"; break; case 7: str = "中"; break; case 6: str = "及格"; break; // default: str = "不及格"; break; } System.out.println(str); } } for循环
执行顺序 初始化 int i ;判断是否符合条件; 执行循环体;循环变量增加;判断是否符合条件,如此循环,

package com.tarena.day03; public class ForDemo { /** * For循环 */ public static void main(String[] args) { int sum = 0; for(int i = 1; i< 10;i = i+2) { sum += i+1; } System.out.println(sum); double s=0.0; for(int i = 1; i< 10;i = i+2) { s += 1.0/(i+1); } System.out.println(s); int[] ary = {3,5,1,8,7,9}; // 0 1 2 3 4 5 System.out.println(ary[2]); int v = 8; int index = indexof(ary,v); System.out.println(index); } private static int indexof(int[] ary, int v) { for(int i = 0;i


逻辑运算符 && || 是短路运算符,&  | 不是短路运算,短路运算符更符合我们的逻辑思维。使用短路运算符&&时如果第一个条件为假就不判断第二个条件,使用 || 时如果第一个条件为真则不判断第二个条件。

package com.tarena.day03; import java.util.Scanner; public class LogicDemo { /** * 工作中都使用短路运算,更符号我们的思维逻辑 */ public static void main(String[] args) { int age = 20; int x = 1; if (age > 60 && x++ == 2)// 短路 { } System.out.println(x);// 1 if (age > 60 & x++ == 2)// 非短路 { } // ctrl + shift + f 格式化快捷键 System.out.println(x);// 2 age = 70; x = 1; if (age > 60 || x++ == 8)// 短路 { } System.out.println(x);// 1 if (age > 60 | x++ == 8)// 非短路 { } System.out.println(x);// 2 int rows = 23; Scanner sc = new Scanner(System.in); rows = sc.nextInt(); int size = 10; int pages ; pages = rows % size == 0 ? rows/size : rows/size + 1; System.out.println(pages); } }
数学运算符 取模运算时 %结果正负与取模符号%左边的操作数相同。自增运算服 ++ -- 变量先运算再赋值。赋值表达式也有值,也就是 = 左边 等数值

package com.tarena.day03; public class OptDemo { /** * 数学运算符演示 */ public static void main(String[] args) { int i = 0x7fffffff + 0x7fffffff + 2; System.out.println(i);// 0 溢出 long l = 0x7fffffff + 0x7fffffff + 2; System.out.println(l);// 0 溢出 l = 0x7ffffffL + 0x7fffffff + 2; System.out.println(l);// 0 不溢出 i = 3; int x = i/2; System.out.println(x);//1 x = 0/2; System.out.println(x);//0 x = 3%2; System.out.println(x);//1 x = -8%5; System.out.println(x);//-3 int a = 1;int b; b = a++; // b=1,a=2 b = ++a; //b=3,a=3 System.out.println("a:"+a+"b:"+b);// 3 3 a = a++;//缺德表达式 System.out.println(a); //3 double d1,d2; d1 = 17; d2 = 6; System.out.println(d1 /d2); } }

package com.tarena.day03; public class PlusPlusDemo { /** * @param args */ public static void main(String[] args) { int x= 1; int y; x = (y = (x++)); x = x++; System.out.println(x);// 1 int a,b; a = b = 4; } }
switch 条件判断为int类型 包括比int 小的整形, java底层为了题高性能比int小的整形都用32位表示。
 case 表达式后如果不写break;那么就会执行下一个case中的内容。case条件可以乱序。
package com.tarena.day03; public class SwitchDemo { /** * Switch */ public static void main(String[] args) { int score = 100; String str="不及格"; switch(score / 10) { case 10: // str = "优秀"; // break; case 9: str = "优秀"; break; case 8: str = "良"; break; case 7: str = "中"; break; case 6: str = "及格"; break; // default: str = "不及格"; break; } System.out.println(str); } }

作业1:是否有航班

package day03; import java.util.Scanner; public class AirlineDemo { public static void main(String[] args) { boolean hasAirline = isHasAirline('2'); System.out.print("输入星期 0~6 或 日~六"); Scanner console = new Scanner(System.in); String str = console.nextLine(); hasAirline = isHasAirline(str.charAt(0)); if (hasAirline) { System.out.println("有航班"); } else { System.out.println("无航班"); } } public static boolean isHasAirline(char c) { boolean[] ishas={true,false,true,false,true,false,true};// 日 ~六 boolean result = false; if(c >= '0' && c<='6') result = ishas[c - '0']; else switch(c) { case '日': result = ishas[0]; break; case '一': result = ishas[1]; break; case '二': result = ishas[2]; break; case '三': result = ishas[3]; break; case '四': result = ishas[4]; break; case '五': result = ishas[5]; break; case '六': result = ishas[6]; break; default: } return result; } }

作业2:13位商品验证码 Ean13

package day03; import java.util.Scanner; /** * 生成EAN-13 验证码 */ public class Ean13Barcode { public static void main(String[] args) { System.out.print("请输入条形码:"); Scanner console = new Scanner(System.in); String code = console.nextLine(); System.out.println("验证码:"+ean13(code)); } /** * 计算验证码,输入12位条码, 返回带验证码的条码 */ public static String ean13(String code) { int sumj=0,sume=0; int result=0; for(int i =0;i< code.length()-1;i=i+2) { sumj += code.charAt(i) - '0'; sume += code.charAt(i+1) - '0'; } result = sumj+ sume *3; result = result %10; if(result == 10) result = 0; else result = 10 -result; return code+result; } }

 

你可能感兴趣的:(实训java第三课 for 逻辑运算符 条件判断 商品条形码Ean-13验证码生成)