• 类型转换,运算符


    1、基本类型的转换

    1.1、自动类型转换

    • 当数据类型不一样的时候,将会发生类型换换

    • 自动类型转换: (隐式转换)

      • 1.特点: 代码不需要进行特殊处理,自动完成
      • 2.规则:数据范围从小到大
    • 例子:

      public class Demo01DateType{
        public static void main(String[] args){
          System.out.println(1024);
          System.out.println(3.14);
          
          // 左边的是long类型,右边的是int类型
          // int类型转为long类型,符合范围从小到大
          long num1 = 100;
          System.out.println(num1);
          
          // 左边的double类型, 右边的是float
          // float转为double类型,符合范围从小到大
          double num2 = 2.5F;
          System.out.println(num2);
          
          // 左边的是float类型,右边的是long类型
          // long类型数据转为float数据,符合范围从小到大
          float num3 = 10L;
          System.out.println(num3);
        }
      }
      

    1.2、强制类型转换

    • 强制类型转换

      • 1、特点:代码需要进行特殊的格式处理,不能自动完成
      • 2、格式:范围小的类型,范围小的类型变量名 = ( 范围小的类型)范围大的类型
    • 注意事项:

      • 1、强制类型转换一班不推荐使用,因为有可能发生精度损失,数据溢出
      • 2、byte/short/char 这三种可以发生数学运算, 进行运算的时候先提升为int类型,在进行计算
      • 3、布尔类型不能发生数据类型转换
    • 例子

      public class DemoDataType{
        public static void main(String[] args){
          
          // 左边的是int类型, 右边的是longleix
          // long ---> int 不是从小到大, 强制转换
          // 格式:范围小的类型,范围小的类型变量名 = ( 范围小的类型)范围大的类型
          int num = (int)100L;
          System.out.println(num);
          
          // 数据溢出
          // long类型转为int类型
          int num2 = (int)1000000000000000L;
          System.out.println(num2);
          
          // double转为int类型数据, 强制类型转换
          int num3 = (int) 3.5;
          System.out.println(num3);
          
          char zifu1 = 'A'; // 这是一个字符型数据
          System.out.println(zifu1+1); // 先将A提升为int类型数据,即阿斯克编码,在进行int类型数据计算
          
          byte num4 = 50;
          byte num5 = 40;
          // byte result = num4 + num5; 报错,运算的时候先将byte提升为int类型,然后再计算
          int result = num4 + num5;
          System.out.println(result);
          
          // 使用强制类型转换
          short result2 = (short) (num4 + num5);
          System.out.println(result);
        }
      }
      

    2、运算符

    • 运算符:进行特定操作的符号
    • 表达式: 用运算符连接起来的式子

    2.1、数学运算符

    • 四则运算:加减乘除, 取模(余数) %

    • 注意事项:

      • 1.一旦运算中有不同类型的数据,那么将会是数据类型大的那种
    • 例子

      public class DemoPerator{
        public static void main(String[] args){
          int num1 = 10;
          int num2 = 20;
          int result = num1 + num2;
          System.out.println(result);
          System.out.println(num2-num1);
          System.out.println(num2*num1);
          System.out.println(num2/num1);
        }
      }
      
    • 四则运算中的 + 用法

      1. 对于数值来讲,那就是直接相加

      2. 对于字符来讲,char类型字符,向将字符提升为int类型,在进行计算

      3. 对于字符串来讲,就是拼接字符串操作

      4. 任何数据和字符串相加都是字符串

        public class Demo{
          public static void main(String[] args){
            int a=10;
            int b=12;
            System.out.println(a+b);
            String str;
            str = "hello world";
            System.out.println(str+5);
            char zifu = 'a';
            System.out.println(zifu + 10);
          }
        }
        

    2.2、自增,自减运算符

    • 含义:让一个变量增减一个数字

    • 使用格式: 写在变量名称前面或者写在变量名称后面;num++,++num

    • 使用方式:

      1. 单独使用:不和其他的运算操作,自己就是一个步骤
      2. 混合使用:和其他操作一起使用,比如for循环
    • 使用区别:

      1. 在单独使用的时候,前和后没有区别
      2. 混合使用的时候有本质的区别:
        1. 如果是前++, 这个变量立刻马上加1, 然后拿着结果进行使用 先加后用
        2. 如果是后++,那么首先使用变量本来的值,然后变量+1, 先用后加
    • 注意事项:只用变量才能使用自增自减,常量不可以使用,常量不可变

      public class Perator{
        public static void main(String[] args){
          int num = 10;
          System.out.println("未使用前++的值"+num);
          ++num;
          System.out.println("使用前++的值是"+num);
          
          int num2 = 20;
          System.out.println("未使用后++的值"+num);
          num2++;
          System.out.println("使用后++的值是"+num);
          
          System.out.println("联合使用");
          int num3 = 30;
          System.out.println(++num3);
          System.out.println(num3);  // 先加后用
          
          int num4 = 40;
          System.out.println(num4--);
          System.out.println(num4);  // 先用后减  
          
          // 题目来了
          int a = 10;
          int b = 20;
          int result = ++a + b--;
          // a先加  11, b先用20---》 31
          System.out.println("值是"+result);
          System.out.println(a);
          System.out.println(b);
        }
      }
      

    2.3、赋值运算符

    • 基本运算符: =

    • 符合运算符:+=, -=, *=, /=, %=

    • 注意事项:

      1. 只有变量才能使用赋值运算符,常量不可以使用
      2. 符合运算符其中隐藏了一个强制类型转换
      public class DemoPerator{
        public static void main(String[] args){
          int a = 10;
          a += 5;
          System.out.println(a);
        }
      }
      
      

    2.4、比较运算符

    • >, <, >=, <=, ==, !=

    • 注意事项:

      1. 比较运算符的结果是一个boolean类型
      2. 多次判断不可以使用 1<a<10; 不建议
      public class Demo{
        public static void main(String[] args){
          int a = 10;
          int b = 20;
          System.out.println(a>=b);
        }
      }
      

    2.5、逻辑运算符

    • 与:&& 左右两边全部为true则成立

    • 或:|| 左右两边又一边为true则成立

    • 非: ! 取反,true变为false,false变为true

    • 例子

      public class Demo{
        public static void main(String[] args){
          System.out.println(true&&true);
          System.out.println(true||true);
          System.out.println(!true);
          int a = 10;
          System.out.println(0<a&&a>2);
        }
      }
      

    2.6、三元运算符

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

    • 流程:

      • 首先判断条件是否成立:
        1. 如果表达式成立 true, 那么将表达式A的值赋值给左侧的变量;
        2. 如果不成立false, 那么将表达式B的值赋值给左侧的变量; 二者选其一
      • 注意事项: 1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求. 2.三元运算符的结果必须使用
      public class Demo{
        public static void main(String[] args){
          int a = 10;
          int b = 20;
          int max= a>b ? a:b;
          System.out.println(max);
        }
      }
      

    3、方法的入门

    • 方法:将功能性的代码进行封装

    • 定义方法格式:

      public static void 方法名称(){
        方法体
      }
      
    • 方法名称的命名和标识符是一样的

    • 注意事项

      1. 方法定义的先后顺序不重要
      2. 方法的定义不能产生嵌套关系包含关系
      3. 调用方法的使用才是执行; 方法名称()
      public class Method{
        public static void main(String[] args){
          	PrintHello();
        }
        public static void PrintHello(){
          System.out.println("hello world");
        }
      }
  • 相关阅读:
    卷积神经网络与典型结构
    机器学习之信息熵
    机器学习读书笔记第三章(1):线性模型
    神经网络之:S型神经元
    mysql只保留一条有效数据,删除其他重复的数据
    mysql索引
    mysql自定义函数收集
    MySql中循环的使用
    WCF的例子
    C盘满了如何清理
  • 原文地址:https://www.cnblogs.com/liudemeng/p/11338384.html
Copyright © 2020-2023  润新知