您的位置:首页 > 编程语言 > Java开发

java语言基础day02(变量,进制,数据类型,字符和字符串参与的运算,运算符)

2019-04-02 23:05 696 查看

变量

  • 变量:在程序执行过程中,在某个范围内其值可以可以发生变化的量
  • 定义变量的原因是:用来不断的存储同一类型的常量,且可以重复使用
  • 变量的格式

​ 数据类型 变量名 = 变量值

  • 注意:变量在使用之前一定要进行赋值,否则不可以使用。即变量先赋值在使用。

    ​ 定义long类型的数据,值的后面需要加一个后缀L 用来表示这是一个long类型的值

    ​ 定义float类型是,值的后面必须加上一个后缀F,不加报错。

进制

  • 二进制:由0,1组成。 以0b开头

  • 八进制:由0,1,…7组成。 以0开头

  • 十进制:由0,1,…9组成。 整数默认是十进制的

  • 十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)

    进制转换

      任意进制到十进制:位权展开法

    1. 十进制到任意进制的转换

      ​ 除基取余 直到商为0 余数反转
      ​ 十进制到X进制这个基就是X

数据类型的概述和分类

  • java中数据类型分为:

      基本数据类型

      (1)整数型

      ​ byte 1字节
      ​ short 2字节
      ​ int 4字节
      ​ long 8字节

      (2)浮点型

      ​ float 4字节

      ​ double 8字节

      (3)字符型 char 2字节

      (4)布尔型 boolean 1字节

      2.引用数据类型(类 数组 接口)

  • 注意:整数默认的类型是int类型,浮点型默认是double类型。

Java中的数据类型之间的转换

  • java中默认的转换规则

      boolean类型不能转换为其他数据类型。
      2. byte,short,char参与运算时,自动的提升为int型。
  • 自动类型提升:byte short char 在参与数学运算时,会自动提升为int类型,如果还有long ,float double 参与运 算 则会相应的提升为 long float double ,布尔类型不参与数学运算,byte short char 之间不发生转换。

  • 强制类型转换:强制将一个数据,转换成我们要的数据类型,强制类型转换,有可能会发生精度损失的问题

    格式:目标数据类型 变量名=(目标数据类型)(被转换的数据)

  • 常量优化机制:多个常量相加时,他会先算出结果,看没有在这个数据类型的范围内,如果在,就不报错,如果不在就会报错。

字符和字符串参与的运算

  • ASCLL码表重要的三个值:‘0’----48

​ ‘A’-----65

​ ‘a’------97

  • +号运算符

    当+号当做一个数学运算符来用,其相加的作用

    +号 还可以起另外一个作用,当连接符来使用
    当+号运算两端只要任意一端是一个字符串,那么加号就起连接符的作用,就会将两端的内容拼接起来,形成一个新的字符串

    System.out.println("Hello World!"+100); //"Hello World!100"
    System.out.println("Hello World!"+100+33);//"Hello World!10033"
    System.out.println("Hello World!"+"10033");// "Hello World!10033"
    System.out.println(100+"Hello World!");//"100Hello World!"
    System.out.println(100+"Hello World!"+100+33);//100Hello World!10033
    System.out.println(100+11+"Hello World!"+100+33); //111Hello World!10033
    System.out.println("5+5="+5+5);//"5+5=55"
    System.out.println(5+5+"=5+5");//"10=5+5"

运算符

  • 运算符:对常量和变量进行操作的符号称为运算符

  • 运算符的分类
    算术运算符
    赋值运算符
    比较运算符
    逻辑运算符
    位运算符
    三目运算符

  • 算数运算符: + , - , * , / , % , ++ , –

    注意:

      整数相除只能得到整数。如果想得到小数,请使用浮点数
    1. 获取的是除法操作的商,%获取的是除法操作的余数
    2. %运算结果的符号,取决于参与运算是左边的符号
  • 算术运算符++和–的用法
    ++:自加。对原有的数据进行+1
    –:自减。对原有的数据进行-1

    1. 单独使用:放在操作数的前面和后面效果一样。
    2. 参与运算使用:
    放在操作数的前面,先自增或者自减,然后再参与运算。
    放在操作数的后面,先参与运算,再自增或者自减。
  • 关系运算符:== ,!= , < , > , <= , >= , instanceof(后面讲解)

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

    int sum=3;
    sum+=sum;//会自动帮你强制类型转换,他会判断累加完的结果,在不在这个数据类型的范围内,如果不在会自动帮你强制类型转换
  • :逻辑运算符:&(并且) , |(或者) , !(非) , ^(异或) , &&(短路与) , ||(短路或)

    1.  & 两端都需要运算 , && 只要左端为false 右端不需要运算,只有左端为true 右端会去运算
    2.  | 两端都需要运算,|| 只要左端为true 右端就不需要运算,只有左端为false 右端还是要运算的
  • 位运算符:&(与),|(或),^(异或) , ~(按位取反) , <<(左移) ,>>(右移) ,>>>(无符号右移)
    注意:位运算是直接对二进制补码进行运算。

      ^(异或)/ 特点: 一个数被另外一个数位异或两次该数不变

      System.out.println(2^4^4);//2
      System.out.println(2^4^2);//4
    1. << :把<<左边的数据乘以2的移动次幂 例如 10<<3 结果 10*2^3=80

      **> **: 把>>左边的数据除以2的移动次幂 例如 40>>3 结果 40/2^3=5

    四种交换数值的方法

    1. 利用中间值

      int a=10;
      int b=20;
      int t=0;
      t=a;//t=10
      a=b;//a=20
      b=t;//b=10
    2. 利用异或

      int a=10;
      int b=20;
      a=a^b; //a=10^20
      b=a^b; //b=10^20^20
      a=a^b; //a=10^20^(10^20^20)
    3. int a=10;
      int b=20;
      a=a+b;//a=10+20
      b=a-b;//b=(10+20)-20
      a=a-b;//a=(10+20)-((10+20)-20)
    4. int a=10;
      心态b20;
      a=(a+b)-(b=a);
  • 三元(三目)运算符**:

    ​ 格式:(关系表达式) ? 表达式1 : 表达式2;

    ​ 表达式的值的true返回结果1,是false返回结果2

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐