JAVA基础知识

Java的两大类数据类型 :

基本数据类型(值类型)和包装类型(引用数据类型)

基本类型的每种类型的取值范围、默认值、包装类、高频区间数据缓存范围

1. 整型:

byte:-2^7 ~ 2^7-1,即-128 ~ 127。1字节。

默认值:0 ;包装类:Byte ;高频区间:-128~127

short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2字节。

默认值:0;包装类:Shor;高频区间:-128~127

int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。

默认值:0;包装类:Integer;高频区间:-128~127

long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8字节。

默认值:0;包装类:Long;高频区间:-128~127

2. 浮点型:

float:4字节。

默认值:0;包装类:Float;无缓存

double:8字节。

默认值:0;包装类:Double;无缓存

3. 字符型:

char:2字节。

默认值:0;包装类:Character;高频区间:0~127

4. 布尔型:

boolean:取值为true/false

默认值:false;包装类:Boolean

注:Integer的高频区域为:-128~127即当在该区间建立的对象,只有第一次建立时是新的对象,其余均是该对象,没有新建。其它的数据类型也如此。
例:Integer i = 127;Integer l = 127;
       System.out.println(i == l);输出结果就是true;
       Integer i = 128;Integer l = 128;
       System.out.println(i == l);输出结果就是false

Java在什么情况会发生整型溢出及其解决方案:

当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果。想避免这种情况的发生,在程序中就必须加上数值范围的检查功能,或者使用较大的表示范围的数据类型,如长整型。

自动装箱、自动拆箱:

自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱。例如:Integer i=10;即自动装箱,int j=i;即自动拆箱。

intInteger的区别以及它们之间的相互转化:

区别:int是java的原始数据类型,Integer是int的封装类

转化: 

int转换成integer

int x=1;

integer y=new integer(x);

或者inreger y=integer.valueOf(x);

integer转换成int

integer x=new integer(5);

int y=x.intValue();

逻辑运算符&&&的区别、逻辑运算符&与位运算符&的区别:

&运算符就是只有计算完左右两边均为false,才结束是false,两边均是true才是true;
&&运算符有短路特性,当左边是false结束就是false,两边均是true才是true;
|运算符也只有计算完左右两边均是true,才结束是true,两边均是false才是false;
||运算符也有短路特性,当左边是true结束就是true,两边均是false才是false;
逻辑运算符& 和 |只能对布尔型(Boolean)数据进行运算。
而位运算符& 和 |既可以对布尔型(Boolean)数据运算,也可与对数值型数据运算。位运算符是先将数据转化为二进制补码形式,再逐位运算。

Java语言中可以采用什么语句跳出多重循环:

Java语言提供了4种转移语句:breakcontinuereturnthrow

 break语句通常有下述不带标号和带标号的两种形式:

break;(跳出本层循环)
break lab;  (跳出多重循环的外层循环)

其中:break是关键字;lab是用户定义的标号。

break lab语句用在循环语句中,必须在外循环入口语句的前方写上lab标号,可以使程序流程退出标号所指明的外循环。

lab: for(int i =0; i<2; i++) {
for(int j=0; j<10; j++) {
if (j >1) {
break lab;
}
System.out.println(“break");
}
}
输出结果:
break
break
continue语句只能用于循环结构中,其作用是使循环短路。
            continue;(跳出本层的本次循环,继续本层下一次循环)
            continue lab;(跳出外层的本次循环,继续外层下一次循环)
lab是用户定义的标号。
当程序中有嵌套的多层循环时,为从内循环跳到外循环,可使用带标号的continue lab 语句。此时应在外循环的入口语句前方加上标号。
lab: for(int i =0; i<2; i++) {
for(int j=0; j<10; j++) {
if (j >1) {
continue lab;
}
System.out.println(“continue”);
}
System.out.println("************");
}
输出结果:
continue
continue
continue
continue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值