在参考书和相关教学视频的帮助下,学习了java的应用,下面会记录一些我的学习过程和学习成果总结。如果有错误之处,还望指出。

一、JAVA入门

1.JDK和编译软件的安装

        想要学习java,首先要搭建java的运行环境,JDK下载地址可以去官网找到,而我用到的编译软件,主要有eclipse、vs code、IDEA这三个,一开始用vs code是因为操作比较方便,也比较能看懂,但后来发现和专门的java编译软件有一些不足,于是在学长的建议下换成了eclipse和IDEA,在编译多文件程序的时候有更好的效果。

下载JDK之后,首先要做的是配置环境变量,配置完成后,如果想要验证是否配置成功,可以按下Win + R 并输入cmd 回车

输入java -version 如下图所示显示java版本信息就表示安装成功(java与-version之间有空格)

Java自学的软件 自学java用什么软件_数组

 在安装完编译软件后,就可以开始写第一个java程序helloworld了。

Java自学的软件 自学java用什么软件_Java自学的软件_02

Java自学的软件 自学java用什么软件_java_03

Java自学的软件 自学java用什么软件_java_04

Java自学的软件 自学java用什么软件_c++_05

 

二、JAVA编程基础

        1、JAVA的基础数据类型大体与c++相同,需要注意的是long型需要在整数后加L或l,浮点型float需要在小数后面加f或F,double型变量可以加D或d,也可以不加。

        布尔类型是boolean。

        2、标识符和关键字与c++相同。

        3、声明常量的格式

                final 数据类型 常量名称 =

        定义与使用方法大体与c++相同。

        4、变量

                成员变量:在类体中声明的变量,在整个类中都有效。又分为静态变量和实例变量。

                局部变量:在类的方法体中声明的变量,只能在该方法体中使用,不能用于类的其他方法中。局部变量的生命周期取决于方法,当方法被调用时,java虚拟机为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将会被销毁。

                局部变量可以与成员变量的名字相同,此时成员变量将被隐藏,即这个成员变量在此方法中暂时失效。

        5、运算符

        与c++相同,若有多个=,则从右往左处理。

        6、数据类型转换。

        如果从低精度数据向高精度数据类型转换,则永远不会溢出,并且总是成功的,而把高精度数据向低精度数据类型转换时,则会有信息丢失,有可能失败。信息类型转换有两种方式,隐式转换和显式转换

                隐式类型转换:byte<short<int<long<float<double

                显式类型转换:(类型名)数值

        7、语句

        与c++大致相同。

        循环语句:break语句: 终止本次循环
        continue语句:跳过本轮循环 (继续下一轮)

        foreach语句

        for(元素类型x:遍历对象obj){引用了x的java语句}

        可以简便实现遍历。

        8、数组

        许多地方与c++相似,下面主要写不同于c++的地方

       (1)、一维数组

        声明一维数组                int arr[];               

        分配内存空间                arr=new arr[5];

        使用new关键字为数组分配内存时,必须指定数组元素的类型和数组元素的个数,即数组的长度。

        使用new关键字维数组分配内存时,整形数组中各元素的初始值都为0

        也可以声明时同时为数组分配内存:

        数组元素类型 数组名=new 数组元素类型【数组元素个数】

        初始化一维数组:

        int arr[]=new int[]{1,2,3}

        int arr2[]={3,4,5,6}

        (2)、二维数组

        声明二维数组:int a[][];

        填充和替换数组

                可以用Arrays类的静态方法fill()来对数组中的元素进行替换

                fill(int[] a,int value)

                a:要填充的数组

                value:要储存数组中所有元素的值。

                将数组a中的所有值替换成value。

                另一种重载方法,可以指定替换的位置

                fill(int[] a,int fromlndex,int tolndex,int value)

                fromlndex:要填充的第一个元素的索引(包括)

                tolndex:要填充的最后一个元素的索引(不包括)

      sort()方法进行排序,copyOf()方法有多种重载方法,满足不同类型数组的复制

      查询数组:

        binarySearch(Object[] a, 第一个索引(包括),最后一个索引(不包括),要搜索的值)

        如果要搜索的值包含在数组内,则返回搜索值的索引,否则返回-1或“-”(插入点),插入点是搜索值将要插入数组的那一点,即第一个大于此搜索值的元素索引。如果数组中所有元素都小于搜索值,则为a.length

        注意:必须在调用该方法前对数组进行排序,如果没有排序,结果是不确定的,如果数组包含多个带有指定值的元素,则无法保证找到的是哪个。

        数组排序算法与c++相同。