java基础2---按位& |常量变量

Posted 冬有雪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础2---按位& |常量变量相关的知识,希望对你有一定的参考价值。

——-

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

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基础2---按位& |常量变量的主要内容,如果未能解决你的问题,请参考以下文章

JavaSE系列Java基础

JavaSE系列Java基础

java基础- 数据类型&变量

初涉大蟒蛇-python基础篇

爆肝三万字,带你重温Java基础。。。

Java位运算基础知识