zoukankan      html  css  js  c++  java
  • day03-java

          day03      

    大纲:

    运算符

    分支结构

    1.运算符:
      1)算术运算符:+-*/%,++,--
      2)关系运算符:>,<,>=,<=,==,!= boolean
      3)逻辑运算符:&&,||,! boolean
      4)赋值运算符:=,+=,-=,*=,/=,%=
      5)字符串连接运算符:+
      6)三目/条件运算符:boolean?数1:数2


    2.分支结构:
      1)if结构:1条路
      2)if...else结构:2条路
      3)if...else if结构:多条路
      4)switch...case结构:多条路
        优点:效率高、结构清晰
        缺点:整数、相等
        break:跳出switch

    任何复杂的程序逻辑都可以通过三种结构来实现:
    1)顺序结构:从上往下逐行执行,每句必走
    2)分支结构:有条件的执行,并非每句必走
    3)循环结构:

    闰年的判断公式:
    1.能被4整除并且不能被100整除
    或者
    2.能被400整除
    例:(year%4==0 && year%100!=0) || year%400==0

    个人整理代码示例:

    package day01;
    //三目运算
    public class Test01 {
        public static void main(String[] args) {
            int a = -3;
            String r = a>0?"正数":(a == 0?"0":"负数");
            System.out.println(r);//结果为负数
        }
    }

    课上代码示例:

    package day03;
    //运算符的演示
    public class OperDemo {
        public static void main(String[] args) {
            /*
             * 6.三目/条件运算符:
             *   1)语法:
             *       boolean?数1:数2
             *   2)执行过程:
             *       计算boolean的值:
             *         若为true,则整个表达式的结果为数1
             *         若为false,则整个表达式的结果为数2
             */
            /*
            int a=55,b=8;
            int max = a>b?a:b;
            System.out.println("max="+max);
            */
            
            /*
             * 5.字符串连接运算符:
             *   1)+:
             *     1.1)若两边都是数字,则做加法运算
             *     1.2)若两边出现字符串,则做字符串连接
             */
            /*
            System.out.println(100+200+""+300); //"300300"       
            System.out.println(100+200+300+""); //"600"
            System.out.println(""+100+200+300); //"100200300"
            
            int age = 37;
            System.out.println("age="); //age=
            System.out.println(age);    //37
            System.out.println("age="+age);
            System.out.println("我的年龄是:"+age);
            System.out.println("我今年"+age+"岁了");
            */
            
            /*
             * 4.赋值运算符:
             *   1)简单赋值运算符:=
             *   2)扩展赋值运算符:+=,-=,*=,/=,%=
             */
            /*
            int a = 5;
            a += 10; //相当于a=a+10
            System.out.println(a); //15
            a *= 2; //相当于a=a*2
            System.out.println(a); //30
            a /= 6; //相当于a=a/6
            System.out.println(a); //5
            */
            
            /*
             * 3.逻辑运算符:
             *   1)&&:短路与(并且),两边都为真则为真,见false则false
             *        若第1个数为false则发生短路(后面的不执行了)
             *     ||:短路或(或者),有一边为真则为真,见true则true
             *        若第1个数为true则发生短路(后面的不执行了)
             *      !:逻辑非(取反),非真则假,非假则真
             *   2)逻辑运算是建立在关系运算的基础之上的,
             *     逻辑运算的结果也是boolean型
             */
            
            /*
            int a=5,b=10,c=5;
            boolean b5 = a<b || c++>2;
            System.out.println(b5); //true
            System.out.println(c);  //5,发生短路了
            
            boolean b4 = a>b && c++>2;
            System.out.println(b4); //false
            System.out.println(c);  //5,发生短路了
            */
            
            /*
            boolean b3 = !(a>b);
            System.out.println(b3);     //!false=true
            System.out.println(!(a<b)); //!true=false
            
            System.out.println(a>=b || c<b); //false||true=true
            System.out.println(c<=b || a>b); //true||false=true
            System.out.println(a!=b || b>c); //true||true=true
            System.out.println(b==c || c>b); //false||false=false
            
            boolean b2 = a>=b && c<b;
            System.out.println(b2);          //false&&true=false
            System.out.println(c<=b && a>b); //true&&false=false
            System.out.println(b==c && c>b); //false&&false=false
            System.out.println(a!=b && b>c); //true&&true=true
            */
            
            /*
             * 2.关系运算符:
             *   1)>(大于),<(小于)
             *     >=(大于或等于),<=(小于或等于)
             *     ==(等于),!=(不等于)
             *   2)关系运算的结果为boolean型,
             *     关系成立则为true,关系不成立则为false
             */
            /*
            int a=5,b=10,c=5;
            boolean b1 = a>b;
            System.out.println(b1);   //false
            System.out.println(c<b);  //true
            System.out.println(b>=a); //true
            System.out.println(c<=a); //true
            System.out.println(a==c); //true
            System.out.println(a!=c); //false
            */
            
            /*
             * 1.算术运算符:+,-,*,/,%,++,--
             *   1)%:取模/取余,余数为0即为整除
             *   2)++/--:自增1/自减1,可在变量前也可在变量后
             *     2.1)单独使用时,在前在后无差别
             *     2.2)被使用时,在前在后有差别:
             *           a++的值为a
             *           ++a的值为a+1
             */
            /*
            int a=5,b=5;
            //1)输出a--的值5  2)a自减1变为4
            System.out.println(a--); //5
            System.out.println(a);   //4
            //1)输出--b的值4  2)b自减1变为4
            System.out.println(--b); //4
            System.out.println(b);   //4
            */
            
            /*
            int a=5,b=5;
            int c=a++; //1)将a++的值5赋值给c  2)a自增1变为6
            int d=++b; //2)将++b的值6赋值给d  2)b自增1变为6
            System.out.println(a); //6
            System.out.println(b); //6
            System.out.println(c); //5
            System.out.println(d); //6
            */
            
            /*
            int a=5,b=5;
            a++; //相当于a=a+1
            ++b; //相当于b=b+1
            System.out.println(a); //6
            System.out.println(b); //6
            */
            
            /*
            System.out.println(5%2); //1,商2余1
            System.out.println(6%2); //0,商3余0--整除
            System.out.println(2%6); //2,商0余2
            System.out.println(8.675%2); //0.675
            */
        }
    }
    package day03;
    //分支结构的练习
    public class IfDemo {
        public static void main(String[] args) {
            int num = 4;
            switch(num){ //byte,short,char,int
            case 1: //if(num==1)
                System.out.println(111);
                break;
            case 2: //以此为入口
                System.out.println(222);
                break; //跳出switch
            case 3:
                System.out.println(333);
                break;
            default: //所有case都未匹配时执行
                System.out.println(666);
            }
    
    package day03;
    import java.util.Scanner;
    //闰年的判断
    public class LeapYear {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入年份:");
            int year = scan.nextInt();
            
            boolean flag = (year%4==0 && year%100!=0) 
                           || 
                           year%400==0;
            String msg = flag ? year+"是闰年" : year+"不是闰年";
            System.out.println(msg);
        }
    }
    
    package day03;
    import java.util.Scanner;
    //成绩等级判断
    public class ScoreLevel {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入成绩:");
            int score = scan.nextInt();
            
            if(score<0 || score>100){
                System.out.println("成绩不合法");
            }else if(score>=90){ //score>=0 && score<=100  
                System.out.println("A-优秀");
            }else if(score>=80){
                System.out.println("B-良好");
            }else if(score>=60){
                System.out.println("C-中等");
            }else{
                System.out.println("D-不及格");
            }
            
        }
    }
    
    
    package day03;
    import java.util.Scanner;
    //年龄判断程序
    public class AgeRange {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入年龄:");
            int age = scan.nextInt();
            
            System.out.println(age>=18 && age<=50);
        }
    }
    
    package day03;
    import java.util.Scanner;
    //柜台收银程序
    public class Cashier {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请输入单价:");
            double unitPrice = scan.nextDouble();
            System.out.println("请输入数量:");
            double amount = scan.nextDouble();
            System.out.println("请输入金额:");
            double money = scan.nextDouble();
            
            //计算总价(单价*数量)
            double totalPrice = unitPrice*amount;
            if(totalPrice>=500){ //满500
                totalPrice*=0.8; //打8折
            }
            
            if(money>=totalPrice){ //
                double change = money-totalPrice; //计算找零(给的钱-总价)
                System.out.println("总价为:"+totalPrice+",找零为:"+change);
            }else{ //不够
                System.out.println("ERROR!钱不够");
            }
            
        }
    }
    
    package day03;
    import java.util.Scanner;
    //命令解析程序
    public class CommandBySwitch {
        public static void main(String[] args) {
            Scanner scan = new Scanner(System.in);
            System.out.println("请选择功能: 1.显示全部记录  2.查询登录记录  0.退出");
            int command = scan.nextInt();
            
            switch(command){
            case 1:
                System.out.println("显示全部记录");
                break;
            case 2:
                System.out.println("查询登录记录");
                break;
            case 0:
                System.out.println("欢迎下次再来");
                break;
            default:
                System.out.println("输入错误");
            }
            
        }
    }
  • 相关阅读:
    Oracle 11G单机 无网络环境静默安装
    Centos 7 编译安装llvm 8.0.0
    linux下测试读写
    Linux 初始化 init 系统(1):sysvinit
    自动挂载文件/etc/fstab功能详解
    虚拟机安装LINUX网络配置注意的问题
    rhel7报错整理
    16/4/4二代支付硬盘故障处理
    RedHat Enterprise Linux 7关闭防火墙方法
    Linux命令之awk数组使用范例
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/6127620.html
Copyright © 2011-2022 走看看