Java韩顺平

慢慢更新

什么是程序

程序是有序指令的集合

CMD编译执行Java文件

编译:javac 文件名.java
执行:java 文件名

文件夹地址栏 输入 CMD 弹出本文件夹命令行

Java版本

Java在1995年由SUN公司发布
gosling Java之父
目前Java属于Oracle

目前Java的两个长期支持版本:
Java 8
Java 11
Long-Term-Support (LTS)

标准版:Java SE(Standard Edition)
企业版:Java EE(Enterprise Edition)
小型版:Java ME(Micro Edition)

Java部分特性

  • 解释型和编译型语言区别:
    解释型语言:将代码翻译成机器语言
    编译型语言:将代码编译为一个独立文件, 可以直接运行

解释型:JavaScript、PHP、Java、Python
编译型:C、CPP

Java开发工具

  • 文本编辑器:
    VSC
    Sublime Text
    Vim
    Atom
  • IDE:
    JetBrains IDEA
    Eclipse
    MyEclipse

初学推荐使用文本编辑器 方便熟悉Java基本代码格式

JDK

  • JVM (Java Virtual Machine)
    一个虚拟的计算机 对于不同平台有不同的虚拟机
    Java虚拟机屏蔽了底层运行平台的差别 实现了”一次编译, 到处执行”
  • Java文件运行
    xx.java → 编译 javac → xx.class → 运行 java → 不同平台
  • JDK和JRE
    JDK(Java Development Kit) Java开发工具包
    JDK=JRE+Java开发工具[bin目录]

  • 安装JDK时 默认安装JRE
    JRE(Java Runtime Environment) Java运行环境
    JRE=JVM+Java的核心类库

  • 如果只需要运行开发好的Java程序 计算机中只需要安装JRE

  • JDK、JRE和JVM的关系
    JDK = JRE + 开发工具集
    JRE = JVM + Java SE标准类库

安装的JDK = JVM + Java SE标准类库 + 开发工具集

JDK 用于开发
JRE 用于运行

下载、安装JDK

  • 安装路径不要有中文或特殊符号
  • JRE可以选择性安装

配置环境变量

检查Java是否配置好

报错的原因:因为没有配置全局环境变量, 所以在输入指令时, 只会在DOS命令行默认文件夹中找javac编译器.

解决:
1.在java的bin文件夹中打开cmd输入javac
2.为了在任意文件夹中都能打开jdk, 所以我们需要配置Java的全局变量

配置环境变量的过程

path路径中 使用 “;”(分号)隔开不同的项目

配置多个

  • 比如把JDK8新建为”JAVA_HOME8″, JDK11新建为”JAVA_HOME11″. 同时保留”JAVA_HOME”并让”JAVA_HOME”指向”%JAVA_HOME8%” 或是 “%JAVA_HOME11%”. 在需要切换版本时, 只需要更改”%JAVA_HOME

用户变量与系统变量
用户变量:仅针对该用户
系统变量:整个电脑的所有用户都可以使用

// 演示Java的开发步骤

// 1. public class Hello 表示 这个类叫 Hello, 作为一个public公有类被创建
// 2. Hello{} 表示一个类的开始和结束
// 3. public static void main(String[] args) 表示一个主方法, 即程序的入口
// 4. main() {} 表示方法的开始和结束
// 5. System.out.println("Hello, World."); 表示换行输出双引号中的文字Hello, World. 到屏幕上
// 6. ; (引号) 表示语句结束

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World.");
    }
}
  • 此时, 仅使用文本编辑工具是无法运行代码的. 需要将 .java文件 转换为 .class文件
  • 在 .java文件 的地址栏直接输入 “javac Hello.java” 结果发现报错
  • 因为代码文件中的注释是中文, 默认的编码格式会导致报错
  • 将文本保存为GKB格式, 就可以编译了.

  • 编译好后, 输入”java Hello”即可

可以利用上下的方向键, 来回切换在DOS命令行中输入的指令

如果在运行Hello.class时, 输入”java Hello.class”编译器反而会认为想要运行的是Hello.class这个名字的类, 然而我们的java类名为Hello, 并不是Hello.class.

Java运行机制

.java 文件 → .class文件 → 输出结果
源文件 字节码文件
javac编译 → java 运行 → 输出

什么是运行

  • 如果程序出错, 就不会生成 .class 文件, 该文件为 字节码文件
  • 如果修改了 java程序 则需要生成新的 .class文件, 才能执行生效

Java 开发注意事项和细节说明

public static void main(String[] args) {}

学习方法

在使用新技术时, 首先查看能带来什么新的优势

Java转义字符

常用转义字符:

  • \t : 制表符, 对齐
  • \n : 换行符
  • \ : 一个\
  • ” : 一个”
  • \r : 一个回车
public class ChangeChar {
    public static void main(String[] args) {
        System.out.println("北\t上\t广\t深\t"); // 制表符
        System.out.println("\n"); // 换行
        System.out.println("\\\n"); // 输出\
        System.out.println("\"\n"); // 输出"
        System.out.println("C:\\Windows\\System32\\cmd.exe"); // 输出文件地址
        System.out.println("\r"); // 输出一个回车.

    }
}

一个””(字符串)的文字必须在同一行, 如果一个字符串不在同一行, 则会报错.

\r 如果输入的字符没有另起一行, 则回车后的字符会覆盖本行原来的字符;
\r\n 则能保留本行的文字, 并且另起一行输出新文字

课堂练习

public class Exercise {
    public static void main(String[] args) {
        System.out.println("书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t10");
    }
}

初学易犯错误

错误: 找不到文件: Exercse.java
用法: javac

Exercise.java:1: 错误: 类 Exercise1 是公共的, 应在名为 Exercise1.java 的文件中声明
public class Exercise1 {
^
1 个错误

Exercise.java:3: 错误: 需要’;’
System.out.println(“书名\t作者\t价格\t销量\n三国\t罗贯中\t120\t10”)
^
1 个错误

用于解释说明程序的文字. 注释提高了代码的可读性;
注释是一个程序员必须具有的良好习惯

/**
 *  @author turbospace
 *  @version 0.01
 */

public class Comment {
    public static void main(String[] args) {
        //单行注释
        // System.out.println("单行注释");

        /*
            多行注释
        */
    }
}

`cmd
cmd> javadoc -d d: Program -author -version Comment.java

注意:

  • 被注释的文字会被JVM忽略
  • 多行注释不允许嵌套多行注释

Comment.java:10: 错误: 非法的表达式开始

代码规范

public class EndOfLine {
   public static void main(String[] args){

   }
}

DOS命令

Dos:Disk Operating System 磁盘操作系统.

相对路径 与 绝对路径

  • 相对路径:以当前文件所在的目录为参照,链接到目标文件资源(或文件夹)的路径
  • 例 ../Program/JavaVsc
  • 绝对路径:目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
  • 例 D:/Program/JavaVsc

常用dos命令:

文件夹 = 目录

/**
 *  @Author turbospace
 */

public class Homework{
    public static void main(String[] args) {
        // 1.编写 Hello, World 程序
        System.out.println("Hello, World.");

        //2.将个人基本信息打印到命令台上输出, 各条信息分别占一行
        System.out.println("姓名\t性别\t住址\n胡图图\t男\t翻斗大街翻斗花园二号楼1001室");

        /* 3.JDK, JRE, JVM 的关系
            JDK:JRE + Java 开发工具
            JRE:JVM + 核心类库
            JVM:Java虚拟机
         */

        /*  4.环境变量 path 的配置及其作用
            此电脑→右键属性→高级系统设置→环境变量→用户变量/系统变量

            JAVA_HOME:指向Java的根目录
            path:%JAVA_HOME%\bin

            % 表示引用. 属于相对引用
            相对引用的优势:当JDK目录地址变动时, 无需更改path中引用的地址, 直接更改JAVA_HOME中的地址即可

            用户变量:仅当前用户可以使用
            系统变量:此计算机下的所有用户都可以使用

            path 配置环境变量, 是为了便于在任何目录下都能使用 JDK 编译和运行程序
         */

        /*  5.Java 编写的步骤
                1.编写java的源代码
                2.javac 编译, 得到对应的 .class 字节码文件
                3.java运行, 本质就是将 .class 文件 加载到 JVM 中运行
         */

        /*  6.Java 编写的 7 个规范
                1. 类、方法的注释, 使用 javadoc 的方式
                2. 非 javadoc 的注释 是对代码的说明 (即给程序之后的维护使用) 说明代码的业务逻辑和思路
                3. 使用 tab 规范代码格式
                4. 运算符 和 = 两边要习惯性两边加上空格
                5. 源文件使用 UTF-8 编码
                6. 行宽字符不要超过 80 字符
                7. 代码编程的风格 次行风格 和 行尾风格
         */

        /*  7.初学Java的易犯错误
                1. 编译或运行 找不到文件. 找对文件名
                2. 主类名和文件夹名称不一致
                3. 语句缺少 ;
                4. 拼写错误:常见关键词拼错 字母混淆

         */
    }
}

为什么需要变量

  • 变量是程序的基本组成单位

不论是使用哪种高级程序语言编写程序, 变量都是其程序的基本组成单位

class Test {
   public static void main(String[] args) {
      int a = 1;  //定义一个名为 a 的 int 类型的变量, 并值初始化为1
      int b = 3;  //定义一个名为 b 的 int 类型的变量, 并值初始化为3
      b = 89;     //将 值89 赋给 变量b
      System.out.println(a);
      System.out.println(b);
   }
}

变量有三个基本要素:类型、名称、值
定义变量→在内存中分配空间, 变量名指向这个内存空间

变量的介绍

  • 概念:变量相当于内存汇总一个数据存储空间的表示
  • 使用基本步骤
  • 声明变量
  • 赋值
  • 使用

变量的使用注意事项

加号使用

每一种数据都定义了明确的数据类型, 在内存中分配了不同大小的内存空间

  • 基本数据类型
  • 数值型
    • 整数类型:(byte[1], short[2], int[4], long[8])
    • 浮点类型:(float[4], double[8])
  • 字符型(char), 存放单个字符
  • 布尔型(boolean). true, false
  • 引用数据类型
  • 类(class)
  • 接口(interface)
  • 数组( [] )

说明

整数类型

Java的整数类型用于存放整数值

类型 占用空间 范围 byte 1B -128~127 short 2B -32768~32767 int 4B -2147483648~2147483647 long 8B -263~263-1

1字节 = 2^8 = 256
11111111~01111111
负数可以8位均为1为 -128(11111111)
正数不能8位均为1为 127(01111111)
因为最左侧1和0为符号位
最高位 0表示正, 1表示负

整型使用细节

浮点类型

Java的浮点类型可以表示一个小数

分类:

类型 占用空间 范围 float 4B -3.403E38 ~ 3.403E38 double 8B -1.798E308 ~ 1.798E308

说明

浮点使用细节

Original: https://www.cnblogs.com/turbospace/p/16694527.html
Author: 鲲特牌
Title: Java韩顺平

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/599117/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球