###09数据类型转换_自动转换
    * A:   自动类型转换
        * a:表示范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换
            自动类型转换格式:
            范围大的数据类型 变量 = 范围小的数据类型值;
            如:
                    double d = 1000;
                或
                    int i = 100;
                    double d2 = i;
        
###10数据类型转换_强制转换
    * A: 强制类型转换
        *a: 表示范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换
        *b: 强制类型转换格式:
        范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;
        如:
        int  i = (int)6.718;   //i的值为6
        或
        double  d = 3.14;
        int  i2 = (int)d;     //i2的值为3
###11算数运算符_1
    * A: 常见操作
        运算符 运算规则    范例      结果
        +   正号      +3      3
        +   加       2+3     5
        +   连接字符串   “中”+“国” “中国”
        -   负号      int a=3;-a  -3
        -   减       3-1     2
        *   乘       2*3     6
        /   除       5/2     2
        %   取模      5/2     1
        ++  自增      int a=1;a++/++a 2
        --  自减      int b=3;a--/--a 2
    * B: 注意事项
        *a:加法运算符在连接字符串时要注意,只有直接与字符串相加才会转成字符串。
        *b:除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。 
        *c:“%”为整除取余符号,小数取余没有意义。结果符号与被取余符号相同。
        *d:整数做被除数,0不能做除数,否则报错。
        *e:小数做被除数,整除0结果为Infinity,对0取模结果为NaN
    * C:代码演示
    public class OperatorDemo1 {
        public static void main(String[] args) {
        /*
         * 常量使用算数运算符
         */
        System.out.println(10+20);
        
        /*
         * 变量使用算数运算符
         */
        int x = 10;
        int y = 20;
        //"+"作为加法运算使用
        int z = x + y; 
        //"+"作为连接字符串使用
        System.out.println("x="+x);
        System.out.println("y="+y);
        System.out.println("z="+z);
    }
}
###12算数运算符_2
    * A:算数运算符++、--的使用
        * a: ++运算符,会在原有值的基础上自增1
        * b: --运算符,会在原有值的基础上自减1。
    * B:++  -- 位置的使用
        * a:++,--运算符后置时,先使用变量a原有值参与运算操作,运算操作完成后,变量a的值自增1或者自减1;
        * b:++,--运算符前置时,先将变量a的值自增1或者自减1,然后使用更新后的新值参与运算操作。
###13赋值运算符
    * A: 赋值运算符的使用
        运算符 运算规则    范例      结果
        =   赋值      int a=2     2
        +=  加后赋值    int a=2,a+=2    4
        -=  减后赋值    int a=2,a-=2    0
        *=  乘后赋值    int a=2,a*=2    4
        /=  整除后赋值   int a=2,a/=2    1
        %=  取模后赋值   int a=2,a%=2    0
    * B:案例演示
        
         * 赋值运算符
         * +=, -=, *=, /=, %= : 
         * 上面的运算符作用:将等号左右两边计算,会将结果自动强转成等号左边的数据类型,再赋值给等号左边的
         * 注意:赋值运算符左边必须是变量
     
        public class OperatorDemo2 {
            public static void main(String[] args) {
                byte x = 10;
                x += 20;// 相当于 x = (byte)(x+20);
                System.out.println(x);
            }
        }
======================第四节课开始=========
###14比较运算符
    * A:比较运算符的使用
        运算符 运算规则    范例  结果
        ==  相等于     4==3    False
        !=  不等于     4!=3    True
        <   小于      4<3 False
        >   大于      4>3 True
        <=  小于等于    4<=3    False
        >=  大于等于    4>=3    True
             
###15逻辑运算符
    * A: 逻辑运算符的使用
        运算符 运算规则    范例      结果
        &   与       false&true  False
        |   或       false|true  True
        ^   异或      true^flase  True
        !   非       !true       Flase
        &&  短路与     false&&true False
        ||  短路或     false||true True
        规律小结:
            短路与&&:参与运算的两边数据,有false,则运算结果为false;
           短路或||:参与运算的两边数据,有true,则运算结果为true;
           逻辑非! : 参与运算的数据,原先是true则变成false,原先是false则变成true。
    
###16三元运算符
    * A: 格式:
        (条件表达式)?表达式1:表达式2;
        
    * B: 代码案例
        方式一:
        System.out.println( 3>2 ? “正确” : “错误” ); 
        // 三元运算符运算后的结果为true,运算结果为表达式1的值“正确”,然后将结果“正确”,在控制台输出打印
    
        方式二:
        int a = 3;
        int b = 4;
        String result = (a==b) ? “相等” : “不相等”;  
        //三元运算符运算后的结果为false,运算结果为表达式2的值“不相等”,然后将结果赋值给了变量result
        方式三:
        int n = (3>2 && 4>6) ? 100 : 200;
        //三元运算符运算后的结果为false,运算结果为表达式2的值200,然后将结果200赋值给了变量n
        
        
###17运算符优先级
    优先级 描述      运算符
    1   括号      ()、[]
    2   正负号     +、-
    3   自增自减,非  ++、--、!
    4   乘除,取余   *、/、%
    5   加减      +、-
    6   移位运算    <<、>>、>>>
    7   大小关系    >、>=、<、<=
    8   相等关系    ==、!=
    9   按位与     &
    10  按位异或    ^
    11  按位或     |
    12  逻辑与     &&
    13  逻辑或     ||
    14  条件运算    ?:
    15  赋值运算    =、+=、-=、*=、/=、%=
    16  位赋值运算   &=、|=、<<=、>>=、>>>=
###18   商场库存清单案例
    A: 案例分析.
        * a:观察清单后,可将清单分解为三个部分(清单顶部、清单中部、清单底部)
        * b:清单顶部为固定的数据,直接打印即可
        * c:清单中部为商品,为变化的数据,需要记录商品信息后,打印
            经过观察,我们确定一项商品应该有如下几个属性:
            品牌型号: 即商品名称,String型
            尺寸:物品大小,double型
            价格:物品单价,double型
            配置:这一项为每种商品的配置信息,String型
            库存数:这一项为每种商品的库存个数,int型
        * d:清单底部包含了统计操作,需经过计算后,打印
            我们发现两个单独的可变化量
            总库存数:所有商品总个数,int型
            库存商品总金额:所有商品金额,double型
    B: 案例代码实现
        //步骤一:  创建Demo01库存清单.java文件,编写main主方法
        public class Demo01库存清单 {
            public static void main(String[] args) {
            }
        }
        //步骤二:  记录每种库存商品信息
        //苹果笔记本电脑
        String macBrand = "MacBookAir";
        double macSize = 13.3;
        double macPrice = 6988.88;
        int macCount = 5;
        //联想Thinkpad笔记本电脑
        String thinkpadBrand = "ThinkpadT450";
        double thinkpadSize = 14.0;
        double thinkpadPrice = 5999.99;
        int thinkpadCount = 10;
        //华硕ASUS笔记本电脑
        String ASUSBrand = "ASUS-FL5800";
        double ASUSSize = 15.6;
        double ASUSPrice = 4999.50;
        int ASUSCount = 18;
        //步骤三: 统计库存总个数、库存总金额
        int totalCount = macCount + thinkpadCount + ASUSCount;
        double totalMoney = (macCount * macPrice) + (thinkpadCount * thinkpadPrice) + (ASUSCount * ASUSPrice);
        //步骤四: 列表顶部
        System.out.println("------------------------------商城库存清单-----------------------------");
        System.out.println("品牌型号    尺寸  价格  库存数");
       步骤四:打印库存清单中部信息
        //列表中部
        System.out.println(macBrand+"   "+macSize+" "+macPrice+"    "+macCount);
        System.out.println(thinkpadBrand+"  "+thinkpadSize+"    "+thinkpadPrice+"   "+thinkpadCount);
        System.out.println(ASUSBrand+"  "+ASUSSize+"    "+ASUSPrice+"   "ASUSCount);
       打印库存清单底部信息
        //列表底部
        System.out.println("-----------------------------------------------------------------------");
        System.out.println("总库存数:"+totalCount); 
        System.out.println("库存商品总金额:"+totalMoney);

Java语言学习day04--7月1日的更多相关文章

  1. Java语言学习day01--6月28日

    Java语言学习day01一:Java概述 1.Java语言发展史 任职于太阳微系统的 詹姆斯·高斯林 等人于1990年代初开发Java语言的雏形,最初被命名为 Oak ,目标设置在 家用电器等小型系 ...

  2. Java语言学习day02--6月29日

    Java语言学习day02###01常用的DOS命令 * A: 常用的DOS命令 * a: 打开Dos控制台 * win+r--cmd--回车 * b: 常用dos命令 * cd.. : 退回到上一级 ...

  3. Java Calendar获取年、月、日、时间

    Java Calendar获取年.月.日.时间 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00" ...

  4. Java语言学习day32--8月07日

    ###07正则表达式邮箱地址验证 * A: 正则表达式邮箱地址验证 * a: 案例代码 public class RegexDemo2 { public static void main(String ...

  5. Java语言学习day33--8月8日

    今日内容介绍1.基本类型包装类2.System类3.Math类4.Arrays类5.大数据运算 ###01基本数据类型对象包装类概述 *A:基本数据类型对象包装类概述 *a.基本类型包装类的产生 在实 ...

  6. Java语言学习day15--7月21日

    今日内容介绍1.Eclipse开发工具2.超市库存管理系统 ###01Eclipse的下载安装 * A: Eclipse的下载安装  * a: 下载 * http://www.eclipse.org ...

  7. Java语言学习总结 扩展篇 DateFormat类

    DateFormat类 java.text .DateFormat 是 日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换:也就是可以在Date对象与String对象之间进 ...

  8. python学习 day21 (3月28日)----(抽象类 多态 nametuple dump)

    不要因为走的路太久了,而忘记了为了什么而出发. 提前作准备了吗?把思维导图的东西做了吗? 和工作了几年的人,相比,是不是相同的水平,如果要写简历的话. 一边学习,一边复习. 小就是大,少就是多. 1. ...

  9. java语言学习笔记1

    最近也在春节的节假日里,总是会有各种各样的事情出现,没有很完整的时间来学习java以及其他方面的知识. 从昨天开始有了完整的学习体系,我去娄老师推荐的极客学院网站开始学习java语言的语法.在假期之初 ...

  10. Python 学习日志9月20日

    9月20日 周三 多大年龄了,还活得像个小孩.——急什么,人生又不长. 你习惯了思考宇宙星辰,一百年真的不长,一生也就不那么长,许多人的价值观念你也就无法理解.同样,许多人也无法理解你的价值观念,感兴 ...

随机推荐

  1. 100行代码实现HarmonyOS“画图”应用,eTS开发走起!

    本期我们给大家带来的是"画图"应用开发者Rick的分享,希望能给你的HarmonyOS开发之旅带来启发~ 介绍 2021年的华为开发者大会(HDC2021)上,HarmonyOS ...

  2. springboot 设定访问项目的根路径

    springboot的配置文件application.yml: spring.mvc.view.prefix : / spring.mvc.view.suffix : .html server: po ...

  3. mac phpStrom 卸载

    cd ~/Library/Logs/cd ~/Library/Application\ Supportcd ~/Library/Preferences/cd ~/Library/Caches/

  4. DateUtils互转工具类

    public class DateUtils { /** * 取系统默认时区ID */ private static final ZoneId ZONE_ID; static { ZONE_ID = ...

  5. 区分构造函数注入和 setter 注入?

    构造函数注入 setter 注入 没有部分注入 有部分注入 不会覆盖 setter 属性 会覆盖 setter 属性 任意修改都会创建一个新实例 任意修改不会创建一个新实例 适用于设置很多属性 适用于 ...

  6. 客户端回调 Watcher?

    客户端 SendThread 线程接收事件通知,交由 EventThread 线程回调 Watcher. 客户端的 Watcher 机制同样是一次性的,一旦被触发后,该 Watcher 就失效了.

  7. windows编写sh脚本在linux上不能执行

    报错:/bin/sh^M:bad interpreter: 编码没有被识别, vi *.sh Esc 输入 :set fileformat 查看文件格式(显示  fileformat=dos) Esc ...

  8. 插值方法 - Newton向前向后等距插值

    通常我们在求插值节点的开头部分插值点附近函数值时,使用Newton前插公式:求插值节点的末尾部分插值点附近函数值时,使用Newton后插公式. 代码: 1 # -*- coding: utf-8 -* ...

  9. c++中的printf、和cout和cin后面跟指针的问题

    printf里面打印指针的问题 而在c语言中,使用printf只需要使用不同的格式就可以区分打印出是字符串还是指针变量的值: cout和cin后面跟指针的问题 cout<<mm 和cin& ...

  10. Linux基础学习 | 用户及用户组

    Linux 用户及用户组 目录 一.用户    添加用户实例 二.用户组    添加用户组实例 三.用户及用户组文件 四.各命令参数对照 一.用户 Linux系统是一个多用户多任务的分时操作系统.任何 ...