一、常用的CMD命令
1、win + R : 打开命令行窗口,输入CMD,回车,进入CMD黑窗口
2、dir:directory显示目录
3、cd:change directory 切换目录
4、cls:clean screen 清屏
5、md:make directory 创建目录
6、rd:remove directory 删除目录,只能删除空目录
7、del:delete 删除文件
8、copy 源文件 目标文件
9、切换盘符:盘符+冒号+Enter
10、dir/p:分屏显示; dir/w:用宽格式显示,只显示文件名,每行显示N个目录或文件
11、ver:version 显示windows的版本号
12、exit:退出
13、Java -version:查看jdk版本信息
二、Java SE基础
1、Java跨平台原理
1、Java程序的跨平台原理主要是指字节码文件可以在任何具有Java虚拟机的计算机或电子设备运行
2、Java虚拟机中的Java解释器负责将字节码文件解释成特定的机器码运行
2、Java有goto关键字,但没有被使用,Java是完全面向对象的
3、Java三大版本
1、Java SE:定位在客户端,主要用于桌面应用软件的编程
2、Java EE:标准版,定位在服务器端的企业版;主要用于分布式网络程序的开发,如电子商务网站。
3、Java ME:主要应用于嵌入式系统开发,如手机和PDA的编程。
4、Java SE是基础,Java ME和JavaEE都是建立在Java SE版本基础上的。
4、配置环境变量
1、系统变量新建:JAVA_HOME变量,变量值是JDK的路径
2、修改系统变量Path,新增%JAVA_HOME%\bin;
5、javac和java
1、javac是编译命令,编译.java源文件
作用:将.java文件编译成.class文件(字节码文件)
2、java是执行命令,执行.class文件
作用:将.class文件解释成我们能够看懂的结果
3、格式:javac 源文件名称.java
java 类文件名称(不能带后缀的.class文件)
6、常见的错误
1、提示:"javac不是内部或外部命令"
Path变量配置错误导致没有找到javac命令
2、文件中可以看到.java文件,在编译时出现"javac找不到文件"
可能是操作系统显示设置问题,隐藏了文件的扩展名
3、NoSuchMethodError:main
找不到main方法,检查public static void main(String[] args){}
7、知识点
1、Java对大小写敏感,如果出现大小写错误,程序无法运行
2、关键字public被称为访问修饰符(access modifier),用于控制程序的其他部分对这段代码的访问级别
3、关键字class为类
4、一个源文件至多声明一个public的类,其他类不限;
如果源文件中有public类,源文件名必须和其中定义的public类名相同,且以".java"为扩展名
5、一个源文件可以包含多个class类
8、DOC操作系统
1、DOC:DISK Operating System. 磁盘操作系统,单用户,单任务的操作系统
2、DOC命令:(DOC称为目录,Windows称为文件夹)
详情见一、常用的CMD命令
9、Java跨平台原理
1、.java文件(源文件)经过编译,编译成.class字节码文件,通过解释可以在各个机器上运行(Unix、Linux、windows)
2、一次编译,到处运行
3、编译器的作用:将源文件编译成.class文件
4、虚拟机的作用:将字节码文件(.class文件)解释成对应平台机器码并执行
5、Java只有在提供并安装了相应的虚拟机上才能运行
6、解释器时虚拟机的一个重要的组成部分
7、Java语言要经过编译和解释两个阶段才能运行
10、JDK、JRE、JVM的区别联系
1、Java Development Kit:Java开发工具包,针对java开发员的产品
2、Java Runtime Environment:Java运行环境,是运行Java程序所必需的环境集合
3、Java Virtual Machine:Java虚拟机,解释运行Java字节码文件,跨平台的核心
4、联系:JDK包含JRE,JRE包含JVM
11、注释
1、// 单行注释
2、/* ... */ 多行注释
3、/** ... */ 文档注释,文档中包含了一些说明性文字以及一些Java DOC标签,后期可生成项目的API
4、java doc命令:可以让.java文件自动生成一个网页形式的说明文档,在生成过程中,只显示文档注释
12、print()、println()
1、print():不换行打印输出
2、println():换行打印输出
13、面向对象的语言:Java、C++、C#
14、Java关键字(保留字)
Java关键字是Java保留供内部使用的,被Java语言赋予了特殊含义的单词
15、标识符
1、用来给类、变量、常量、方法、类/接口、包进行命名的
2、规则:
2.1、必须以字母、下划线、美元符号$开头
2.2、其余部分可以是字母、下划线、美元符号$和数字的任意组合
2.3、Java标识符大小写敏感,且长度无限制
2.4、不可以是Java关键字
3、针对不同的类型,设置不同的标识符
3.1、变量:如果由一个单词组成,必须全部小写
如果由多个单词组成,从第二个字母开始,首字母大写(驼峰命名)
3.2、常量:名称必须全部大写
在数据类型前面加final
如果由多个单词组成,每个单词中间使用下划线
3.3、类名和接口名称:如果由一个单词组成,首字母必须大写
如果由多个单词组成,每个单词首字母都大写
3.4、方法的命名规则和变量名的命名规则一样
3.5、包名称:字母全部小写,且最少3层
例如:com.baidu.project.模块名.子模块名.包名
3.6、可以用中文命名,但是不建议
16、变量
1、变量含义:在JVM内存中,有一定的操作空间,并且有一定的初始化值。
本质上就是“一个可操作的存储空间”
2、Java是强类型语言,JS是弱类型语言(所有类型都用var)
强弱类型语言的区分就看语言中是否有丰富的数据类型
3、格式:数据类型 变量名称 = 初始化值;
变形结构:
3.1、先声明再赋值
数据类型 变量名称;
变量名称 = 初始化值;
3.2、多个相同类型的变量组合起来一起编辑
数据类型 变量名称 = 初始化值, 变量名称 = 初始化值...;
4、注意事项
4.1、变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域;
4.2、变量在使用之前必须先声明,只有声明之后,才能为其分配相应长度的存储空间
4.3、针对同一作用域,不允许重复定义相同的变量
17、常量
1、常量通常指的是一个固定的值
2、格式:final 数据类型 常量名称 = 常量值;
3、特点:必须使用final关键字进行修饰;名称全部大写,多个单词用下划线连接;
4、分类:
字符常量:1, 2, 3, "张"
符号常量:final double PI = 3.1415;
5、Java中有个专门负责数学计算的类:Math
调用圆周率:Math.PI
18、Java的数据类型
1、数据类型
基本数据类型
数值型
整数类型
byte:1字节、short:2字节、int:4字节、long:8字节
浮点数型
float:4字节、double:8字节
字符型
char:2字节
布尔型
boolean:1位
引用数据类型
类:class
接口:interface
数组:array
2、引用数据类型的大小统一为4字节,记录的是其引用对象的地址值
3、整数类型:没有小数部分的值,可以是负数
3.1、Java语言中,整型常量的四种表现形式
3.1.1、二进制:以0b或0B开头
3.1.2、十进制:99, 555, 0, -100
3.1.3、八进制:要求以o开头,并且数据不能超过7
3.1.4、十六进制:以Ox或者ox开头,同时数字包括0~9,字母A~F(10~15)
3.2、Java语言的整数常数默认为int型,声明long类型常量,可以在值后加"l"或"L"
3.3、short和byte进行计算时,先转成int类型在计算
3.4、"+="、"-="、"*="、"/="、"%=",默认左右两边类型相同
3.5、整数和整数相除,结果还是整数
4、String类型并不是基本数据类型
String类型是不可变的,对其的任何改变都是返回一个新的String类对象
String对象是System.char对象的有序集合,用于表示字符串,其值是该有序集合的内容,并且该值是不可变的
String类就是字符序列char sequence,本质是char字符组成的数组
基本数据类型只表示简单的数据或字符,Java虚拟机为其分配数据类型实际占用的内存空间
引用基本数据类型可以是任何复杂的数据结构,仅仅是一个指向堆区中某个实例的指针
5、浮点型
5.1、单精度:float,4个字节,尾数精确到7位;
双精度:double,8个字节,尾数精确到15位
5.2、float类型赋值时需要添加后缀f/F
5.3、一个小数没有明确类型,默认为double类型
5.4、科学计数法:以E代表自然底数10,以次幂的形式来表示小数
5.5、由于整数类型和浮点类型内存结构不同,导致浮点类型的取值范围永远比整数类型的取值范围大
5.6、Java程序中使用的浮点类型默认使用十进制
5.7、小数和小数之间尽量不要比较,因为内部结构不同,容易造成精度丢失
6、字符型
6.1、char,2个字节,'字符','\u0000' ~ '\uFFFF'
6.2、转义字符:
'\b' 退格;'\n' 换行;'\r' 回车;'\t' 制表符;\ " 双引号;\ ' 单引号;\ \ 反斜杠
7、布尔类型
7.1、boolean,1位,true和false
7.2、 小数和整数之间的比较,最终结果为boolean
如果数据类型不一致,需要JVM自动转成双方的数据类型
7.3、boolean在Java语言中不能用0或1表示true或false,但是在数据库中可以这么表示
8、char和String类型的定义位置在main方法之上时,即为成员变量
char默认为\u0000, String类型默认为null