一、Java简述

1. Java历史

  • Java是美国Sun公司在1995年推出的一门计算机高级编程语言(更接近人类自然语言)。

  • 它初期叫做Oak(橡树),但是注册商标的时候发现已经有人注册了,后来就改成 Java (印度尼西亚爪哇岛)。

  • Java之父:詹姆斯·高斯林 (James Gosling)

  • 在2009年,Sun公司被Oracle甲骨文以74亿美元收购,这就意味着Java属于Oracle了。

image

2. 为什么要使用Java?

  • 世界上最流行的编程语言之一,在国内使用最为广泛的编程语言。

  • 可移植性(跨平台)、安全可靠、性能较好。

  • 开发社区最完善、功能最丰富。

image

3. Java能做什么?

  • 桌面端应用开发,例如 Eclipse、IDEA等等

  • 移动端应用开发,例如 Android、医疗设备等

  • 大数据开发,例如 Hadoop

  • 企业级应用开发,例如 微服务、大型互联网应用(京东、天猫等)

  • 游戏开发,例如 我的世界

  • 物联网(用python或者c/c++用的多)

  • 爬虫

4. Java的技术体系


Java SE(Java Standard Edition):Java标准版,Java技术的基础与核心。

Java EE(Java Enterprise Ediiton):Java企业版,企业级应用开发的一套解决方案。

Java ME(Java Micro Edition)Java小型版,针对移动设备应用的解决方案。

Java主要擅长分布式系统开发、大数据开发、Android应用开发三个方向,学好Java有饭吃;

根据市场的就业形势,一般人都会选择分布式系统开发(Web应用开发),然后积累2-3年以上工作经验以后可以转向大数据开发方向。

二、Java环境搭建

1. JDK

JDK(Java开发工具包)是学Java的第一步,不管是学习Java编程,还是要搭建JavaWeb开发环境,或者是搞Android开发环境都离不开它。

1.1 JDK介绍

  • JDK (Java Development Kit) Java开发工具包,JDK包含Java开发工具(javac,java,javadoc,jar等)以及JRE
  • JRE (Java Runtime Environment) Java运行环境,JRE包含了开发Java程序时需要的核心类库(时间日期、集合、并发、IO、网络、反射等) 和 JVM(Java虚拟机,真正运行Java程序的地方);

image

image

JDK的发展史:

image

  • LTS(long-term support):长期支持版,有JDK8、JDK11、JDK17。
  • 2004年9月发布了JDK5,之后所有的新版本都以JDK xxx方式命名,新增了自动装箱、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环);改进了Java的内存模型(Java Memory Model,JMM);提供了java.util.concurrent并发包;Windows 9x操作系统的最后一个JDK版本。
  • 2014年3月发布了JDK8,新增了Lambda表达式、函数式接口、新的日期时间API、Stream流等等;内置Nashorn JavaScript、彻底移除HotSpot的永久代。
  • 2018年9月发布了JDk11,技术:ZGC革命性的垃圾收集器、将类型推断加入Lambda语法。

1.2 下载JDK

本文以JDK17下载为例

下载地址:https://www.oracle.com/java/

Java历史版本下载地址:https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html

image

image

下载成功后本地会出现一个jdk-17_windows-x64_bin.exe文件。

image

1.3 安装JDK17

1、双击JDK的安装包(如:jdk-17_windows-x64_bin.exe),进入安装界面,然后一直下一步即可。

image

2、设置JDK安装路径

image

image

注:JDK17没有安装JRE环节,而且新版JDK会自动配置PATH变量(但是不能满足我们使用,需要手动配置一下)。

JDK目录结构:

image

  • bin目录 :包含一些用于开发Java程序的工具(如 javac.exe、java.exe、javap.exe、jar.exe等)。
  • conf 目录:里面存放一些配置文件 。
  • include目录:存放一些平台特定的头文件。
  • jmods目录:存放各种模块。
  • legal目录:存放各种模块的授权文档。
  • lib目录:包含开发Java程序所使用的类库文件。

1.4 配置环境变量

鼠标右键 “我的电脑”—>“属性”—>“高级”—>“环境变量”。

1、新建一个系统变量

image

变量名:  JAVA_HOME
变量值:  D:\Program Files\Environment\Java\jdk-17.0.4.1(jdk所在目录)

为什么需要配置JAVA_HOME?

  • JAVA_HOME本质就是JDK的绝对路径D:\Program Files\Environment\Java\jdk1.8.0_201,方便在命令行窗口的任意目录启动程序。
  • 后期Java开发会使用很多工具和组件(比如 Tomcat、Maven、Jmeter等),他们会依赖这个JAVA_HOME目录,如果没有的话这些程序会无法运行。

2、然后将%JAVA_HOME%\bin 填加到系统变量的Path变量中。

image

%JAVA_HOME%\bin

之后一直点【确定】来保存我们的配置。

3、查看是否配置成功

按快捷键win+r打开运行窗口,然后输入cmd并回车打开指令控制台:

image

在命令提示符窗口中输入javac -version或者java -version:

image

ok出现上述结果,表示我们已经配置成功了。

windows命令行常用命令:

cls     # 清屏
盘符:    # 盘符后面加冒号,功能:切换盘符
cd      # 切换目录
dir     # 查看当前目录下有哪些文件和文件夹

1.5 卸载JDK

JDK和我们日常用的软件卸载方式类似,卸载后删除文件和环境变量即可。

image

image

1.6 编写第一个Java程序


开发Java程序的三个步骤:编写代码、编译代码、运行代码。

image

1、开启系统扩展名

image

2、在桌面空白处新建一个文本文档文件,并命名为:HelloWord.java。

image

3、编辑文本文件:(并保证类名与文件名一致)

public class HelloWord {
    //main方法是程序执行的入口
	public static void main(String[] args){
		System.out.println("hello Java!!!");
	}
}

4、Ctrl + S保存文件

5、按快捷键win+r然后输入cmd回车打开命令行窗口

6、javac (java文件的绝对路径 ) 编译 ,例如:javac HelloWord.java

7、会在原java文件的位置生成一个HelloWorld.class (字节码文件)

8、 java xxx (执行目标文件) ,例如:java HelloWorld

执行过程:Hello.java(源文件) -javac.exe(编译器)-> Hello.class字节码文件 -java.exe(执行/翻译)-> JVM(java虚拟机) -(解释成机器码并运行) –> 操作系统。

1.7 Java 的跨平台、工作原理


跨平台:一次编译、到处运行。

原理:Java 源代码经过编译会生成字节码文件,最后由JVM(Java 虚拟机)来运行,JDK为我们针对不同操作系统平台提供了不同的Java虚拟机,所以Java程序借助JVM 实现跨平台。

image

2. IntelliJ IDEA


IDEA(全称:IntelliJ IDEA)是 JetBrains 公司的产品,IntelliJ IDEA 在业界被公认为最好用的 Java 集成开发工具,结合智能编码辅助与符合人体工程学的设计,让开发不仅高效,更成为一种享受。

IDEA相关教程:https://blog.csdn.net/qq_46921028/article/details/124209921

image

在IDEA中开发流程:

  • 创建一个空工程、项目(project)。
  • 创建模块(module)。
  • 创建包(package)。
  • 创建类(class)。

IDEA常用快捷键:

快捷键 功能效果
main/psvm、sout、… 快速键入相关代码
Ctrl + D 复制当前行数据到下一行
Ctrl + Y 删除所在行,建议用Ctrl + X
Ctrl + ALT + L 格式化代码
ALT + SHIFT + ↑ , ALT + SHIFT + ↓ 上下移动当前代码
Shift + Enter 光标在当前行的任意位置换行
Ctrl + / , Ctrl + Shift + / 对代码进行注释(讲注释的时候再说)

三、Java基础语法

1. 注释


注释用来对代码进行解释说明,被注释的内容会被编译器忽略掉。

Java中注释有三种写法:单行注释、多行注释、文档注释

// 单行注释    快捷键:ctrl + /

/*多行注释*/    多行注释也可以写在方法的参数列表中 ,  快捷键:ctrl + shift + /

/**
  文档注释
 */

image

查看编译后的class字节码文件(发现注释已经被被编译器忽略掉了):

image

2. 变量


1、字面量

在Java程序中直接写出来的数据叫字面量/常量/直接量。

字面量的作用:告诉我们常见数据在程序中的书写格式。

字面量分类:

常用数据 生活中的数据 程序中的写法 说明
整数 -128,127 -128,127 写法一致
小数 3.14,2.718 3.14,2.718 写法一致
字符 男,女,可 ‘男’,’女’,’可’ 程序中必须使用单引号,有且仅能一个字符
字符串 HelloWorld “HelloWorld” 程序中必须使用双引号,内容可有可无
布尔 真、假 true、false 只有两个值: true:代表真,false: 代表假
空值 值是:null 一个特殊的值,空值
package com.baidou.literal;

/**
 * 字面量的使用(告诉数据在程序中的书写格式)
 *
 * @author 白豆五
 * @version 2022/10/17 17:06
 * @since JDK17
 */
public class LiteralDemo {
    public static void main(String[] args) {
        // 1、整数
        System.out.println(100);

        // 2、小数
        System.out.println(3.14);

        // 3、字符  (要求:英文单引号,有且只有一个字符)
        System.out.println('男');
        // 转义字符:\n  换行
        //         \t  制表位,相当于一个tab缩进
        System.out.println('\n'); //换行
        System.out.println('a');

        // 4、字符串
        System.out.println("good good study\n" +
                "day day up");

        // 5、空值
        // System.out.println(null); //不能直接输出

        // 6、布尔
        System.out.println(false);
        System.out.println(true);
    }
}

image

2、变量

  • 变量可以理解为存储数据的容器,它里面存储的数据是可以变化的。

  • 使用的时候,系统会自动为变量在内存中开辟一个区域,然后我们只需要通过变量名就可以获取它里面的数据啦。

3、变量定义的格式

  • 数据类型 变量名称 = 初始值;
  • 数据类型:强制限制盒子中存储数据的形式。例如: int ( 整数类型)、double(小数类型)等
  • 变量名称:取名字(首字母小写),之后通过变量名我们可以访问它对应的数据。
  • 初始值:存的初始数据。
package com.baidou.variable;
/**
 * 变量的定义与使用
 *
 * @author 白豆五
 * @version 2022/10/17 17:52
 * @since JDK17
 */
public class VariableDemo {
    public static void main(String[] args) {
        // 定义整数变量
        int age = 19;
        System.out.println(age);
        age = 11;
        System.out.println(age);
        age = age - 7;
        System.out.println(age);

        System.out.println("===========");


        // 模拟收红包和发红包
        // 定义红包金额
        double money = 100;
        // 转账
        money = money - 5.2;
        System.out.println("转账后剩余:" + money);
        // 收款
        money = money + 50.2;
        System.out.println("收款后剩余:" + money);
    }
}

image

4、变量使用的注意事项

  • 变量要先声明再使用
  • 同一个作用域范围内的变量不能重复定义;
  • 变量只能在定义的作用域范围内使用;
  • 什么类型的变量只能存储什么类型的数据
  • 变量定义的时候可以没有初始值,但是使用的时候必须给初始值。

5、按照声明的位置不同,变量可分为两种:

  • 在类内方法体外声明的变量叫做成员变量(也叫做属性);
  • 在方法体内声明的变量叫做局部变量

6、常见的计算机信息存储单位

  • 位(bit) 计算机信息存储最小单位,位只有两种形式0和1(因为计算机只有高低电压两种状态,所以就用0和1表示)
  • 字节(Byte) 计算机的基本存储单位,1个字节是由8个比特位组成的, 1Byte=8bit (也叫做比特/比特位)
  • 千字节(KB) 1KB=1024B
  • 兆字节(MB)1MB=1024KB
  • 吉字节(GB) 1GB=1024MB
  • 太字节(TB) 1TB=1024GB

3. 关键字、保留字、标识符

3.1 关键字


  • 关键字就是被Java语言赋予了特殊的含义,用作特殊用途的单词。(是程序员和编译器的一个约定)
  • 关键字的特点就是单词都是小写字母。

Java关键字介绍:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

image-20221018063323309

3.2 保留字


保留字就是现有Java版本尚未使用,但是可能以后的版本会作为关键字使用,例如 constgoto就是Java语言中的保留字。

3.3 标识符


标识符:在写Java程序的时候凡是需要取名字的地方就是标识符。

如:项目名、包名、类名(如类名、接口名、枚举名、注解名)、方法名、变量名和常量名。

标识符的命名规则

  • 标识符由字母、数字、下划线_、美元符$、中文字符组成。
  • 不能用数字开头,推荐以字母开头。
  • 不能把java关键字和保留字作为标识符。如:break、case、if、char、int、for等等
  • 标识符对大小写敏感。
  • 各操作系统存在文件名长度限制。 (名字不要取太长)

一些常用规范

  • 项目、包:小写。
  • 类、抽象类、接口、注解:大驼峰命名法,如HelloWorld、@Data。
  • 变量、方法:小驼峰命名法 ,如 userName、getUserName()。
  • 常量、枚举:大写(多个单词之间用下划线_分割),如 USER_SESSION;

扩展:内存与硬盘

  • 内存是由内存芯片、电路板、金手指等部分组成的。

  • 内存存储临时数据(断电数据就会消失),硬盘存储长期数据。

  • 硬盘便宜,内存较贵。

  • 硬盘存储速度慢,内存存储速度快。

「突发小技巧」如果你的笔记本受卡槽的限制、或者主板镶嵌的原因无法扩展内存,可以通过修改虚拟内存手段来缓解部分内存压力。(缺点:容易损伤硬盘)

版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/m987/p/16801290.html