JAVA的八种基本类型 复习笔记
1.基本类型:存储在栈中,存储速度比较快些
byte,char,short,int,long,float,double,boolean
2.包装类,
Byte(1字节),
character(2字节),
Short(2字节),
Integer(4字节),
Long(8字节),
Float(4字节),
Double(8字节),
Boolean
这些包装类
都在java.lang包里,其中SIZE属性记录二进制位数,MIN_VALUE和MAX_VALUE记录取值范围。存储在堆中,因为使用final修饰,所以无法继承类以及重写任何方法。
3.int型值可以赋给所有数值类型的变量;
long型值可以赋给long、float、double类型的变量;
float型值可以赋给float、double类型的变量;
double型值只能赋给double类型变量。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,
就需要使用强制类型转换。
例如:把一个double型值赋值给一个long类型变量,编译时会报错,即使这个值没有超出long类型的取值范围
long l = 1.0D;
除非使用强制类型转换
long l=(long) 1.0D;
注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。
4.byte,char,short,int四种基本类型及其包装类(需要Java5.0/1.5以上版本支持)可以用于switch语句,其它类型编译会报错。
注意:enum(枚举类型,Java5.0以上版本可用)可用于swith语句
public class Test {
static enum e{
A,B
}
public static void main(String[] args) {
switch (Test.e.A) {
case A:
System.out.println("A");
break;
case B:
System.out.println("B");
break;
}
}
}
结果:A
运算符对基本类型的影响
1.当使用+、-、*、/、%运算符对基本类型进行运算时,遵循如下规则:
两个操作数中,先考虑是否有一个是double类型的,是的话,另一个和结果 将会被转换成double类型。以此考虑float,long,除此之外两个操作数(包括byte、short、int、char)都将会被转换成int类型。
2.当使用+=、-=、*=、/=、%=、运算符对基本类型进行运算时,遵循如下规则:
运算符右边的数值将首先被强制转换成与运算符左边数值相同的类型,然后再执行运算,且运算结果与运算符左边数值类型相同。
面试涉及题目:
short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
解析:
short s1=1;//正确,int赋值给short
s1=s1+1;//编译错误,因为s1+1 结果int,转换为short,报错
s1=1+1;//正确,1+1是个编译时可以确定的常量,'+'运算在编译时就被执行了,而不是在程序执行的时候,这个语句的效果等同于s1=2
s1+=1;//正确,1首先被强制转换为short型,然后再参与运算,并且结果也是short类型
3.当使用“==”运算符在基本类型和其包装类对象之间比较时,遵循如下规则:
1). 只要两个操作数中有一个是基本类型,就是比较它们的数值是否相等。
2). 否则,就是判断这两个对象的内存地址是否相等,即是否是同一个对象。
测试验证:
int a = 1;
int b = new Integer(1);
Integer c = 1;
Integer d = new Integer(1);
//有一个是基本类型
System.out.println("a==b "+(a==b));
System.out.println("a==c "+(a==c));
System.out.println("a==d "+(a==b));
System.out.println("b==c "+(b==c));
System.out.println("b==d "+(b==d));
//两个都是包装类对象
System.out.println("d==c "+(d==c));
结果:
a==b true
a==c true
a==d true
b==c true
b==d true
d==c false
分享到:
相关推荐
java ee 复习笔记,是网友制作,有strut spring hibernate等啊
Java基础每日复习笔记-JavaSE高级阶段.edf
Java基础每日复习笔记-JavaSE基础阶段.edf
Java基础每日复习笔记-JavaSE高级阶段.2020-10-13-211312.edf
Java复习笔记
一个不错的java复习笔记
Java期末复习笔记.md
java基础知识汇总和学习笔记,希望会对你有帮助。祝大家学得更快更好。
Java基础 java学习笔记 Java Java基础Markdown学习笔记,可转换成PDF、Word等格式
Java考试复习笔记,拿出来分享一下,希望对大家能有帮助哦。。。。。呵呵
个人收藏的多套JAVA试题和复习指导 含整套习题选择判断填空程序阅读 都含答案 本人花费不少积分下载的 现拿出分享 要想java得高分的这些绝对是物有所值 不值你来骂我!
《Java基础复习笔记.docx》是一份宝贵的学习资源,旨在帮助那些已经具有一定Java编程基础的学习者巩固知识、进行复习以及更深入地理解Java编程的核心概念。以下是对这个资源的详细描述: 全面的复习内容:这份资源...
计算机二级java程序设计考试,每一个知识点的笔记及原题笔记。只要掌握这个笔记,99%都能考过。祝访客们考试成功!!!
已整理好基础版和高级版笔记 导出为pdf 和html 格式 界面清晰美观,均有详细目录
java复习笔记(期末考试复习).docx
复习笔记考点整理考试期末复习大纲 通用适用于各个本科Javaweb期末开始 Java(Javaweb)期末复习资料.复习大纲与考点整理.zip 复习笔记考点整理考试期末复习大纲 通用适用于各个本科Javaweb期末开始 Java(Javaweb)...
同时附赠一份我学习的资料,是github上的一位大神写的,非常棒的笔记,力荐!总结了Java知识、IO、http、socket、redis、git、docker,设计层次比较全,大家可以下载看看,注意文档格式是markdown的。
JAVA复习笔记.doc