黑马程序员——java基础---按位& |、常量、变量

——Java培训、Android培训、iOS培训、UI培训、PHP培训、期待与您交流! ——-

一、按位& |逻辑& |短路&& ||

Java中逻辑运算短路的理解:
       短路” 主要用于逻辑运算符中,即 “ ! && || “这三种运算符
短路 就是知如果左侧的表达式能确定运算后的结果,则不再计算右侧的表达式。
       如(1>2)&&(2<3) 明明左侧已经为假 了,不用计算右侧一定知道 此表达是为假,这样 就好似物理中的电流,当某处短路时,电流直接从一条路通过,而不再管另一条路。

示例:

public class Test{
public static void main(String[] args){

int a = 1;
int b = 1;
if(a<b&&b<a++){
System.out.println(a>b&true);
System.out.println(a);
System.out.println("true");
}
else{
System.out.println("false");
System.out.println(a);
}
}
}

       此处由于a < b为假 ,所以 后面的b < a++不会执行,此处的结果为 false
       若假设a的初值为0,此时a < b成立,这时就要计算后面的值了
结果应该为和上面一样。

       有人对 && 与 & 有点混淆,本来 & 是个 位运算符
也就是主要用来 做二进制运算的,如 010101&101010 = 000000
       但它的特别之处 在于 它可以 进行 boolean值的运算
就像 a>b&true
       其实这追根究地 在于 boolean 在内存中是用一位二进制来表示的,故可以进行位运算。不能被表象所迷惑 ,认为这是逻辑运算 ,这样理解就根本不存在讨论短路的必要。

二、基本数据类型

有四种:byte、short、int、long,需背会取值范围
基本数据类型分类(4类8种)

  • 整数型
    • byte 占一个字节 -128到127
    • short 占两个字 -2^15~2^15-1
    • int 占四个字节 -2^31~2^31-1
    • long 占八个字节 -2^63~2^63-1
  • 浮点型
    • float 占四个字节 -3.403E38~3.403E38 单精度
    • double 占八个字节-1.798E308~1.798E308 双精度
  • 字符型
    • char 占两个字节 0~65535
  • 布尔型
    • boolean
    • boolean理论上是占八分之一个字节,因为一个开关就可以决定是true和false了,但是java中boolean类型没有明确指定他的大小

三、强制类型转换

案例演示

看下面的程序是否有问题,如果有问题,请指出并说明理由。

byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;

从两方面去回答这个题

  • b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
  • byte类型的变量在进行运算的时候,会自动类型提升为int类型

byte b4 = 3 + 4;
- 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

四、ASCII码表的概述

记住三个值:

  • ‘0’ 48
  • ‘A’ 65
  • ‘a’ 97

——Java培训、Android培训、iOS培训、UI培训、PHP培训、期待与您交流! ——-

你可能感兴趣的:(java)