Java入门

简介: Java入门

Java入门


今天任务


1.计算机组成
2.常用DOS命令
3.Java概述、发展等
4.Java核心机制
5.JDK安装和环境配置
6.注释

教学目标

1.了解计算机组成
2.掌握常用DOS命令
3.掌握Java核心机制
4.掌握环境变量配置
5.掌握注释

第一节:基础知识


1.1 计算机组成
计算机组成包括硬件和软件两大部分。
(1) 硬件:硬件是指完成输入、存储、处理、输出功能的具体设备 
  1>输入设备:键盘、鼠标、摄像头、扫描仪
  2>输出设备:显示器、打印机、音响
  3>CPU(Central Processing Unit)中央处理单元:主要厂商有Intel、AMD、高通
  4>存储器:主要包括内存、硬盘、优盘
  5>其他设备:主板、机箱等
(2) 软件:是指计算机系统中的程序及其文档。
软件有两大类 :系统软件和应用软件
系统软件:控制和支持计算机系统,例如:DOS、Windows7、Windows10、Mac、Linux、Android、IOS
应用软件:通常指一些应用软件,例如:Office、PhotoShop、WinRAR等

CPU

CPU:是一台计算机的运算和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
主要性能指标:
(1)主频:CPU内核工作的时钟频率,也就是CPU工作频率,单位是兆赫(MHz)或千兆赫(GHz)。
  一般情况下主频越高表示CPU处理数据的速度就越快。
(2)内核:2核 4核 8核
例如:Intel 酷睿双核 i5 2.4G、i7 2.6G

存储器

存储器:用来存储数据和指令等的记忆部件。
计算机对存储器的要求是:一要存取速度快,二要存储容量大。
计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存)
  外存:通常是磁性介质或光盘等,能长期保存信息。
  内存:指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
存储器的计量单位包括位和字节
8bit   —— 1 Byte 
1024B  —— 1 KB 
1024KB —— 1 MB 
1024MB —— 1 GB
1024GB —— 1 TB
1024TB —— 1 PB
1.2 DOS命令和快捷键


######1.2.1常用DOS命令


进入命令提示符: windows键+R —》打开运行窗口—>输入cmd


  • cd 命令:改变当前目录
change  directory 改变目录
cd [盘符:][路径名][子目录名]
cd .. 返回上一级目录
cd \或cd /  返回根目录,推荐使用cd \
注意:如果需要访问非当前根目录下的目录文件,应该先输入该盘符,敲回车,然后再用cd命令
如:
 d: 切换盘符d盘
 cd programs 进入programs目录

md命令:创建目录

make directory
md  盘符:<文件夹名>  
md myFile 在当前目录下创建myFile文件夹
md myPhoto\aaa\bbb 在当前目录下创建myPhoto\aaa\bbb多级目录
注意:md命令还可以创建以.开头的文件夹。

dir命令:列出当前目录下的文件以及文件夹

dir  [盘符:][目录路径] [/p]  [/s]  [/w]  [/o]  
/p 分页显示下一页内容,按任意键查看下一屏
/s 显示所有目录及其子目录下所有文件 
/w 宽屏显示
/o 分类顺序显示

copy命令:复制一个或一组文件到指定磁盘或目录中

copy  <源文件路径> [目标路径]   
copy a.txt d:\myFile 复制a.txt文件到d:\myFile文件夹中
copy myFile myPhoto  只复制myFile文件夹下的所有文件到myPhoto中,不包括子文件夹中的文件
如果要复制所有子文件夹下文件可使用:
xcopy myFile myPhoto /s  不能复制空目录
xcopy myFile myPhoto /e  复制空目录

rd命令:删除空目录

remove directory
rd  [盘符:][路径名]<子目录名>
只能删除空目录,不能删除当前目录
rd myFile 删除myFile目录
rd myFile\aaa 只能删除aaa目录,不能删除myFile目录

del命令:删除文件

delete
删除目录中的一个或一组文件,不能删除目录
del info.txt 删除info.txt文件
del myFile\* 删除myFile目录下所有的文件
  • cls命令:清空屏幕

  • exit命令:退出dos命令行

  • mspaint:打开画图板

  • notepad:打开记事本


1.2.2快捷键使用

ctrl+s 保存
ctrl+c 复制
ctrl+v 粘贴
ctlr+z 撤销

第二节: Java


2.1 Java概述


Java是由Sun Microsystems公司于1995年5月推出的面向对象高级程序设计语言。

2019102308471620.jpg

Java之父:詹姆斯·高斯林


计算机程序

为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
编写程序的工具就是计算机语言,Java就是多种语言中的一种。

软件

软件是计算机程序、程序所用的数据以及有关文档资料的集合。

Java三个体系

1. Java SE(Java Platform Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。
2. Java EE(Java Platform Enterprise Edition)。这个版本以前称为 J2EE。开发企业级的应用
3. Java ME(Java Platform Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境.
2.2 Java发展历史
Java是Sun(Stanford University Network)于1995年推出的一种高级编程语言,1996年1月发布JDK1.0
1998年 JDK1.2,更名为Java2  包括三个版本  J2ME  J2SE  J2EE
2000年 JDK1.3,JDK1.4
2004年 JDK1.5,为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0,内部版本1.5
2005年 JDK6.0,J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME,内部版本1.6
2009年 Oracle(甲骨文)74亿美元收购Sun。取得Java的版权。
2011年 JDK7.0,内部版本1.7
2014年3月19日,JDK8.0  内部版本1.8
2017年9月22日,JDK9.0发布
2018年3月21日,JDK10.0发布
2018年9月26日,JDK11.0发布
2019年3月20日,JDK12.0发布
2.3 Java应用场景
1.开发桌面应用程序:银行软件、商场结算软件
2.开发面向Internet的web应用程序: 电子商务、医疗、教育等各个行业网站
3.开发Android手机应用程序
4.大数据、人工智能开发的基础

#####2.4 Java特性

1. 一种面向对象的编程语言
2. 一种与平台无关的语言。(它提供了在不同平台下的解释运行环境)
3. 一种健壮的语言,吸收了C/C++语言的优点。
4. 具有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)
5. 开源

第三节:Java运行核心机制


3.1 高级编程语言类型


  • 编译型: C 、C++、Java,会生成二进制文件比如:.exe文件、字节码文件

  • 解释型: JavaScript、basic 不会生成二进制文件

  • 而Java 语言是两种类型的结合;先编译,再解释执行

3.2 Java的两个核心机制


  • Java虚拟机(Java Virtual Machine) JVM
1 JVM可以理解成一个可运行Java字节码的虚拟计算机系统。 
它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信
对于不同的运行平台,有不同的JVM。
2 JVM屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

所以Java语言是跨平台的。

20191023084132461.jpg

自动垃圾回收(Garbage Collection)

Garbage Collection垃圾回收:将不再使用的内存空间应当进行回收。
1 在C/C++等语言中,由程序员负责回收无用内存,而Java语言消除了程序员回收无用内存空间的责任:
2 JVM提供了一种系统线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可以被释放的存储空间。
垃圾回收器在Java程序运行过程中自动启用,程序员无法精确控制和干预,即使程序员通过代码告诉垃圾回收器执行,不会立即回收内存。

第四节:JDK安装和环境配置


4.1 安装 JDK


下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


JDK安装步骤详情


JDK(Java Development Kits)-- Java开发工具集


主要包括:


  • JRE(Java RunTime Environment)Java运行时环境

  • Java编译器(javac.exe)

  • Java运行时解释器(java.exe)

  • Java文档化工具(javadoc.exe)

  • 其它工具及资源
  • 20191023084320304.jpg
  • JDK、JRE、JVM之间的关系
(1)JDK是开发人员需要安装的开发工具包,包括完整的JRE和开发工具、文档等,JRE是Java程序的运行环境,包含JVM和常用的类库,JVM是Java程序运行必须的组件,负责程序的执行。
(2)简单理解:JDK包含JRE、JRE包含JVM

#####4.2 配置环境变量


1 添加JAVA_HOME环境变量,指向JDK安装目录

20191023084401893.jpg

2 修改path:用于指定操作系统的可执行指令的路径,在路径最前面添加


%JAVA_HOME%\bin;


3.(可选)添加classpath:Java虚拟机在运行某个类时会按classpath指定的目录顺序去查找这个类


.;%JAVA_HOME%\lib\rt.jar;%JAVA_HOME%\lib\tools.jar


注:从JDK5.0以后默认就会到当前工作目录以及JDK的lib目录中查找


验证环境变量配置成功:打开命令行输入 java -version 和 javac ,能看到如下图所示

1.jpg

20191023084518166.png

#####4.3 安装编辑工具

第一周建议使用:记事本、EditPlus 或者是 notepad++
后面采用集成开发工具:Eclipse、Idea

####第五节:第一个HelloWorld


5.1 Java开发步骤


java开发需要三个步骤:

20191023084638346.png

第一步:编写源程序

// HelloWorld类名和文件名相同
public class HelloWorld {
  // 公开的 static 静态的  void 没有返回值  String[] args 参数
  public static void main(String[] args){
    //向外输出  打印
    System.out.println("Hello World!");
  }
}
//解释说明:
//1 public 关键字 公开的
//2 class 关键字 表示定义一个类
//3 HelloWorld  类名  和文件名一致
//4 static 静态的,先记住意思,后面详细讲
//5 void 表示无返回值,先记住意思,后面讲
//6 main 主方法,程序入口
//7 String[] 字符串数组类型
//8 args 方法参数
//9 System.out.println("Hello World!");输出Hello World

Java源程序(文件): 是一个后缀.java的文件,里面写的是Java代码


第二步:编译(Compile)


在命令行中输入:javac HelloWorld.java


编译后会生成后缀为.class的文件,我们称为字节码文件 ,字节码文件可以在JVM上面运行。


第三步:运行


在命令行中输入:java HelloWorld


java 后面是类名,不是文件名


5.2 源文件中的类
1. 如果类不是public修饰的 , 类名可以和源文件的名字不同,但是如果类名是public修饰的,源文件的名字必须和类名相同。
2. 一个源文件中可以有多个类。
3. 一个源文件中只能有一个用public修饰的类。

上机练习:


1 向控制台输出 “世界你好!!!”


2 向控制台输出 姓名,年龄,爱好


5.3 Java基本编码规范
编码规范的必要性(1)程序员基本素养(2)体现专业化
基本编码规范
1>类名使用public修饰
2>一行只写一条语句
3>{}的位置,左大括号在行末尾,右大括号独立一行
4>代码缩进
5.4 输出方法 print、println、printf


  • print() 输出内容没有换行

  • println() 输出内容后有换行

  • printf() 格式化输出,"%“表示进行格式化输出,”%"之后的内容为格式的定义(了解并查看帮助文档)

  • %f "f"表示格式化输出浮点数(小数)。

  • %.2f 保留小数点后2位

  • %d "d"表示输出十进制整数

  • %s “s"表示输出字符串

  • %x "x"表示输出16进制形式,X 表示大写


十六进制 基本数字0-9 A B C D E F


规则 逢16进1


演示 printf的使用

public class Demo3{
  public static void main(String[] args){
    System.out.printf("%f",2.5);
    System.out.println();
    System.out.printf("%.2f",2.5);
    System.out.println();
    System.out.printf("%d",20);
    System.out.println();
    System.out.printf("%s","helloworld世界你好");
    System.out.println();
    System.out.printf("%X",15);
  }
}

第六节:注释


注释的作用就是帮助程序员理解程序的作用。共有三种注释: 单行注释、多行注释、文档注释(后面讲)


6.1 单行注释
//适用于注释一行
6.2 多行注释
/*多行注释     
适用于同时注释很多行
注释内容
注释内容
*/

总结

1 计算机组成:硬件和软件
2 DOS命令
  cd  改变当前目录
  md  创建目录
  dir  列出当前目录中文件和文件夹
  copy  复制   xcopy
  rd    删除目录 (空目录)
    del   删除文件 
    cls 清屏
    exit 退出dos
    mspaint 打开画图板
    notepad  打开记事本
   type   创建空文件   type nul>aaa.txt
   echo 创建非空文件  echo 内容>bbb.txt
3  Java 历史 
   JDK8
 特点:
4  Java 运行核心机制 
    1 jvm   Java虚拟机 (跨平台的原理)
    2 自动垃圾回收 
5 安装jdk、环境变量配置
   JAVA_HOME : 
  修改path
6开发Java程序
   第一步:编写源程序
   第二步:编译   class文件    javac  Hello.java
   第三步:运行   java Hello
7 输出方法: print()  输出没有换行  ,println(); 输出有换行    ,printf() 格式化输出 (了解)
8 注释   //单行注释    
         /*  
    多行注释
         */

面试题


1.一个".java"源文件中是否可以包括多个类?有什么限制?


2.垃圾回收器的作用?使用代码告诉垃圾回收器回收内存,垃圾回收器可以马上回收内存吗?


3 .此处,Something类的文件名叫OtherThing.java


class Something {

  public static void main(String[]  args) {        

System.out.println(“Do something …”);


}


}


对吗?

相关文章
|
28天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
40 3
|
7天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
13天前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
19天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
57 5
|
16天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
29 1
|
23天前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
43 3
|
24天前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
26天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
42 4
|
1月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
49 1
java制作游戏,如何使用libgdx,入门级别教学
|
25天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
20 1