您的位置:首页 > 职场人生

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

2016-05-19 21:43 423 查看
——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培训、期待与您交流! ——-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: