Java笔记-Java相关概念和如何实现跨平台

一.Java相关概念

1.Java语言的核心特点
跨平台
面向对象

2.Java的历史版本
JDK1.0,JDK1.1,JDK1.2....JDK5.0,JDK6.0,JDK7.0,JDK8.0

注意:JDK5.0是一个标志性的版本,该版本引入了很多新特性.

3.Java的分类
Java从1.2开始,分为三个不同的分支

JavaSE(Java Standard Edition),Java标准版,专门用来开发桌面级应用
JavaEE(Java Enterprise Edititon),Java企业版,专门开发大型企业级应用
JavaME(Java Micro Edition),Java微型版,专门用来开发移动设备的应用

4.其他
JDK Java Development Kit,Java开发工具包
JRE Java Runtime Environment,Java运行环境
JVM Java Virtual Machine,Java虚拟机
API Application Provider Interface,应用程序接口
SPI Service Provider Interface,服务供应商接口

--

二.Java是如何实现跨平台的?

C程序运行

软件
操作系统
硬件

Java程序运行

Java程序
JRE(JVM提供运行的运行环境)
JVM(JVM是用C语言实现的,它是一个软件)
操作系统
硬件

注意:真正跨平台的是虚拟机JVM!!!

xxx.java Java源文件,写的是Java源代码,人可以看懂
xxx.class Java字节码文件,写的是二进制,机器可以看懂

编译 运行
源文件 --------> 字节码文件 ----------> 结果

总结:
把人可以看懂的Java源文件通过JDK编译过后得到机器可以看懂的字节码文件,
这个字节码文件加载到不同平台的JVM中就可以实现跨平台运行了!

--
cmd命令行常用命令

1.启动命令行
开始->运行->输入cmd/win + R + cmd

2.切换盘符
盘符:

3.进入文件夹
cd 文件夹名
cd 路径

注意:路径可以是绝对路径也可以是相对路径.

绝对路径,带盘符,执行电脑中唯一的一个位置
相对路径,不带盘符,它可能指向多个位置

4.退出文件夹
cd .. 退到上一层
cd ../../.. 退出多层

5.自动补齐
tab

6.清屏
cls

7.回忆命令
上下按键

--

三.如何编写一个Java程序?

1.先从Oracle官网下载相应操作系统的JDK
2.安装JDK,配置环境变量
a.右击我的电脑->属性->高级标签->环境变量
b.新建
变量名:JAVA_HOME
变量值:JDK的路径,例如:C:\Program Files\Java\jdk1.7.0_25
c.编辑Path,在Path原来的变量值前加入:
%JAVA_HOME%\bin;
3.验证环境变量配置是否成功,
运行->cmd,输入java和javac验证

4.写一个Java文件,文件后缀为.java,这个文件叫做一个Java类.

创建workspace工作空间文件夹,在里面建立src文件夹和bin文件夹,
src是用来存放编写好的Java源文件,bin是用来存放编译好的字节码文件.

如何写一个Java类?

package 包名;

public class 类名{
public static void main(String[] args){
//代码;
}
}

注意:
a.类名必须与源文件名高度一致
b.大括号成对出现

5.编译和运行
把文件目录定位到src中

(1).在src中编译和运行
编译:
javac -d ../bin HelloWorld.java

把HelloWorld.java编译成字节码文件,HelloWorld.class,把该文件放入到
向上一层目录中的bin文件夹中.

运行HelloWorld.class字节码文件:
java -cp ../bin com.tz.day01.HelloWorld

(2).在workspace根目录下编译和运行
编译:
javac -d bin src/HelloWorld.java

运行:
java -cp bin com.tz.day01.HelloWorld;

--

输出语句

System.out.println(...);

ln表示输出完括号中的内容过后换行!

注意,输出语句支持数学运算以及字符串的连接

--

包(package)

1.作用:
a.用来扩展类的命名空间
b.用来管理类文件

2.包的命名规范:
全部采用小写字母,中间用.隔开,企业中往往采用公司域名的倒置来命名

com.qq.image
com.qq.test
com.qq.entity
com.qq.dao
com.qq.dao.impl
com.qq.config
..

注意:包名.类名叫做类的全限定名
com.tz.day01.HelloWolrd,运行时必须是全限定名!

--

注释:

单行注释 //

多行注释 /* */

文档注释 /** */

作用:用来说明代码,目前学习阶段我们可以把它当做代码中的笔记,方便复习
在企业中,注释是很重要的!

--

main方法,它是程序主入口,程序想要运行,必须有此方法.

public static void main(String[] args){

}

--

获取用户键盘输入
0.导入
import java.util.Scanner;

1.创建Scanner对象
Scanner sc = new Scanner(System.in);

2.
System.out.println("提示...");

3.
int i = sc.nextInt();//整数

String s = sc.nextLine();//一句话

时间: 2024-10-18 13:25:43

Java笔记-Java相关概念和如何实现跨平台的相关文章

14.5-全栈Java笔记:java.awt这些布局怎么写?|流式|边界|网格

布局管理器 读者会发现,如果使用坐标定位法(空布局),在一个比较复杂的界面上定位每个控件的坐标是一个非常麻烦的工作,而且在界面大小发生改变时,控件的绝对位置也不会随之发生改变.那么如果我们想让用户界面上的组件可以按照不同的方式进行排列怎么办?例如:可以依序水平排列,或者按网格方式进行排列等,其实每种排列方案都是指组件的一种"布局",要管理这些布局,就需要本节学习的布局管理器. 管理布局的类由java.awt包来提供,布局管理器是一组实现java.awt.LayoutManager接口的

12.7-全栈Java笔记:Java网络编程(五)

UDP通讯的实现 1.DatagramSocket:用于发送或接收数据包 当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象.服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端的DatagramSocket接收. DatagramSocket有两种构造函数.一种是无需任何参数的,常用于客户端.另一种需要指定端口,常用于服务器. 常用方法:send.receive. cl

12.4-全栈Java笔记:Java网络编程(二)

 基于TCP协议的Socket编程和通信 在网络通讯中,第一次主动发起通讯的程序被称作客户端(Client)程序,简称客户端,而在第一次通讯中等待连接的程序被称作服务器端(Server)程序,简称服务器.一旦通讯建立,则客户端和服务器端完全一样,没有本质的区别. "请求-响应"模式: Socket类:发送TCP消息 ServerSocket类:创建服务器 套接字是一种进程间的数据交换机制.这些进程既可以在同一机器上,也可以在通过网络连接的不同机器上.换句话说,套接字起到通信端点的作用.

12.3-全栈Java笔记:Java网络编程(一)

Java为了可移植性,不允许直接调用操作系统,而是由java.net包来提供网络功能.Java虚拟机负责提供与操作系统的实际连接.  InetAddress 作用:封装计算机的IP地址和DNS(没有端口信息!). 特点:这个类没有构造函数.如果要得到对象,只能通过静态方法:getLocalHost.getByName. getAllByName. getAddress.getHostName. [示例1]使用getLocalHost方法创建InetAddress对象 InetAddress ad

11.2-全栈Java笔记:Java中如何实现多线程

在JAVA中使用多线程非常简单,我们先学习如何创建和使用线程,然后结合案例再深入剖析线程的特性. 通过继承Thread类实现多线程 继承Thread类实现多线程的步骤: 1. 在Java中负责线程的这个功能的是java.lang.Thread 这个类 2. 可以通过创建 Thread 的实例来创建新的线程. 3.  每个线程都是通过某个特定Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体. 4.   通过调用Thead类的start()方法来启动一个线程. [示

12.5-全栈Java笔记:Java网络编程(三)

上节回顾:在学习了Socket在建立客户端和服务器单项通讯中,分别创建独立的Socket,并通过Socket的属性. 那么如何将两个Socket进行连接,从而达到客户端和服务器之间建立输入输出流进行通信呢?在上节中我们已经讲到,TCP/IP套接字是最可靠的双向流协议,使用TCP/IP可以发送任意数量的数据.如果发送方和接收方计算机确定好端口,他们就可以通信了,其中的端口用套接字表示. [示例1]客户端与服务器端双向交流的Socket之服务器端 import java.io.BufferedRea

14.2-全栈Java笔记: Java Swing创建窗口,原来这么简单!!!

上节我们聊到GUI(Graphical User Interface)的概念,并学习GUI编程中主要需掌握两个包,分别是:AWT和Swing,本节我们会通过Swing程序中常用的类和控件来实现第一个窗口.  javax.swing.JFrame JFrame在GUI中为一个窗口对象,继承于Frame.JFrame控件用于在Swing程序中创建窗体.如表1所示,为JFrame常见的构造方法. 注意: Java语言规定在GUI编程中任何窗口实例化出来时默认为不可见(即隐藏)状态,所以当我们使用构造方

12.6-全栈Java笔记:Java网络编程(四)

上节回顾:在学习了Socket建立客户端和服务器双向交流后,我们发现它的问答形式不够灵活. 本节课我们讲解如何在服务器和客户端之间实现聊天室~ 需要思考的问题: 服务器端:一个线程专门发送消息,一个线程专门接收消息. 客户端:一个线程专门发送消息,一个线程专门接收消息. 除了消化这段代码外,还需要思考,怎么实现一个聊天室!(难度较大!!) [示例1]聊天室服务器端 import java.io.BufferedReader; import java.io.BufferedWriter; impo

14.1-全栈Java笔记: Java语言中GUI到底是神马鬼?| AWT | Swing

到目前为止,我们在Java中编写的基本都是基于控制台的程序:而Java编程语言之所以如此流行的一个主要原因之一,就是因为它支持图形用户界面功能,即GUI(Graphical User Interface). GUI(Graphical User Interface)即图形用户界面,就是应用程序提供给我们用户操作的图形界面,包括窗口.菜单.工具栏及其它多种图形界面元素,如文本框.按钮.列表框.对话框等.它能使应用程序显得更加友好. 学习Java的GUI编程主要是要掌握两个包,分别是:java.aw