计算机是一种现代化的电子设备,它能够接受、存储、处理和输出数据。计算机由硬件和软件两部分组成,硬件包括中央处理器(CPU)、内存、硬盘、显示器、键盘、鼠标等部件,软件则包括系统软件和应用软件。计算机可以进行各种操作,如文字处理、图形设计、音视频播放、游戏等,并且可以通过网络连接进行通信和数据交换。计算机技术的发展对人类社会的影响非常深远,它已经成为现代化社会中不可或缺的一部分。
硬件是计算机系统的物理部分,主要包括以下组件:
还有其他硬件组件,如声卡、网卡、显卡、光驱、散热器等。这些硬件组件共同工作,使计算机能够完成各种任务。
计算机性能主要由以下几个部件决定:
这些部件共同工作,决定着计算机的性能和稳定性。
通常计算机软件可以分为系统软件和应用软件两类:
常见的操作系统:
常见的应用软件:
硬件、系统软件、应用软件的关系
计算机程序是一系列指令和规则的集合,用于指导计算机执行特定任务或完成特定操作。它通常由计算机语言编写而成。计算机程序可以完成各种任务,包括数据处理、图形处理、网络通信、游戏开发等。
假设你想要在一家餐厅里点餐。餐厅的服务员会把你的点餐信息输入到一个电脑程序中,这个程序会根据你的点餐内容计算出需要支付的费用。这个程序可能包括计算价格的算法、存储菜单信息的数据库以及界面设计等多个部分。当服务员输入你的点餐信息后,程序会自动计算出总费用,并显示在屏幕上。这个程序就是一个计算机程序的实例。
计算机语言是人与计算机之间进行交流的方式,它是一种特定的符号系统,用于编写计算机程序。计算机语言可以分为高级语言和低级语言两种。高级语言是人类易于理解的语言,例如C、Java、Python等,而低级语言则是计算机易于理解的语言,例如汇编语言和机器语言。
计算机语言发展史可以追溯到20世纪50年代,随着计算机技术的发展,人们开始研究如何编写更高效、更易于理解的计算机程序。以下是计算机语言发展的主要里程碑:
Java是一种面向对象的编程语言(Java底层是C++语言实现的),由Sun Microsystems公司于1995年推出。它是一种通用的、高级的、并发性强的、安全的、可移植的、解释性的、编译性的、动态的、跨平台的编程语言。Sun Microsystems公司于2010年1月被甲骨文(Oracle)公司以74亿美元的价格收购。甲骨文公司成为了Java语言的主要维护者和开发者之一。
Java之父:Java之父指的是詹姆斯·高斯林(James Gosling),他是Java编程语言的发明者之一。高斯林在20世纪80年代末和90年代初,与Sun Microsystems公司的一些工程师一起开发了Java语言。高斯林出生于加拿大,1983年获得了卡尔加里大学的计算机科学博士学位。之后,他加入了Sun Microsystems公司,开始从事编程语言方面的研究工作。在Sun公司,他领导了一支团队,致力于开发一种新的编程语言,这就是后来的Java语言。Java语言的设计初衷是为了解决跨平台编程的问题。在Java语言的设计中,高斯林和他的团队引入了许多新的概念和技术,如虚拟机、垃圾回收、面向对象编程等,这些技术极大地改进了编程语言的性能和可用性。高斯林在Java语言的发明和推广过程中,发挥了非常重要的作用。他不仅是Java语言的设计者之一,而且还是Java社区的重要领袖和推动者。他一直致力于推广Java技术,帮助Java社区不断发展壮大。
Java的名字有一个有趣的历史背景。在1990年代初,SUN公司的研发团队正在开发一种新的软件平台,该平台可以在各种不同的计算机系统上运行,并且能够处理各种多媒体文件。这种平台最初被称为“Oak”,以纪念SUN公司的首席科学家James Gosling喜欢的一棵橡树。
然而,在1995年,SUN公司发现该名称已经被一家电视机制造商使用了,因此他们需要一个新的名称。SUN公司的营销团队进行了一系列的市场调研,他们最终选择了Java这个名字。Java这个名字来源于印度尼西亚的爪哇岛,因为该岛是印度尼西亚咖啡的主产区。SUN公司的营销团队认为这个名字可以带来一些独特的品牌价值,并且可以与咖啡文化相关联,因此他们决定将这个名字用于新的软件平台。
Java的logo同样也是一杯冒着热气的咖啡:
Java语言的发展历程中的重要事件:
Java的三大分支:
Java的三大分支之间存在一定的关系,可以简单概括为:
总之,Java SE是Java的基础,Java EE和Java ME都是在Java SE的基础上进行扩展和定制,用于不同领域的应用程序开发。
Java语言的特点包括:
总之,Java语言是一种强大的、易学的、安全的、跨平台的编程语言,它在企业级应用开发、Web应用开发、移动应用开发和嵌入式系统开发等领域都有广泛的应用。
以下是详细的步骤:
在Oracle官网下载JDK17的安装文件,根据操作系统版本和位数,选择相应的安装文件进行下载。
双击下载的安装文件,启动安装程序。在弹出的安装程序窗口中,点击“Next”按钮,开始安装。
在弹出的“Custom Setup”窗口中,选择JDK17的安装路径。建议选择默认路径,也可以根据需要进行自定义路径设置。点击“Next”按钮继续。
在弹出的“Custom Setup”窗口中,选择需要安装的组件。建议选择全部组件,以确保安装的完整性。点击“Next”按钮继续。
在弹出的“Ready to Install”窗口中,点击“Install”按钮,开始安装。安装程序会自动完成安装,需要等待一段时间。
在安装完成后,需要将JDK17的安装路径添加到环境变量中,使其可以被系统识别。具体操作步骤如下:
打开命令行窗口,输入“java -version”命令,如果输出JDK17的版本信息,则安装成功。如果未能输出版本信息,则需要重新检查环境变量的设置是否正确。
以下是详细的步骤:
如果你的macOS上曾经安装过JDK其他版本,如果你想让系统默认使用你安装的最新的JDK17,你还需要按照以下步骤设置环境变量JAVA_HOME
/usr/libexec/java_home -v 17
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
sudo vim ~/.bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
重点:在 ~/.bash_profile 文件中添加以上内容后,按ESC键,输入:wq,保存退出。
source ~/.bash_profile
echo $JAVA_HOME
如果输出的路径与步骤2中复制的路径一致,则说明配置成功。
在任意位置新建HelloWorld.java文件,注意:必须确保该文件的扩展名是:.java,然后使用任意一个文本编辑器打开并编写如下代码。代码要严格照抄,包括大小写、换行、缩进等,总之,要和以下代码一模一样:
public class HelloWorld {
public static void main(String[] args){
System.out.println("动力节点始于2009,一家只教授Java的培训机构");
}
}
使用javac命令进行编译。javac命令是Java编译器命令,用于将Java源代码文件编译成Java字节码文件。下面是javac命令的详细用法:
基本用法:
javac [options] [source files]
其中,[options]
表示编译选项,[source files]
表示要编译的Java源代码文件。
常用选项(以下选项对于初学者来说只要了解一下 -d 即可,其他选项以后再说):
-classpath
:指定类路径,多个路径之间用分号(Windows)或冒号(Unix/Linux/Mac)分隔。-d
:指定输出目录,编译后的字节码文件将保存在该目录下。-verbose
:显示编译详细信息。-nowarn
:禁用警告信息。-source
:指定源代码版本,例如1.8。-target
:指定生成的字节码版本,例如1.8。-help
:显示帮助信息。要点:javac命令后面跟的是java源文件的路径。路径可以是绝对路径,也可以是相对路径。
编译成功后会生成.class字节码文件。
这里有一个非常重要的步骤:首先在DOS命令窗口中将路径切换到class文件所在位置。这一步非常关键。
然后执行以下命令:
java 类名
运行Java程序需要使用的命令是:java
java命令怎么用?java命令后面跟的是“类名”,而不是文件的路径。
什么是类名:A.class则类名为A;B.class则类名为B;HelloWorld.class则类名为HelloWorld
运行成功后,会打印这样一句话:动力节点始于2009,一家只教授Java的培训机构
Java中的注释是用于解释和说明代码的文本,它不会被编译器编译,也不会被程序执行。注释的作用如下:
总之,注释是程序设计中的重要工具,能够提高代码的可读性和可维护性,减少程序错误。
写好注释需要一定的技巧和经验,以下是一些写好注释的技巧:
总之,写好注释需要结合实际情况,遵循规范,注重准确性和简洁性,适当使用,及时更新,有意义的描述代码的设计思想和实现方法。
Java中有三种常见的注释写法:单行注释、多行注释和文档注释。
// 这是一个单行注释
/*
这是一个多行注释
可以写多行内容
*/
/**
* 这是一个文档注释,用于生成API文档。
* 可以写多行内容,包括HTML标签。
*/
文档注释中可以使用特殊的标签来表示注释内容的含义,例如:
使用文档注释可以为代码编写清晰、易懂、规范的API文档,方便其他开发人员阅读和使用。
有这样一段代码注释的程序:
/**
* 这是一个简单的Java HelloWorld程序。
*
* @author :张三
* @version :1.0
*/
public class HelloWorld {
/**
* 这是主方法,用于将消息“Hello, World!”输出到控制台。
*
* @param args 未使用的命令行参数。
*/
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
使用javadoc命令生成API文档:
javadoc HelloWorld.java
当我们学习一门新语言时,通常第一步就是编写一个简单的“Hello, World!”程序。这个程序的目的是打印出一条简单的问候语,以证明我们已经成功地安装了编程环境并能够编写并运行程序。
在Java中,HelloWorld程序通常如下所示:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
让我们逐行分解一下这个程序:
public class HelloWorld {
- 这一行定义了一个名为“HelloWorld”的公共类。Java中的每个程序都必须有一个公共类,并且该类的名称必须与程序的文件名相同。public static void main(String[] args) {
- 这是程序的主方法。在Java中,每个程序都必须有一个名为“main”的方法,作为程序的入口点。它必须是一个公共、静态的方法,并且接受一个字符串数组作为参数。System.out.println("Hello, World!");
- 这一行使用Java的标准输出函数打印出一条问候语。在运行这个程序时,Java虚拟机将首先查找名为“HelloWorld”的类,并且将在该类中查找名为“main”的方法。一旦找到该方法,它将执行其中的代码,并且将“Hello, World!”打印到控制台上。
总之,HelloWorld程序是一个简单的入门示例,它向我们展示了Java程序的基本结构和语法。
包括:姓名,年龄,性别,家庭住址,联系电话等
public class PersonalInfo {
public static void main(String[] args) {
System.out.println("姓名:张三");
System.out.println("年龄:25");
System.out.println("性别:男");
System.out.println("家庭住址:北京市海淀区");
System.out.println("联系电话:13888888888");
}
}
public class Diamond {
public static void main(String[] args) {
System.out.println(" * ");
System.out.println(" *** ");
System.out.println(" ***** ");
System.out.println(" ******* ");
System.out.println("*********");
System.out.println(" ******* ");
System.out.println(" ***** ");
System.out.println(" *** ");
System.out.println(" * ");
}
}
public class ProductList {
public static void main(String[] args) {
System.out.println("Product\t\tPrice\tStock");
System.out.println("Apple\t\t3.5\t10");
System.out.println("Banana\t\t2.5\t20");
System.out.println("Orange\t\t4.0\t15");
System.out.println("Watermelon\t5.0\t5");
System.out.println("Grape\t\t6.0\t8");
}
}
Java既不是纯解释型语言,也不是纯编译型语言,而是一种混合型语言。Java源代码首先会被编译成字节码文件,字节码文件不是针对特定的硬件和操作系统而编译的,而是针对Java虚拟机(JVM)而编译的。字节码文件在运行时由JVM解释执行,JVM会将字节码文件转换为机器码并执行,这样就可以实现跨平台性,使得Java程序可以在任何安装了JVM的计算机上运行。因此,Java是一种混合型语言,它既具备编译型语言的高效性,又具备解释型语言的跨平台性。
Java是一种基于虚拟机的编程语言,它的跨平台性是通过Java虚拟机(JVM)实现的。Java程序在编译时会被编译成字节码,而不是直接编译成机器语言。这些字节码可以在任何支持Java虚拟机的平台上运行,包括Windows、Mac、Linux等操作系统。
Java虚拟机是一个抽象的计算机,它提供了一个独立于硬件平台的运行环境。当Java程序在不同的操作系统上运行时,JVM会将字节码解释成机器码,从而实现跨平台运行。这种机制保证了Java程序在不同平台上的一致性和可移植性。
总的来说,Java的跨平台性是通过将程序编译成字节码,再由Java虚拟机解释执行实现的。这种机制使得Java程序可以在不同平台上运行,无需重新编译。
Java中的类路径(Classpath)是指JVM在搜索类文件(.class文件)时所使用的路径。在Java中,当需要加载一个类时,JVM会按照一定的顺序在类路径中查找该类的字节码文件。如果找到了该文件,则会加载该类并创建相应的对象。
类路径可以由多个路径组成,路径之间用分号(Windows系统)或者冒号(Unix/Linux系统)分隔。在Java中,类路径可以分为系统类路径和用户类路径。
系统类路径是JVM默认的类路径,它包含了Java运行环境中的核心类库和扩展类库。系统类路径可以通过系统属性"java.class.path"来获得。
用户类路径是用户自定义的类路径,它包含了用户自己编写的类文件和第三方库文件。用户类路径可以通过"-classpath"或"-cp"选项指定,也可以通过设置系统环境变量CLASSPATH来指定。
通常情况下,Java程序的类文件都位于用户类路径中,而核心类库和扩展类库位于系统类路径中。在编写Java程序时,需要根据实际情况配置类路径,以确保程序能够正常运行。
Java字节码不是机器码。Java源代码在编译时会被编译成Java字节码(.class文件),而不是直接编译成机器码。Java字节码是一种中间代码,它是一种平台无关的二进制代码,可以在任何支持Java虚拟机(JVM)的平台上运行。
Java字节码是由Java编译器生成的一种二进制文件,它包含了Java源代码编译后的中间代码,而不是机器码。Java字节码可以被JVM解释执行,JVM会将字节码解释成机器码,从而实现跨平台运行。
Java字节码的优点是可以在不同平台上运行,而不需要重新编译。这种机制使得Java程序具有很强的可移植性和跨平台性。但是,由于Java字节码需要被JVM解释执行,因此Java程序的执行速度相对较慢。