基本数据类型与引用数据类型

Java实现整数乘以浮点数_逻辑运算符


注意:

  • 如果需要使用float类型的常量,则需要在小数后面加一个字母f
  • java常量整数类型默认为int,常量浮点型默认为double

数据类型转换之隐式转换

数据类型表示范围的比较:

  • byte < short = char < int < long < float < double

注意事项:

  • byte、short、 char、int在相互运算时,会直接统统提升为int类型,而非较大类型
  • int以及int以上的类型,在相互运算时,会提升为较大类型

数据类型转换之强制转换

  • 大的范围的数据类型的数据,要转成小范围的数据类型,就需要使用强制转换。
  • 转换格式:
    (要转成的数据类型)需要转换的数据

运算符

算数运算符

此处重点讲解/、%
/:除法运算符:

  • 如果是两个整数相除,结果还是一个整数 (此地方需注意)
  • 如果任意一个操作数是小数,那么结果就是小数

%:取模运算符、取余运算符获取两数相除的余数

  • 注意事项:取余的结果的符号只和%前面的操作数的符号有关
  • 作用:获取余数;判断是否整除;判断奇偶

自增自减运算符

++、–
此处讲解符号在不同位置的执行规则:

++在前,先进行自增,再去执行其他操作
++在后,先去执行其他操作,再在原有的基础上自增1

int a = 10;  
System.out.println(a++);//10   
System.out.println(++a);//12

一行代码,不论要执行什么操作,当遇到分号时,所有的操作都应当执行完毕
所以,当变量自增自减作为语句的时候,不论在前在后,效果一致

int c=5;
       //--c;
       c--;
       System.out.println(c);//无论上面谁执行,结果都为4

赋值运算符

分类:

  • 基本的赋值运算符:=
  • 扩展的赋值运算符:+= -= *= /= %= 均属于数学运算
    ex:a+=1 等同于 a=a+1

比较运算符

分类:

  • == !=:可以比较任意的数据类型
  • > >= < <=:可以比较数值类型(整数类型、小数类型、字符类型)

逻辑运算符

分类:

  • 普通的逻辑运算符:& | ^ !
  • 短路的逻辑运算符:&& ||
    1、&逻辑与。全真为真,否则为假
    true & true true
    true & false false
    false & true false
    false & false false
    2、|:逻辑或。全假为假,否则为真
    true | true true
    true | false true
    false | true true
    false | false false
    3、^:逻辑异或。相同为假,不同为真
    true ^ true false
    true ^ false true
    false ^ true true
    false ^ false false
    4、!:逻辑非。遇真为假、遇假为真【常用】
    !true false
    !false true

5、 短路逻辑运算符【常用】:逻辑运算符前后的两个表达式中,第一个表达式计算完成之后,一定可以确定整个逻辑表达式的值,那么就不再计算第二个表达式的值。

总结:短路运算符和非短路运算符的运算规则相同,只不过是效率更高

详解:&& ||短路与和短路或,当第一个条件满足判断时,不会再去判断第二个条件,可以提高系统效率

位移运算符

1、对于数据在内存中的表示,进行按照位来移动,以此达到对数据进行运算的目的。
2、说明:只能操作整数类型的数据,运算结果还是整数
3、罗列:<< >> >>>
4、<<:左移运算符,每次移动一位,会将原来的数字扩大2倍
5、>>:右移运算符,每次移动一位,会将原来的数字缩小为原来的二分之一
6、>>>:无符号右移,每次移动一位,会将原来的数字缩小为原来的二分之一,这个运算符只能针对正数操作。效率高于右移运算符。
7、总结特点:
运算比直接乘以2或者除以2的效率要高很多

三元运算符(三目运算符)

Java实现整数乘以浮点数_运算符_02

int a = 10,b=20,c=30,d=40;

      int max = (a > b ? a : b) > (c > d ? c : d) ? (a > b ? a : b) : (c > d ? c : d);
      System.out.println("四个数中的最大值为:" + max);//40