姓名:王恒杰 微信:yangfujun520whj
day_01:Java概述
1. 基础语法阶段:变量/表达式/if语句/循环/函数/数组 重心:语法 2. 面向对象阶段:面向对象编程思想/三大特性(封装/继承/多态)/抽象类/接口 重心:理解 3. API:Object/集合/异常/线程/IO/反射... 重心:应用
学习方法:
1. 上课期间可以做笔记,注意听讲 2. 编程语言数据理工类学科,注重实践,注重动手,先明白用法, 用途,熟练后再理解其实现原理 3. 勤写多练,熟能生巧勤能补拙,及时练习,及时消化 4. 完成作业期间可以参考答案或者问别人,但最终必须删了重写,务必保证作业是自己完成的 5. 能力较好的同学完成作业后尽量帮助其他同学调试错误,如果思路有问题可以帮助别人梳理思路,尽量不要直接给代码,学习过程中会经常出现错误,不要惧怕错误.
学习差异:
1. 有基础(在学校学了一些,自己捣鼓过):1/2小阶段会出现,觉得讲的慢,每天学的东西少这些症状 2. 无基础(不爱打电脑游戏,不了解计算机,不是理工科出身):每天学习东西多,对比有基础的同学感觉自己很差,感觉自己跟不上或不太适合学编程.
Java语言历史
年份 | 主要事件 |
---|---|
1990 | SUN公司成立了Green项目组,负责开发一种基于C++而优于C++的编程语言,负责人jeams golsling(詹姆斯·高斯林),称为java之父 |
1991 | Oak语言诞生,Java的前身,主要应用在小型嵌入式设备上 |
1994 | internet兴起,Oak与浏览器结合,诞生了一种称为Applet的基础,可以在浏览器中执行Java代码,后来被flush所替代 |
1995 | 5月23日,Java(是一种咖啡) 1.0发布 |
1998 | JDK1.2发布,Sun公司将JDK版本命名方式改为 JDK 2.0 或 Java2 ,对外发布了三个版本JavaSE(标准版)/JavaEE(企业级版本)/JavaMe(移动设备) 也称为 J2SE/J2EE/J2ME |
2004 | JDK 5.0发布 ,将版本号更改为 JavaSE 5.0 |
2014 | 发布JDK 8.0 目前应用最广泛的版本 |
2017 | Oracle决定了将Java移交给开源组织,由Eclipse基金会负责接盘,每年3月/9月会进行一次更新 |
2021 | 发布JDK16,目前应用最广泛的依然是JDK8,JDK11正在探索应用中 |
上课应用版本 JDK8,相关特性需要在四个大阶段中逐渐学习
编程语言的执行阶段
1. 编码阶段(将程序写在文件中,源文件) 2. 编译/解释(将源文件转换为计算机能够读懂的文件形式,机器码文件) 3. 计算机运行
编程语言的执行机制
1. 编译型语言:将源文件--->编译器---->机器码文件(直接在计算机中运行) 代表语言:C/C++/Object-C/C# 优点:执行速度快,效率高 缺点:由于操作系统有区别,不能跨平台 2. 解释型语言:将源文件--->解释器---->向计算机解释,逐行解释,逐行运行 代表语言:JavaScript,脚本语言. 优点:不同的平台可以使用不同的解释器,程序可跨平台 缺点:由于需要逐行翻译/逐行运行,执行效率很低(无法构建大型应用) 3. 先编译后解释型语言:将源文件---->编译器---->字节码文件---->解释器-->解释运行 代表语言:Java/Python 优点:不同的平台可以使用不同的解释器,程序可以跨平台,运行效率较高(对比纯解释型语言) 缺点:比编译型语言多一个步骤,效率也要低一些
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h0wY8DA3-1627264003237)(F:\CoreJava\day1_HelloWorld\images\QQ截图20201022151705.png)]
Java语言的执行机制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JqGB6k8X-1627264003239)(F:\CoreJava\day1_HelloWorld\images\QQ截图20201022152236.png)]
Java语言的设计理念:Write once Run Anywhere (一次编写,随处运行)
Java语言的特点:
1. 简单性:对比C++较为简单,抛弃了容易出错的指针,简化了释放内存空间的操作,由JVM自动管理 2. 跨平台 3. 纯面向对象:以对象为单位解决问题,面向过程,以函数或方法为单位解决问题
Java语言名词( 重点背 )
1. JVM(Java Virtual Machine):Java 虚拟机,用来在不同的平台模拟相同的运行环境 2. JRE(Java Runtime Enviroment):Java运行环境,用来执行Java程序 3. JDK(Java Development Kit):Java开发工具包,包含JVM+JRE+类库(工具库)+工具
运行:Java安装包,尽量使用默认的路径
参考:Java环境变量配置说明.docx
变量名 | 值 | 作用 |
---|---|---|
JAVA_HOME | JDK安装目录 | 告知其他应用程序JDK的所在位置 |
CLASS_PATH | .(当前目录) | 表示执行Java程序时,在什么位置查找.class文件 |
在path中追加 | %JAVA_HOME%\bin | 将来在任何位置都可以使用java提供的工具 |
修改环境变量重新开启cmd窗口才能生效
配置失败执行命令时则出现:
'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 或 'java' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
在源文件中加入以下代码:
class HelloWorld{ public static void main(String[] args){ System.out.print("Hello World!!!"); } }
代码解释:
1. class :关键字,表示类,是Java程序的基本单位,一个Java程序就是一个类 2. HelloWorld:表示类名,是Java程序的名称,可以自定义但要符合要求 3. public static void main(String[]args):主函数,Java程序的入口函数,当执行该程序时,会运行主函数中的代码。 4. System.out.print():打印语句,可以将()中的内容打印在cmd窗口(控制台)中 5. "Hello World!!!":向控制台中打印的内容
编译源文件:将源文件(.java)经过编译器转换为字节码文件(.class)
找到源文件所在目录,在地址栏中键入 cmd 按回车
键入 javac
命令编译源文件
语法:
javac 源文件名.后缀名
编译成功:在当前目录位置生成对应的.class文件,文件名与类名相关
编译失败:可能语法错误,请根据错误信息检查语法,编译失败不会产生.class文件
字节码文件:是编译器编译源文件后的产物,包含程序的相关信息与执行规则等等
找到字节码所在的位置,与编译源文件查找文件位置方式相同
键入 java
命令解释运行
语法:
java 类名(.class文件的文件名)
字节码文件:是编译器编译源文件后的产物,包含程序的相关信息与执行规则等等
找到字节码所在的位置,与编译源文件查找文件位置方式相同
键入 java
命令解释运行
语法:
java 类名(.class文件的文件名)