一. Java的创建

java起源于20世纪90年代,由sun公司的詹姆斯·高斯林通过“Green”小组研发成功(1995年由OaK改名Java)。

二. Java的发展

​ 1996年1月,JDK1.0 ,JDK包括两大部分,开发工具和运行环境

​ 1997年2月,JDK1.1

1998年12月8日,JDK1.2—Java2发布(里程碑)

​ 1999年6月,Java体系分为三个方向:

​ 1>J2ME(Java2 Micro Edition,Java2 平台的微型版),应用于移动、无线及有限资源的环境; 2>J2SE(Java 2 Standard Edition,Java 2 平台的标准版),应用于桌面环境

​ 3>J2EE(Java 2Enterprise Edition,Java 2 平台的企业版),应用于基于 Java 的应用服务器

​ 随着供应商的不同,Java 的 API 也分为三大类:

​ 1>Java Core API:Java 核心类库

​ 2>Java Optional API:对之前 API 的扩充

​ 3>特殊 API:由特殊厂商或组织提供的 API

2004年9月30日,J2SE1.5发布(又一里程碑)更名为Java SE5.0

​ Java SE:Java Platform,Standard Edition

​ 标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。

​ Java EE:Java Platform,Enterprise Edition 企业版:以企业为环境而开发应用程序的解决方案

​ Java ME :Java Platform, Micro Edition 微型版:致力于消费产品 和嵌入式设备的最佳解决方案

三. Java可以做什么

​ 开发桌面应用程序 银行软件、商场结算软件 开发面向 t Internet 的 web 应用程序 门户网站(工商银行)、网上商城、阿里巴巴、电子商务网站 提供各行业的解决方案 金融、电信、电力... 嵌入式开发 移动电话、可视电话、数字机顶盒和汽车导航系统

四. Java虚拟机(JVM)

JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统 它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信 对于不同的运行平台,有不同 的 JVM。

五. 垃圾回收器(GC)

​ JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放 的存储空间。 垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。

六. JDK

​ JDK(Java Development Kits)-- Java 开发工具集 JRE(Java Runtime Environment)Java 运行时环境 JVM

​ Java API (应用程序编程接口) Java 编译器(javac.exe)、Java 运行时解释器(java.exe)、Java 文档化化工具(javadoc.exe)及其它工具及资源JRE 的三项主要功能: 加载代码:由类加载器(class loader)完成; 校验代码:由字节码校验器(byte code verifier)完成; 执行代码:由运行时解释器(runtime interpreter)完成。

七. Java 的特性

​ 一种纯面向对象的编程语言。

​ 一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境) 一种健壮的语言,吸收了 C/C++语言的优点。 有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

八. Java与Eclipse安装

​ Java官网:WWW.oracle.com,后修改环境变量,Path中加入Java所在位置,win+r输入cmd,输入java,未报错则正常使用

​ Eclipse官网:https://www.eclipse.org/,下载后解压,即可使用。

九. 环境变量

​ 环境变量就是对执行指令提供了一个更方便的跑码方式

十. 文本文档格式输出文字目前发生的问题

​ 文本文档格式写代码无法正常显示中文时;使用-ending UTF-8时最后一个汉字总是以问号形式表现:修改格式,另存为,右下角修改编码格式(ANSI)格式

十一. 代码注释

​ //单行注释

​ /* */多行注释

​ /** */文档注释(程序的入口时,可以直观的看到)

十二. 代码

​ 输出文字代码

​ class Hello {

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

​ System. out.println("锄禾日当午! ");

​ }

​ }

​ 定时关机代码

关机:package day01(工程文件名字)

​ public class Demo1(文件名称) {

public static void main(String【】args){

​ Runtime。getRuntime().exec(“shutdown -s -t 3600(任意秒数)”);

​ }

​ }

​ 取消关机代码

​ package day02(工程文件名字)

​ public class Demo2(文件名称) {

public static void main(String【】args){

​ Runtime。getRuntime().exec(“shutdown -a”);

​ }

​ }

​ 重启代码

​ import java.io.IOException(工程文件名); public class DEMO(文件名) { public static void main(String[] args) throws IOException { Runtime.getRuntime().exec("shutdown -r -f -t 36(任意秒数)"); } }

十三. 代码语句分类

​ 语句分为:(1.)结构定义语句——对代码执行一个结构的划分。例:大括号组织结构(范围)

​ (2.)功能执行语句——(只能限制main的内部语句),功能执行语句必须定义在声明的内部的

​ 范围,功能执行语句只能以英文分号结束。

一. 二进制

二进制:逢二进一,即只有0.1两个值。

​ 计算机中信息的存储单位 位(Bit):表示一个二进制数码 0 或 1,是计算机存储处理信息的最基本的单位。 字节(Byte):一个字节由 8 个位组成。它表示作为一个完整处理单位的 8 个二进制数码。

​ 一个字节空间:0-255

​ 1.补码

​ 一个正数的补码和其原码的形式是相同的。 负数的补码是:将该数的绝对值的二进制形式,按位取反再加 1

​ 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外, 两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。

​ 2.二进制和十进制之间的互换

​ 二进制转换成十进制数:

​ 授权相加:把二进制书首先写成加权系数展开式,然后按十进制加法规则求和

​ 整数部分:"除 2 取余,逆序排列"法 小数部分:"乘 2 取整,顺序排列"法

​ 3.十六进制

​ 十六进制:基数为十六,逢十六进一。它用 abcdef 表示从 0-9 之上的值

​ Java 中十六进制数据要以 0x 或 0X 开头。如:0x23D 十六进制转换成二进制只需将每个十六进制数字替换为相对应的四个二进制位即可

​ 4.八进制

​ 八进制:基数为八。 Java 中八进制数据要以 0 开头。如:0123 八进制转换成二进制:只需将每个八进制数字替换为相对应的三个二进制位即可

二.变量

​ 1.变量

​ 变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据 可以发生改变,因此得名为"变量"

​ 变量分类: 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量

​ 按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量

特别注意:类的外面不能有变量的声明

三.数据类型

​ 由于变量记录的数据内容大小不同, 导致所需的存储单元大小不同,在 Java 语言中使用数据类型的概念加以描述 .

​ 字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。Java 中的字节是八位的字节,即它包含八位的二进制数

​ ture真 false假 \u0000(最小的十六进制四位数字)-u\ffff(最大的十六进制四位数字)

四.标识符

​ Java 对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符。规则如下:

1.由字母、数字、下划线(_)和美元符号($)组成。

2.不能以数字开头。

3.区分大小 4.长度无限制。 5.不能是 Java 中的保留关键字。

标识符命名习惯:见名知意

​ 关键字大全:

​ Java 中有一些赋予特定的含义,有专门用途的字符串称为关键字(keyword)。全部是小写

 

五.类型转换

​ boolean 类型不能转换成任何其它数据类型。 自动类型转换:容量小的类型自动转换成容量大的数据类型 byte,short,int -> float ->long ->double byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型

强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符 long l = 100L; int i = (int)l; 有可能造成精度降低或数据溢出,使用时要小心

六.double,long和float

​ 1.double 和 float类型变量在定义时,需注意,我们直接写出的浮点数字,默认类型时double,会提示需要强转

​ 解决:我们可以在浮点数字的后面加入f,来表示写出的数字类型是float

​ 2.long类型变量定义,需注意,我们直接写出的整型数字,默认类型是int,当值过大时会提示出错

​ 解决:在整型数字后面加入l,来表示写出的整型数字是long类型的

​ 3.char类型

​ 定义时使用单引号,引出一个字符

​ char可以引出数字运算,可以进行数字类型的强制转换

七.ascii码表

八.方法

​ static静态的,特殊关键词的修饰,static修饰的加载比较早

​ 如果一个方法或变量,命名时用到了多个单词,首单词首字母小写,后面所有的单词首字母都大写

​ 方法用于封装逻辑。

​ 方法的主要要素有:权限修饰符,方法名、参数列表和返回值。

​ 格式: 权限修饰符 返回值类型声明 方法名称(参数列表){ 方法中封装的逻辑功能; return 返回值; }

​ 返回值 方法调用结束后可以返回一个数据,称之为返回值。 方法在声明时必须指定返回值的类型。 通过 return 语句返回,return 语句的作用在于结束方法且将数据返回。 如果方法没有返回值(即方法不需要返回数据),需将返回值类型声明为 void。

​ 参数列表详解 方法的参数列表:在调用时传递给方法,需要被方法处理的数据。 在方法定义时,需要声明该方法所需要的参数变量。 在方法调用时,会将实际参数值传递给方法的参数变量。必须保证传递参数的类型和个数符合方法的声明

​ public void say(int a,int b){ System.out.println(“方法 say 正在执行”);

​ }

九.运算符

​ int与int运算结果一定是int

​ 整形与整形运算结果一定是整形

​ 1.算数运算符

​ 2.赋值运算符

​ 3.关系运算符

​ 4.逻辑运算符

​ 5.字符串连接符

​ 6.三目运算符

​ 7.操作符优先级

十.变量作用域

​ 内部范围可以访问外部范围的变量,而外部范围无法访问内部范围的变量(仅适用于局部变量)