《Java 核心技术·卷I (第11版)》笔记

第1章 Java程序设计概述

第1章概述Java与其他程序设计语言不同的功能。解释这种语言的设计初衷,以及在哪些方面达到了预期。然后,简要叙述Java诞生和发展的历史。

1.1 Java程序设计平台

Java是一个完整的平台,有一个庞大的库,以及一个提供诸如安全性、跨操作系统的可移植性以及自动垃圾收集等服务的执行环境。

1.2 Java “白皮书” 的关键术语

1.2.1 简单性

Java语法是C++语法的一个“纯净”版本。

1.2.2 面向对象

面向对象设计。

1.2.3 分布式

Java程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

1.2.4 健壮性

Java非常强调进行早期的问题检测(编译检测),以及后期动态的(运行时)检测。

1.2.5 安全性

从一开始,Java就设计成能够防范各种攻击,其中包括:

  • 运行时堆栈溢出。
  • 破坏自己的进程空间之外的内存。
  • 未经授权读取问文件。

1.2.6 体系结构中立

编译器生成一个体系结构中立的目标文件格式(.class),只要有Java运行时系统,这些编译后的代码就可以在许多处理器上运行。
精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态转换成本地机器码。
当然,解释型虚拟机指令肯定会比全速运行机器指令慢很多。不过,虚拟机可以将执行最频繁的字节码序列转换成机器码,这一过程称谓即时编译。

1.2.7 可移植性

Java中的基本类型,有固定的字节数,这消除了代码移植时的主要问题,字符串采用标准的Unicode格式存储。
Java类库也能很好的支持平台独立性。
Java API 往往也比原生的API质量更高。

1.2.8 解释型

Java 9 提供了jshell工具支持快捷的编程。

1.2.9 高性能

即时编译器可以监控哪些代码频繁执行,并优化这些代码以提高速度。可以与传统的编译器相媲美,甚至超过。

1.2.10 多线程

多线程可以带来更快的交互响应和实时行为。

1.2.11 动态性

从很多方面看,Java与C或C++相比更加具有动态性,它能够适应不断发展的环境。

1.3 Java applet 与 Internet

用户从Internet下载Java字节码,并在自己的机器上运行。在网页中运行的Java程序称为applet。

1.4 Java 发展简史

不管是一门编程语言、还是一个人的的成功史都不是那么容易的!
在这里插入图片描述

1.5 关于Java的常见误解

  1. Java将成为适用于所有平台的通用性编程语言:
    Java在服务器端编程和跨平台客户端应用领域有优势,某些领域其他语言有更出色的表现。
  2. Java是解释型的,因此对于关键性的应用程序速度太慢了:
    Java虚拟机有了即时编译器,可以与c++相媲美了。
  3. JavaScript和Java的关系:
    毫无关系。

第2章 Java程序设计环境

2.1 安装Java开发工具包

2.1.1 下载JDK

在下载前,先弄清楚Java术语:
在这里插入图片描述
在这里插入图片描述

  1. JDK和SDK是一样的,只不过SDK是Java早些版本用的称呼
  2. Java 2是为了突出JDK 1.2版本的重大改进,叫了这个名字。
  3. Java 9 之前有32位和64位两个版本,现在Oracle公司不再开发32位版本了。

官网下载路径: Oracle官网下载地址

我这里下载的是windows版的JDK 21,免安装版本。
在这里插入图片描述
将其解压到一个本地目录下,注意路径中最好不要带中文。
在这里插入图片描述

2.1.2 设置JDK

下载好后,需要将D:\software\green\jdk-21.0.1\bin添加到可执行路径中,可执行路径是操作系统查找可执行文件时所遍历的目录列表。

  • 第一步:右键 我的电脑-属性-高级系统设置-环境变量-新建系统环境变量-设置变量名、变量值

在这里插入图片描述

  • 第二步 打开Path变量,将刚刚新建的JAVA_HOME变量名添加进去

在这里插入图片描述

  • 第三步:测试下是否配置成功,win+r 输入cmd打开命令行,输入java --version命令,回车,出现JDK的版本信息说明配置成功。

在这里插入图片描述

2.1.3 安装库源文件和文档

JDK的源码文件在lib目录下,解压即可查看。
在这里插入图片描述
API文档查看:添加链接描述

在这里插入图片描述

2.2 使用命令行工具

在不使用集成开发环境之前,先试着在在命令行,编译、执行Java程序。

  1. 首先创建一个``.java`文本文件,文件内容是:
public class Test{
	public static void main(String[] args){
		System.out.println("hello world!");
	}
}

在这里插入图片描述
这个.java文件就是源文件。
2. 在源文件处,打开命令行
可以 shift + 右键 打开power shell,也可以用win + r 输入cmd进入命令行 再移动到源文件处。
在这里插入图片描述
3. 在命令行窗口,输入javac Test.java命令,将刚才创建的源文件编译成.class文件。
执行成功会发现多了一个.class文件,也叫做字节码文件,这个字节码文件就是Java虚拟机执行时需要的文件。

在这里插入图片描述
4. 编译成功后,执行命令java Test,就运行了一个程序,可以看到打印了一行"hello world!"
在这里插入图片描述

2.3 使用集成开发环境

使用命令行非常不方便,日常工作还是使用集成开发环境,如 Eclipse、IDEA、VS等等。
我现在使用的是IDEA:
添加链接描述
它有免费的社区版本,学习时使用完全够了。
收费的 Ultimate版本,功能更强大,如果你是学生、老师有购买优惠。
希望大家支持正版软件。

2.4 JShell

Java 9 提供了JShell工具,可以直接在命令行中编写、执行代码。不用在新建.java文件、编译、执行了。更加方便了,不够感觉没啥用。

第3章 Java的基本程序设计结构

之后练习的代码,我会上传到我在Gitee上的仓库 添加链接描述 。如果有需要,可以在评论留言,我将你添加为仓库成员。

3.1 一个简单的Java应用程序

package com.xin.tech.chapter1;

/**
 * 这是一个简单的Java程序
 *
 * @author: zhx
 * @since: 2023/12/515:25
 */
// public 是访问修饰符,访问修饰符的作用就是控制其他部分对这段代码的访问权限,Java中共有四种:public protected 空 private
// class 表明这个文件是一个类,在Java中全部的代码都在一个个类中
// Demo01 是自定义的类名,注意类名和文件名要保持一致,Java中自定义的变量名(类名、成员变量、局部变量)可以由字母、数字、下滑线、$组成,但注意类名只能是字母开头,成员变量和局部变量不能以数字开头
// Java命名需要遵守驼峰命名格式
// 注意Java的书写规范,严格区分大小写。
public class Demo01 {

    // main函数是Java程序的入口函数
    // {}一对大括号括起来的内容被称为一个代码块
    public static void main(String[] args) {
        // 这行代码的作用是向控制台窗口打印 "hello world"
        // System是java.lang包下的一个类,java.lang包中的类是默认导入的,无需import可以直接引用
        // out是System类中的一个常量,数据类型是PrintStream
        // println()是PrintStream中的一个方法, 这里通过对象名out.println("")调用
        System.out.println("hello world!");

        // 如果Java程序正常退出,虽然main函数void标注 但会返回0;
    }
}

Java - 访问修饰符 详解

3.2 注释

    // Java中注释有三种:
    // 1.单行注释   //注释内容
    // 2.多行注释   /*注释内容*/
    // 3.文档注释   /**注释内容*/

3.3 数据类型

3.1

3.1

3.1

3.1

3.1

3.1

3.1

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值