1.1 Java语言概述
1.1.1 Java语言发展史(了解)
l Java之父詹姆斯·高斯林(JamesGosling)和他的团队在SUN公司开发了Java语言.
l SUN
– (Stanford University Network斯坦福大学网络公司)
l 1995年5月23日,Java语言诞生
l 1996年1月 JDK1.0
l 1997年2月 JDK1.1
l 1998年12月JDK1.2(将Java分成了J2SE,J2EE,J2ME)
l 2000年5月 J2SE1.3
l 2002年2月 J2SE1.4(1.4.2版本很多公司在使用)
l 2004年10月 JDK1.5(改名JavaSE5.0,JavaEE,JavaME)
l 2006年12月JavaSE6.0
l 2009年04月20日,甲骨文(Oracle)74亿美元收购Sun。
l 2011年7月 JavaSE7.0(市场主流版本)
l 2014年3月 JavaSE8.0
1.1.2 Java语言平台概述
l J2SE(Java 2 Platform StandardEdition)标准版
是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发
l J2ME J2ME(Java 2 Platform MicroEdition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案,该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发
1.1.3 Java语言跨平台原理
l 平台:指的是操作系统(Windows,Linux,Mac)
l 跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行
即java的.class程序可以在不同操作系统上均可以运行。(java的.class文件相当于Windows中的.exe文件,是可执行的程序)
l 原理:实现跨平台需要依赖Java的虚拟机 JVM (Java VirtualMachine)
l java语言是跨平台的,java虚拟机不是跨平台的。
1.1.4 JRE和JDK
JDK : JRE+开发工具
JRE: JVM+核心类库
JVM:保证语言的跨平台
1.2 常用DOS命令
l 打开控制台
按win + R,然后输入cmd,再按回车
l 常用命令
: 回车 盘符切换 d: c:
dir: 列出当前目录下的文件以及文件夹
cd: (进入指定目录)
进入 cd 目录;cd 多级目录
回退 cd.. ;cd\
cls : (clear screen)清屏
exit : 退出dos命令行
运行应用程序:程序完整名称 参数
一个快捷方式,在目录上直接输入cmd就进入了当前目录的DOS界面
1.3 JDK的下载与安装
l JDK的下载(不演示)
n 通过官方网站获取JDK
n http://www.oracle.com
n 针对不同操作系统,下载不同的JDK版本
n 请参照(JDK下载安装文档.doc)回去练习
l JDK的安装(演示)
n 傻瓜式安装,下一步即可。
n 建议:安装路径不要有中文或者特殊符号如空格等。开发工具最好安装目录统一。
1.4 HelloWorld案例
第一步:创建Java程序的源文件,在里面编写符合java语法的代码;
第二步:使用javac.exe编译工具把.java文件编译成.class文件;
第三步:使用java.exe运行工具,解释执行.class程序;
1.4.1 HelloWorld案例的编写与运行
l 案例的代码编写
Java源代码编写只需要使用最普通的文本编辑器编写即可,例如Windows系统自带的notepad即可。
然后修改文件名称为HelloWorld.java,注意文件名称的大小写。以及是否已经修改了文件的扩展名。
n 首先定义一个类
public class 类名
n 在类定义后加上一对大括号{}
n 在大括号中间添加一个主(main)方法/函数
public static voidmain(String [] args){ }
n 在主方法的大括号中间添加一行输出语句
System.out.println(“HelloWorld”);
n 完整代码:
public class HelloWorld{ public staticvoid main(String[] args){ System.out.println("HelloWorld"); } }
l 案例的代码运行
n 编译
u 进行源文件所在目录:即进入D:\java目录;
u 我的JDK安装在D:\develop\Java\jdk1.7.0_51目录,那么编译器完整名称为:D:\develop\Java\jdk1.7.0_51\bin\javac.exe;
u 我的源文件存放在:D:\java\HelloWorld.java;
u 编译命令为:D:\java>D:\develop\Java\jdk1.7.0_51\bin\javac.exeHelloWorld.java
n 运行
u 进入字节码文件所在目录:即进入D:\java目录;
u D:\develop\Java\jdk1.7.0_51\bin\java.exeHelloWord;
u 注意,在运行HelloWorld.class文件时不能给出“.class”,切记!!!
1.4.2 HelloWorld案例常见问题
l 后缀名问题
l 单词拼写问题
正确的 错误的
n class Class
n String string
n System system
n main mian
l 中文符号问题
n 提示非法字符
1.5 NotePad++软件安装和配置
l 为了让我们写的程序错误看起来更直接,我们安装一款高级记事本软件。
Notepad++
l Notepad软件的安装和配置
设置 – 首选项 – 新建 – 默认语言(修改为java)和编码(修改为ANSI)
l 使用Notepad软件编写一个HelloWorld案例
1.6 Path环境变量配置
l 为什么要配置
为了告诉操作系统,javac.exe和java.exe工具文件在哪个目录下可以找到.
n 我们发现每次程序编译与运行都要输入D:\develop\Java\jdk1.7.0_51\bin后,才能使用javac.exe与java.exe,这样的方式很麻烦,那么,能否不输入D:\develop\Java\jdk1.7.0_51\bin呢?是可以的,通过配置Windows的PATH环境变量来完成。
n 我们配置path的目的是让Java的bin目录下的.exe命令可以在任意目录下执行,无需进入到javac所在的目录就可以找到javac.exe命令,方便完成程序。
l 如何配置
n 创建新的变量名称:JAVA_HOME
计算机-右键属性-高级系统设置-高级-环境变量-系统变量
n 为JAVA_HOME添加变量值:JDK安装目录
n 在path环境变量最前面添加如下内容
%JAVA_HOME%\bin;
1.7 注释
l 注释概述
n 用于解释说明程序的文字
l 注释分类
n 单行注释
格式: //注释文字
n 多行注释
格式: /* 注释文字 */
n 文档注释
格式:/** 注释文字 */
l 注释作用
n 解释说明程序,提高程序的阅读性
public class Demo02ZhuShi { /* 这是main(主)方法,是程序执行的入口 所有的代码执行都是从main方法开始的 */ publicstaticvoidmain(String[] args) { //这是输出语句,作用是吧()中的内容打印到控制台 System.out.println("HelloWorld"); } }
1.8 关键字
l 关键字概述
n 关键字是被Java语言赋予特殊含义,具有专门用途的单词,比如之前接触的class,public,static,void均为Java已经预设好的。你可以先把Java关键字理解为“命令”!
l 关键字特点
n 组成关键字的字母全部小写
n 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。
l java中的所有关键字展示
第2章 常量l 常量概述
n 在程序执行的过程中,其值不可以发生改变的数据;
l 常量分类
n 字符串常量 用双引号括起来的内容(“HelloWorld”"123","a123","中国","","","5")
n 整数常量 所有整数(12,-23)
n 小数常量 所有小数(12.34)
n 字符常量 用单引号括起来的一个字符(‘a’,’A’,’5’,' ','中',' ')
n 布尔常量 较为特有,只有true和false
n 空常量 null(数组部分讲解)
示例代码:
public class Const { publicstaticvoid main(String[] args) { //字符串常量 System.out.println("HelloWorld"); //整数常量 System.out.println(12); System.out.println(-23); //小数常量 System.out.println(12.34); //字符常量 System.out.println('a'); System.out.println('0'); //布尔常量 System.out.println(true); System.out.println(false); } }第3章 变量
l 变量概述
n 在程序执行的过程中,在某个范围内其值可以发生改变的量
n 从本质上讲,变量是内存中储存数据的区域,你能用它来存数据和取数据,还可以改变这个数据。
n 图解:
l 变量定义格式
n 数据类型变量名 = 初始化值;
n 注意:格式是固定的,记住格式,以不变应万变
3.1 计算机存储单元
l 变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
l 除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:
1byte(B)(字节) = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
1PB = 1024TB
3.2 数据类型概述
l 数据类型分类
|-基本数据类型
|-数值型
|-整数类型byte,short,int,long
|-浮点(小数)类型float,double
|-字符型char
|-布尔型boolean
|-引用数据类型
|-类class
|-接口interface
|-数组[] 集合
l 基本数据类型(4类8种)
四类 | 八种 | 字节数 | 数据表示范围 |
整型 (精确)
| byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2147483648~2147483647 | |
long | 8 | -263~263-1 | |
浮点型 (不精确) | float | 4 | -3.403E38~3.403E38 |
double(默认) | 8 | -1.798E308~1.798E308 | |
字符型 | char | 2 | 表示一个字符,如('a','A','0','家') |
布尔型 | boolean | 1 | 只有两个值true与false |
l 注意事项:
A:整数默认是int类型,浮点数默认是double
B:定义long类型数据的时候,要在数字的后面加L或者l,建议加L
定义float类型数据的时候,要在小数的后面加F或者f,建议加F
C:字符
Java中的字符采用的是unicode编码,每一个字符占用两个字节,就可以存储一个汉字
D:boolean类型适用于逻辑运算,一般用于流程控制
3.3 标识符
l 作用
给包,类,方法,变量等取的名字
l 组成规则
由字符,下划线_,美元符$组成
这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。
l 注意事项
不能以数字开头
不能是Java中的关键字
l 命名规则
n 基本要求
见名知意
n 常见命名的规则
u 包 (其实就是文件夹,用于对类进行管理)
全部小写,多级包用点隔开。公司域名的反写.
jdguigu.com写成com.jdguigu
u 类
一个单词首字母大写,如 Student,Car;
多个单词,每个单词首字母大写,如HelloWorld
这种命名方式叫大驼峰式命名.
u 变量或者方法
一个单词首字母小写,如age,show()
多个单词,从第二个单词开始每个单词首字母大写,如maxAge,getAge()
这种命名方式叫小驼峰式命名.
public class BiaoZhiFu { public static void main(String[] args) { //定义变量 //数据类型变量名 = 初始化值; inta = 10; //正确 intb2 = 20; //错误 //int2b = 30; //不能是java中的关键字 //错误 //intpublic = 40; } }
3.4 基本数据类型变量的定义和使用
l 编写案例演示每种不同数据类型的变量定义
publicclass Demo07Variable {
publicstaticvoidmain(String[] args) {
//定义byte类型的变量
byte b = 99;
System.out.println(99);
System.out.println(b);
//定义short类型的变量
shorts = 10000;
System.out.println(s);
//定义int类型的变量
inti = 1600000000;
System.out.println(i);
//定义long类型的变量
longl = 6000000000L;
System.out.println(l);
//定义float类型的变量
floatf = 12.34F;
System.out.println(f);
//定义double类型的变量
doubled = 12.34;
System.out.println(d);
//定义char类型的变量
charc = 'a';
System.out.println(c);
//定义boolean类型的变量
booleanbb = false;
System.out.println(bb);
}
}
3.5 变量定义的注意事项
l 变量未赋值,不能直接使用
引出变量的第二种使用格式
l 变量只在它所属的范围内有效。
定义变量在哪对大括号内,变量就属于哪对大括号
l 如果定义的变量数据类型相同,一行上可以定义多个变量,但是不建议
public class VariableDemo {
public static void main(String[] args) {
//定义变量
inta = 10;
System.out.println(a);
//变量未赋值,不能使用
intb;
b =20; //变量在使用前赋值都是可以的
System.out.println(b);
//变量只在它所属的范围内有效
{
intc = 100;
System.out.println(c);
}
//System.out.println(c);
//一行上可以同时定义多个变量,但是不建议
/*
intaa,bb,cc;
aa = 10;
bb = 20;
cc = 30;
*/
int aa=10, bb=20, cc=30;
}
}