基础知识

Posted zaijie

tags:

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

Java是强类型语言,必须为每一个变量声明一种类型。

基础的数据类型

 技术图片

变量

Java每一个变量属于一种类型。声明变量时,变量所属的类型位于变量名之前。

每一个声明以一个分号结束,声明是一个完整的语句,所以必须以分号结束。

变量名必须是一个以字母开头或数字构成的序列。变量名中所有的字符都是有意义的,并且大小写敏感。变量名的长度没有限制。

在一行可以声明多个变量

//定义变量
    int i;

//定义多个变量
    int i, j;

必须用赋值语句对变量进行显式初始化,不可使用未初始化的变量。

常量

使用final指示常量,习惯上,常量名使用大写。

某个常量可以在一个类的多个方法中使用,通常将这些常量成为类常量,使用static final定义。

运算符
数学函数与常量

Math类包含了各种各样的数学函数。

Math类为了达到最快的性能,所有的方法都使用计算机浮点单元中的例程。如果得到一个完全可预测的结果比运行速度更重要的话,name就应该使用StrictMath类。

数值类型之间的转换

如果两个操作数中有一个是double类型,另一个操作数就会转换成double类型;

否则,如果其中一个float类型,另一个将会转换成double类型;

否则,如果其中有一个是long类型,另一个操作数将会转换成long类型

否则,两个操作数都转换成int类型。

byte转short转int转long不会 丢失信息。

char可以转换成int,并且不会丢失精度,int转换成double也不会丢失精度,float转换成double不会丢失精度。

强制类型转换可能会丢失一些信息。

关于数值比较的问题:

public class TestMath{
    public static void main(String[] args){
        Integer intA = 1000;
        Integer intB = 1000;
        //true
        System.out.println(intA.equals(intB));
        //false
        System.out.println(intA == intB);
    }
}

 

public class TestMath{
    public static void main(String[] args){
        Integer intA = 110;
        Integer intB = 110;
        //true
        System.out.println(intA.equals(intB));
        //true
        System.out.println(intA == intB);
    }
}

Integer 的源码中,对传入参数i做了一个if判断。在-128<=i<=127的时候是直接用的int原始数据类型,而超出了这个范围则是new了一个对象。我们知道 == 符号在比较对象的时候是比较的内存地址,而对于原始数据类型是直接比对的数据值。

 

 

 

以上是关于基础知识的主要内容,如果未能解决你的问题,请参考以下文章

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

VsCode 代码片段-提升研发效率

201555332盛照宗—网络对抗实验1—逆向与bof基础

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

JSP基础

片段 getActivity 不起作用