JAVA自学--基础篇

       java已经学习了一个月了,本人目标是打算三个月自学安卓开发,不过还好能有6年经验的资深人士带领,平常的时候大多数还是自己找资料和视频学,遇到一些实在搞不懂的东西才会去请教,下面分享一些自己学习的心路历程。

       我的java学习视频是在阿里云大学里边找到的,内容还比较全,分了基础篇、面向对象篇、高级开发篇,今天先分享一下基础篇的相关内容。

一、java简介

       Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java是1995年由SUN公司发布的,最初命名为Oak,后来才改为的Java。2009年,Oracle公司收购了SUN,一直到现在,Java还是属于Oracle公司的。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。

二、java开发环境配置

        不用多说,java开发肯定是要下载JDK、JRE的,最好是到Oracle的官网下载,我之前下载的时候还是jdk9,现在已经是jdk10了,下载后安装完jdk会询问是否连jre也一起安装了,我这边都进行了安装。安装完成后需要进行环境变量的配置(PS:以windows系统为例)。

        1、打开计算机→属性→高级系统设置→高级→环境变量。

 2、新建JAVA_HOME变量,变量值填写jdk的安装目录,本人的:D:\JAVA\JDK

 3、寻找Path变量,在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(PS:注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码。我一开始没设置好,直接把原来的值给覆盖了,导致后续pingIP地址命令都用不了了,后来找了不少资料,反复尝试终于弄好了,现在的变量值:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\Windows System Resource Manager\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

4、新建CLASSPATH变量,变量值填写.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(PS:最前边有一个点)

5、运行cmd 输入 java -version命令检验配置是否成功,如下所示就是成功了:


6、配置好之后还需要下载一个IDE进行程序开发,目前普遍使用Eclipse

三、java程序基本概念

1、类是java中的基本单位

2、public class 类名称{}(此种方式定义的类文件名称必须与类名称保持一致);class 类名称 {}(此种方式定义的类文件名称可以与类名称不同)

3、类名称要求:每一个单词的首字母必须大写,例如:TestDemo

4、主方法所在的类称为主类,主类都用public class声明

5、System.out.println(内容),ln是换行的意思,去掉ln则输出多个数据时不会换行

6、注释的形式:

       ①单行注释:// 注释内容(PS:用得最多)

       ②多行注释:/* 注释内容 */

       ③文档注释:/** 文档注释标记 */

四、java数据类型划分

1、java数据类型分为两类:

⑴、基本数据类型:

①、数值型:表示整数或小数;

②、整型:byte、short、int、long;(默认值为0)

③、浮点型:float、double;(默认值为0.0)

④、字符型:char;

⑤、布尔型:boolean(默认值为false)

 2、引用数据类型:数组、类、接口;

3、数据类型的选择原则:

⑴、在程序开发之中表示整数就使用int,描述小数就使用double;

⑵、long这种数据类型一般会描述日期时间、内存或文件大小;

⑶、如果需要进行编码转换或者进行二进制数据传输,使用byte;

⑷、char一般在描述中文的时候使用到(基本上都会忽略)

⑸、boolean在描述程序逻辑的时候使用

4、关于变量的命名要求:第一个单词的字母小写,而后每个单词的首字母大写,例如:minValue

5、java中使用UNICODE编码,该编码使用十六进制编码,且可以保存任何的文字信息;其编码范围大于ASCII码,常用字母对应的数值范围:A-Z→65-90,a-z→97-122,'0'-'9'→48-57

6、String并不是一个基本数据类型,而是一个引用数据类型,不过这种类型在使用中比较特殊,可以按照基本数据类型的使用模式来进行套用

7、在String类型中,“+”描述的是两个字符串的连接,所有类型只要与String发生了“+”操作都会变为String类型后再进行连接。

五、java运算符

1、++ 变量:先进行自增,后进行运算;变量 ++:先进行运算,而后进行自增。示例如下:


2、三目运算基本用法:数据类型 变量 = 布尔表达式 ? 条件满足时赋值内容 : 条件不满足时赋值内容 ;

3、&&和&、|和||的区别

⑴、逻辑运算之中:

①、&&:表示逻辑与运算,若干个判断条件如果前面有条件返回了false,那么后面的条件不再判断,最终结果为false

②、&:所有的判断条件都要执行

③、||:表示逻辑或运算,若干个判断条件如果前面有条件返回了true,那么后续条件不再判断,最终结果就是true

④、|:所有的判断条件都要执行

⑵、位运算之中:

①、&:运算的两个数据位如果有一个是0结果就是0,全为1时结果才是1

②、|:运算的两个数据位如果有一位是1,最终的结果就是1

六、程序逻辑控制

1、分支结构:

⑴、if (布尔表达式) {

                                     条件满足时的执行代码;

       }else if (布尔表达式) {

                   条件满足时的执行代码;

}... [else {

                 所有条件都不满足时执行的代码;

}]


2、如果要进行多数值内容的判断那么就可以使用switch完成,但是需要注意的是switch随着JDK版本的变化支持的数据类型也在变化:

⑴、最初的数据类型支持:int、char;

⑵、从JDK1.4开始支持了枚举(enu);

⑶、从JDK1.7开始支持了String

⑷、switch (数字 | 枚举 | 字符 | 字符串) {

                     case 内容1:{

                                 内容满足时执行的语句;

                                 [break ; ]

                     }

                      case 内容2:{

                                  内容满足时执行的语句;

                                  [break ; ]

                      }... [

                         default:{

                                          都不满足的时候执行的语句;

                      }]

如果在编写case的时候没有加上break,则会在满足的case语句之后一直执行到遇见break或全部结束。


2、循环结构:while循环、for循环

⑴、循环的初始化内容

       while (循环的结束条件判断) {

                        循环语句;

                        修改循环结束条件判断;

       }

⑵、循环的初始化内容

       do {

                    循环语句;

                    修改循环结束条件判断;

        } while (循环的结束条件判断);

使用while循环的最大特点在于:如果判断条件不满足就一次都不执行,而使用do...while的特点是即使判断条件不满足也会执行一次。在开发之中基本不适用do...while。

⑶、for (循环初始化条件;循环结束判断;修改循环条件) {

                       循环体代码;

       }


⑷、循环使用原则:

①、对于不知道循环次数,但是知道循环结束条件的使用while循环;

②、如果已经明确知道循环次数,则使用for循环;

3、循环控制:continue、break

⑴、continue:执行到此语句的时候将跳过循环体的剩余部分,而返回到循环的判断处进行处理

⑵、break:退出整个的循环

⑶、其它的语言里面有一种goto的功能,这种功能一般不会出现在java里面,而且也没有这样的关键字,不过可以利用continue实现与之一样的功能

七、方法的定义与使用

1、方法的基本定义

public static 方法返回值 方法名称([参数类型 变量,...]) {

            方法体代码;

            [return [返回值] ;]

}

对于方法的返回值有以下的两类:

     ⑴、void:没有返回值;

     ⑵、数据类型(基本类型、引用类型);

但是在定义方法的时候有一点特别需要注意:如果某一个方法上使用了void定义(无返回值),那么该方法中可以直接利用return来结束调用。一般而言,这种return的处理往往需要结合if判断来实现。


2、类是构造对象的模版或蓝图。对象中的数据称为实例域,操作数据的过程称为方法。构造器是一种特殊的方法,用来构造并初始化对象(也可以叫做构造方法)。

⑴、构造器与类同名

⑵、每个类可以有一个以上的构造器

⑶、构造器可以有0个、1个、或多个参数

⑷、构造器没有返回值

⑸、构造器总是伴随着new操作一起调用

3、方法重载:方法名称相同,参数的类型或个数不同。在进行方法重载的时候有一个重要的原则:要求方法的返回值类型一定要相同。System.out.println()是一个被重载的方法。

4、方法递归调用:一个方法自己调用自己的形式。方法必须有一个递归的结束条件。方法在每次递归处理的时候一定要做出一些变更。



猜你喜欢

转载自blog.csdn.net/weixin_42146999/article/details/80539006
今日推荐