zoukankan      html  css  js  c++  java
  • java02 数据类型 数据转换 运算符

    1 数据类型

    java中数据分为基本数据(4类的8种)和引用数据

           说明

    浮点数 :默认double类型。L 可以不加,如果右边字符区域小于左边。

    public class Hello{
        public static void main(String[] args){
            //输出整数 int类型
            System.out.println(1024);
            //输出整数 这是一个浮点数,默认double
            System.out.println(10.2);
            //long --float,范围是float范围更大,符合从小到大的规则
            double num2 = 2.5F;
            System.out.println(num2);
        }
    }
    
    结果:
    1024
    10.2
    2.5

    自动转换: int→long 符合数据范围从小到大的要求

    public class Hello{
        public static void main(String[] args){
            //格式:范围小的类型 范围小的变量名 = 范围小的类型 原本范围大的数据
            long num =  100L;
            System.out.println(num);
            
        }
    }
    结果
    100.0

    强制类型转换格式:范围小的类型 范围小的变量名 = 范围小的类型 原本范围大的数据

    public class Hello{
        public static void main(String[] args){
            //格式:范围小的类型 范围小的变量名 = 范围小的类型 原本范围大的数据
            int num = (int) 100L;
            System.out.println(num);
            
        }
    }
    
    结果
    100

    注意事项:

    1.强制类型转换,一般不建议使用,主要是有可能精度损失,数据溢出

       简单说就是整数过大会溢出,小数会丢弃

    public class Hello{
        public static void main(String[] args){
            //世界人口70亿
            int num = (int) 7000000000L;
            System.out.println(num);
            
        }
    }
    
    结果:
    -1589934592
    发生了溢出,也就是水撒了

    2 byte short char 三种数学运算,例如+

        流程 :首先提升为int类型,然后进行运算

                  byte + byte → int + int

    public class Hello{
        public static void main(String[] args){
            char zifu1 = 'A';
            //char 类型进行数学运算,那么字符按照一定规则会进行换算
            System.out.println(zifu1 + 1);
        }
    }
    
    结果66


    public class Hello{
        public static void main(String[] args){
            char zifu1 = 'A';
            //char 类型进行数学运算,那么字符按照一定规则会进行换算
            System.out.println(zifu1 + 1);
            byte num1 = 40;
            byte num2 = 50;
            int re1 = num1 + num2;
            System.out.println(re1);
            //byte + short → int + int → int
            short num3 = 60;
            //需要用short (两个变量)
            short re3 = (short)(num3 + num2);
            System.out.println(re3);
            
        }
    }
    结果
    66
    90
    110

    3 boolean类型不能发生数据类型转换





    2 运算符

    2.1定义:

         运算符  进行特定的计算

         表达式  用运算符连起来的公式 就是表达式

    2.2分类:

    2.2.1. 算术运算符

    15550383981_thumb1

    public class Hello{
        public static void main(String[] args) {
            //两个常量之间可以进行运算
            System.out.println(20+30);
             int a = 10;
             int b = 20;
             //首先计算得到表达式的值,然后再打印输出这个结果
            System.out.println(a-b);
             //被除数/除数 = 商。。。余数
            float result1 = b / a;
             System.out.println(result1);
         }
     }

    package hello;
    
    public class Hello{
        public static void main(String[] args){
            String str1 = "hello";
            int str2 = 20;
            System.out.println(str1);
            // 字符串类型的加号,字符串是引用型变量,加号属于连接功能   数据类型  变量名称 = 数据值
            System.out.println(str1+str2);
            //优先级问题
            int str3 = 30;
            System.out.println(str1 + str2 +str3);
        }
    }

          自增自减运算符

    ++ 自增   让一个变量涨一个数据1  写在变量名字之前,之后

    --   自减   让一个变量减一个数据1  写在变量名字之前,之后

          使用方式 

    单独使用    变量前后++ -- 无区别

    混合使用   变量前++ 用完再加;  变量后++用前加

    public class Hello{
        public static void main(String[] args){
            int num1 = 10;
            System.out.println(num1);
            num1++;// 单独使用,意思是独占一行,前++与后++无区别
            System.out.println(num1);
            ++num1;// 单独使用,意思是独占一行,前++与后++无区别
            System.out.println(num1);
            System.out.println("----------------");
            int num2 = 20;
            System.out.println(num2++);
            System.out.println(num2);
            System.out.println(++num2);
        }
    }


    结果 :

    10
    11
    12
    ----------------
    20
    21
    22

          说明:

    取模运算符只有对整数才有意义。

    一旦数据有不同类型的,以数据类型范围大的为准。

    2.2.2.赋值运算符

               赋值运算符包含  基本运算符和复合运算符(包含算术运算符)

    基本运算符:= 代表右侧数据 赋值给 左侧的变量;

    复合运算符:

    1555052927(1)


    package hello;
    
    public class Hello{
        public static void main(String[] args){
        int a = 10;
        int b = 10;
        int c = 10;
        int d = 10;
        a += 10;
        // 实际效果为 a = a + 10;
        System.out.println(a);
        b -= 10;
        // 实际效果为 b = b - 10;
        System.out.println(b);
        c /= 10;
        // 实际效果为 c = c / 10;
        System.out.println(c);
        d %= 10;
        // 实际效果为 d = d % 10;
        System.out.println(d);
        }
    }


    2.2.3.比较运算符

           说明:

    两个等号连起来叫比较,比较结果是 true 或 false,一个等号叫赋值;

    比较运算符是二元运算符,不允许出现1<x<3这类表达式出现,只能用逻辑运算符表达

    15551166801_thumb1

    public class Hello{
        public static void main(String[] args){
            //常量与常量对比
            System.out.println(10 > 5);
            int num1 = 100;
            System.out.println(num1 > 101);
            System.out.println(10 == 10);
            System.out.println(20 != 20);
            
        }
    }

    结果

    true
    false
    true
    false

    2.2.4.逻辑运算符

    与 并且  &&   全都是true 才能true

    或 或者   ||       部分true或者全都是true  是true

    非 取反   !    全都是false 才是true

         说明

    逻辑运算符是 连接两个或多个字符的表达式

                条件A && 条件B && 条件C

    短路 与&& 或|| 具有短路效果,如果根据左边已经判断得到最终结果,那么表达式为false


    public class Hello{
        public static void main(String[] args){
            // false
            System.out.println(true && true);
            // true
            System.out.println(3 < 4 && 10 < 20);
            System.out.println( true || false);
            int a = 10;
            // ++a  未改变a的值,因为下面表达式左边为false,不再执行。
            System.out.println(3 > 4 && ++a < 100);
            // 使用|| 左边为true,右边将不再执行
            System.out.println("------------");
            int b = 20;
            System.out.println( 3 < 4 || ++b < 100);
            System.out.println( b );
            System.out.println( 3 < 4 && ++b < 100);
            System.out.println( b );
        }
    }
    
    结果
    true
    true
    true
    false
    ------------
    true
    20
    true
    21

    2.2.5三元运算符

         一元运算符:

    只需要一个数据就可以进行操作的运算,例 取反 !  自增++ 自减--

         二元运算符:

    需要两个数据才可以进行操作的运算,例如 + – *  /  和赋值=

         三元运算符:

    需要三个数据才可以进行操作运算符 如

    数据类型 变量名称 = 条件判断 ? 表达A : 表达式B;

    流程:

    1 判断条件是否成立

    2 如果成立为true,那么表达式A 的值赋给左侧的变量;

    3如果不成立为false,那么将表达式B的值赋值给左侧的变量;

    public class Hello{
        public static void main(String[] args){
            int a = 10;
            int b = 20;
            //数据类型 变量名称 = 条件判断 ? 表达A : 表达式B;
            int  x =  a > b ? a: b;
            System.out.println(x);
                    
        }
    }

    结果 
    20

    说明:

    1.右侧表达式必须同时符合左侧的数据类型要求,int x = 3> 4? 2.4:10; 不对

    2.三元运算符的结果 必须被引用,要么有变量接受,要么println打印出来;

    3.三元表达式可以直接放在打印结果

    public class Hello{
        public static void main(String[] args){
            int a = 10;
            int b = 20;
            //数据类型 变量名称 = 条件判断 ? 表达A : 表达式B;
            int  x =  a > b ? a: b;
            System.out.println(x);
            //三元表达式可以直接放在打印结果 是正确写法
            System.out.println(x =  a > b ? a: b);
            
        }
    }

    结果 
    20
    20



  • 相关阅读:
    小程序接入第三方ui库(组件库)
    vue仿微信网页版|vue+web端聊天室|仿微信客户端vue版
    Java 开发环境配置
    那么多 Java 版本,如何选择合适的版本
    你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问
    JavaScript HTML DOM EventListener addEventListener() 方法
    Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue-cli)
    使用 Fetch
    CSS3中steps()动画的详解
    MYSQL常用命令
  • 原文地址:https://www.cnblogs.com/rango0550/p/10421965.html
Copyright © 2011-2022 走看看