热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

day03java

day03大纲:运算符分支结构1.运算符:1)算术运算符:+-*%,++,--2)关系运算符:,,

      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 = a2;
        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 || cb); //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 && cb); //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=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("输入错误");
        }
        
    }
}

day03-java


推荐阅读
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
author-avatar
旧瑾LA_364
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有