写在前面

Java优势:

  • Write Once, Run Anywhere

Java三大版本

  • JavaSE:标准版

  • JavaME:嵌入式开发

  • JavaEE:企业级开发

三大名词

  • JDK:Java Development Kit

  • JRE:Java Runtime Environment

  • JVM:Java Virtual Machine

JDK包含JRE,所以下载JDK就可以了,java的跨平台核心是使用了JVM

java开发环境搭建

JDK的下载与安装

配置环境变量

  • 系统变量里添加JAVA_HOME

  • 在系统变量path路径添加bin目录

  • 同样在系统变量path路径添加jre/bin目录

    Java8之后安装jdk不再提供jre的安装,可以通过命令导出:管理员身份打开cmd,切换到java安装路径,输入命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre 即可

  • 在用户变量中添加Classpath:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

  • 测试jdk安装是否成功

JDK目录介绍

  • bin:放可执行程序
  • include:java是用c和c++编写的,这里引入c语言的头文件
  • jre:java的运行环境
  • lib:放一些类库文件

HelloWorld及简单语法规则

  • 新建一个.java文件
1
2
3
4
5
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
}
  • cmd里编译和运行

Notepad++安装和使用

IDEA安装

vscode虽然说对java已经很好的支持了,某些功能还是不尽人意,毕竟idea才是开发java的神器,对于java开发的功能可以说都有,市场占有率超过65%。

java基础语法

注释

  • 单行注释:// 注释
  • 多行注释:/ 注释 /
  • 文档注释: /* 注释 /

书写注释是一个非常好的习惯,特别在BAT大厂里

标识符

  • 类名、变量名以及方法名。

  • 标识符开头以字母(A-Z或者a-z)、美元符($)和下划线(_)组成

  • 大小写敏感
  • 可以使用中文

数据类型

  • 强类型语言:对于变量使用要求比较严格,所有变量必须先定义后才能使用
  • 弱类型语言:随时定义和使用,javascript、python都是

  • 基本类型

    • 数值类型
      • 整数类型
        • byte 1个字节范围-128-127
        • short 2个字节范围-32768-32767
        • int 4个字节范围21亿左右
        • long 8个字节范围
      • 浮点类型
        • float 4个字节范围
        • double 8个字节范围
      • 字符类型
        • char 2个字节
    • boolean类型
      • True 占一位
      • False

八大基本数据类型,这里基本类型和c语言基本没看出差别,字符串不属于基本类型

  • 引用类型
    • 接口
    • 数组

类型转换

  • 优先级:byte,short,char==>int==>long==>float==>double

  • 强制转换:(类型)变量名 高==>低

  • 自动转换:低—>高

先转换类型再计算

变量

  • 变量作用域
    • 类变量:定义前加一个static,用的时候可以不用声明值,全局可用
    • 实例变量:写在方法外面,可以不赋值,全局可用,使用要new一个对象
    • 局部变量:普通的定义,必须给初始化值,只在某个方法里有用
  • 变量命名规范
    • 见名知意
    • 类成员变量:首字母小写驼峰原则 monthSalary
    • 局部变量:首字母小写驼峰原则
    • 常量:全部大写可以加下划线
    • 类名:首字母大写驼峰原则 GoodMan()
    • 方法名:首字母小写驼峰原则 runRun()

常量

  • 用final声明,用大学字母表示

    比如写个PI等于多少,后面一直用而且值不变

运算符

  • 算术运算符 + - * / % ++ —

    有long结果为long,没有long 都是int,int不能强制转成string

    乘方计算:java里不能用2^3,需要借助工具Math.pow(2,3)

  • 赋值运算符 =

  • 关系运算符 > < >= <= == !=

  • 逻辑运算符 && || !

    && 都真为真,执行短路运算,检测到一个假后面的都不计算,值也不变

    || 有真就真

    !真变假,假变真

  • 位运算符 & | ^ ~ >> << >>>

    & 同1才是1

    | 有1就是1

    ^ 不一样就是1

    ~ 0变1,1变0

    << 左移 *2

    />> 右移 /2

  • 条件运算符 ? :

    x ? y : z

    如果x==true,结果为y,否则为z

  • 扩展赋值运算符 += -= *= /=

    字符串拼接

    • “ “+a+b,先转换成字符串再拼接
    • a+b+” “,先运算在转成字符串拼接