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