课件
3W其实就是三问:what,where,how;
1.what:界定问题,搞清楚问题到底是什么;
2.why:分析问题,结构化分析问题的本质原因是什么;
3.how:解决问题,应用目标导向思维解决问题;
3W法—what,why,how的运用_whatday的专栏-优快云博客
学习建议
▪ 一,不要做一个浮躁的人▪ 二,学好英语,很重要▪ 三,阅读源代码和文档▪ 四,共享源代码,不要做一个功利的人▪ 五,热爱Java
计算机语言发展历史▪ SUN公司是一家什么样的公司?– 美国SUN(Stanford University Network)公司– 在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”– 在台湾中文名为“升 阳电脑公司”。▪ Java为什么被发明?– Green项目。– 应用环境:像电视盒这样的消费类电子产品– 要求:▪ 语言本身是中立的,也就是跨平台▪ Java的发明人?– James Goslingjava发展历史1991年,Sun公司的Green项目,Oak1995年,推出Java测试版1996年,JDK1.01997年,JDK1.11998年,JDK1.2,大大改进了早期版本 的缺陷,是一个革命性的版本,更名为Java21999 Java被分成J2SE、J2EE 和J2ME ,JSP/Servlet技术诞生2004年,J2SE 5.0 (1.5.0) Tiger老虎. 为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0。2006年,J2SE 6.0 (1.6.0) Mustang野马.此时,Java的各种版本被更名,取消其中的数字"2": J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME2009年4月20日甲骨文收购Sun公司,交易价格达74亿美元2011年,JavaSE7.02014年 ,JavaSE8.02017年,JavaSE9.02018年3月,JavaSE10.02018年9月,JavaSE11.0外部环境
– 互联网的爆发式发展– 互联网上的电脑硬件不同,软件环境差异较大。需要一个 跨平 台 的语言。
▪
Java核心优势
:
跨平台

JVM(Java VIRTUAL MACHINE)
▪ JVM是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机。
▪ Java虚拟机是Java最核心技术,也是跨平台的基础。
▪ 可以使用软件来实现
IBM, SUN, BEA等。你也可以自己 写一个JVM可以使用硬件来实现比如sun/intel公司正在研发的Java 芯片
JVM和Java跨平台特性
▪ 通过“编译器”将Java源程序编译成Java 字节码文件(.class)
(字节码文件采用结构中立的中间文件格式)▪ 通过“解释器”将Java字节码文件解释为对应机器语言并运行

▪ Java和C跨平台原理的比较– Java:一次编译,到处运行– C:多次编译,到处运行

Java的特点
Java是跨平台的▪ Java是简单的▪ Java是安全的▪ Java是完全面向对象的▪ Java是健壮的▪ Java是跨平台的– Java程序的跨平台主要是指字节码文件可以在任何具有Java虚拟机的计算机或者电子设备上运行,Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。▪ Java是简单的
– 不再有#include 和#define 等预处理功能– 不再有struct,union及typedef– 不再有函数、– 不再有指针、不再有多重继承– 不再有goto– 不再有操作符重载(Operatior Overloading)– 不再有全局变量取消自动类型转换,要求强制转换– 不再有手动内存管理Java是安全的
–Java取消了强大但又危险的指针。由于指针可进行移动运算,指针可随便指向一个内存区域,而不管这个区域是否可用,这样做是危险的,因为原来这个内存地址可能存储着重要数据或者是其他程序运行所占用的, 并且使用指针也容易数组越界。–Java提供了自动内存管理机制,由垃圾回收器在后台自动回收,–Java在字节码的传输过程中使用了公开密钥加密机制(PKC)。–而在运行环境提供了四级安全性保障机制:▪字节码校验器 -类装载器 -运行时内存布局 -文件访问限制
Java是完全面向对象的
– Java和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继承,多态)。– 由于C++为了照顾大量C语言使用者而兼容了C,使得自身仅仅成为了带类的C语言,多少影响了其面向对象的彻底性!– Java则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。
▪ Java是健壮的
–
Java的强制类型机制、异常处理、垃圾的自动收集等是Java程
序健壮性的重要保证。
– 对指针的丢弃是Java的明智选择。
– Java的安全检查机制使得Java更具健壮性。
开始Java开发之前的准备
安装JDK安装Java开发工具准备JDK API掌握简单DOS命令▪ 安装JDK– 卸载JDK– 安装JDK– 验证JDK安装正确▪ Java -version常用Java开发工具文本编辑器(选择任意一个)UltraEditEditPlusnotepad++ 适合前期学习使用 扎牢基础 训练集成开发环境(IDE:Integrated Development Environment)Eclipse ( http://www.eclipse.org ) 解压即可(重点)MyEclipse:若进行J2EE开发,还要加MyEclipse插件。MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境。现在直接安装集成Eclipse的MyEclipse即可。商业软件IntelliJ IDEA:目前最火JDK帮助文档SUN公司为JDK工具包提供了一整套文档资料,我们习惯上称之为JDK文档。JDK文档中提供了Java中的各种技术的详细资料,以及JDK中提供的各种类的帮助说明。JDK文档是Java语言的完整说明,大多数书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料。集成开发环境 IDE
常用的DOS命令(文件夹/目录操作命 令)– dir directory 查看当前目录下的文件和子文件夹– cd change directory 改变当前文件夹– md make directory 创建当前文件夹– rd remove directory 删除当前文件夹 删除空目录– cls clear screen 清除屏幕type 文件名.扩展名put 上传文件到远程服务器。copy 拷贝文件 空格+从参数1到参数2move 剪切 空格+两个参数ren 文件的重命名 空格 名字ren+空格 +1.txt+2.txtformat 初始化 电脑 不建议使用Aeit 新建或编辑delete 删除文件及里面文档文件nelp 帮助文档– 切换盘符 d: c: e:– Tab键 帮助自动完成文件名或者文件夹– 上下箭头键 显示之前或者之后的命令
如果源码在编译的过程中出现乱码,原因是因为DOS系统默认的编码方式为GBK,
这时候我需要修改源文件的编码为ANSI,这样乱码问题就解决了。
第一个java程序中的几个点:
1、public static void main(String[] args)是所有java应用程序的入口
2、main方法中的参数String[] args有几种写法:String [] args,String args[]
3、main方法中的参数args是什么,只要是合法的标识符就可以,一般我们都起名为args
4、System.out.println向控制台输出信息
5、编写java代码的时候,每一句都是以;结尾的
6、java代码块中的{},[].()都是成对出现的
java中的注释有三种:
1、// 单行注释
2、/* 多行注释 */
3、/**
* 文档注释
*
*/
public class HelloWorld{
public static void main(String[] args){
System.out.println("欢迎大家!");
//System.out.println("你好");
/**String name = "张三";
*int age = 20;
*System.out.println(name);*/
}
}
第一个java程序
▪ 代码编写:(程序员编辑代码并保存在磁盘上)
public class Welcome{
public static void main(String[] args){
System.out.println("Hello java!");
}
}
– 保存为:Welcome.java编译阶段(编译器创建class字节码文件 )– 进入java文件所在目录,执行命令:javac Welcome.java– 编译时必须加上扩展名.java。执行阶段:– 进入java文件所在目录,执行命令:java Welcome– 运行的是类而非class文件,所以类名后不能加扩展名.class
编程风格注意缩进!定要有缩进。缩进就像人得体的衣着一样!成对编程!括号、引号都应该写完后,再往里加内容。见名知意!最基本的要求
//对的
public class Welcome{
public static void main(String[] args){
System.out.printh("Hello World!");
}
}
//错误
public class Welcome{
public static void main(Sring[] args){
System oul printhn("Hello Worldr")
}
}
//对的
pubic dass Welcome
{
public static vold main(StringI args)
{
System out println("Hello Wortdr");
}
}
第一个Java程序的总结和提升
▪ 注释
– 作用
▪ 注释就是程序员为读者作的说明,是提高程序可读性的一种手段
– 类型
▪ // 单行注释 注释内容从//到本行结尾
▪ /* */ 多行注释 /* */ 注释不能嵌套
▪ /** */文档注释 可以通过JDK提供的Javadoc命令,生成程序的
API文档(面向对象编程时再讲)
– 注意
注释不会出现在字节码文件中。
即Java编译器编译时会跳过注释语句。
反编译工具
▪ 编译– 源代码----->class▪ 反编译– class---->源代码▪ 反编译软件– jd-gui.exe软件提取链接:https://pan.baidu.com/s/1O1e0cDB7PJVKxuJJorwkaw
提取码:zt23▪ 因为编译的时候不会对注释进行处理,所以反编译时不可能得到注释