======================================================
注:本文源代码点此下载
======================================================
1.java语言简介
1.1 java语法的基本特点:
1)简单:具有简洁的面向对象语法,没有运算符重载、多重继承等模糊概念,自动垃集
2)面向对象:具有一切面向对象编程语言的特点,如封装、继承、多态等
3)跨平台:具有与体系结构无关的字节码指令,主流平台都提供了jvm
4)安全:java不支持指针,避免了指针错误和欺骗访问,具有严格的编译和字节码装载和校验机制
5)多线程:具有功能强大、简单、与平台无关的线程处理
----------------------------------------------------------------------------
1.2 jvm的基本原理
1)jvm - java虚拟机,负责解析和执行java代码,jvm可以运行在各种操作系统平台上
2)java跨平台性:
(java程序 一次编写,处处运行。
java是一种跨平台的语言,只要jvm移植到特定的计算机上,就能保证经过编译的java代码能够在该系统上运行 。
3)java程序的编译运行过程:
step1. 通过java编译器将java源文件编译为.class文件,即字节码文件
step2. 启动java虚拟机(jvm),每一个java程序都会启动一个独立的jvm进程。
step3. jvm读取.class文件,并进行验证和初始化
验证:检查.class文件是否符合规格
初始化:为变量分配内存和初始值
step4. jvm将.class文件二次编译成特定平台相关的机器码,
运行并输出结果(hotspot动态编译执行)
----------------------------------------------------------------------------
1.3 jdk、jre、java api的基本概念
jdk - java development kit(java开发工具包)
jre - java runtime enviroment(java运行环境),
jre = jvm + javase api
jvm - java virtual machine(java虚拟机)
java api - 应用程序编程接口,java系统标准类库
development tools:jdk开发工具
jdk java 开发 工具包
|-- 开发工具(命令:java,javac,jar...)
|-- jre java运行环境
|-- java api(应用编程接口,系统类库)
|
|-- jvm java虚拟机
---------------------------------------
1.4 java环境的基本配置
java_home - jdk主目录
classpath - java类路径,
一般设置为.;${java_home}\lib
path - 添加jdk可执行文件的路径
path=...;${java_home}\bin
启动shell终端,键入java -version查看java安装是否成功
参考:http://linux.chinaunix.net/techdoc/beginner/2009/03/23/1104316.shtml
===============================================================
2.2 package语句
1)package语句用于将类放在特定的包下,位于java源文件的第一行
example:package day01;
2)package语句的作用:
用于组织java中的类;避免命名冲突。
3)文件需要放在和包名匹配的目录下
package day01;----->helloworld2.java需要放在day01目录下
4)编译执行包下的java程序:
cd ./day01;
javac helloworld2.java
cd..
java day01.helloworld2
(jvm在当前目录下寻找day01子目录,并加载day01目录的 helloworld2.class)
5)jdk中常用的包
java.lang包 - 提供system类、string类、integer类
(java.lang包中的类不需要import导入,是自动导入的)
java.util包 - 工具包,提供date类(日期)、random类(随机数)、
集合接口和类。
java.io包 - 提供与文件和流操作有关的类。
java.sql包 - 提供操作数据库有关的类。
java.net包 - 提供网络编程相关的类。
java.awt包,javax.swing包 - 提供创建图形界面相关的类
---------------------------------------------------------------------------------- 2.3 import语句
1)import语句用于导入包中的类,以便在代码中直接使用。
2)方式一:导入具体的类,example:import java.util.date;
方式二:导入包下的所有类,example:import java.util.*;
question:import java.*;是否可以导入所有以java开头的包呢?
(不可以)*只能导入下一级的包
3)import语句位于package语句之后,class定义之前,
可以有多条import语句。
==================================================================================
3.elcipse的使用
3.1 理解workspace - 工作区,用来管理多个项目,与目录对应。
项目通常存放在工作区的目录下。
3.2 区分folder和source folder
folder - 文件夹,用来存放任何的普通文件,
如notes就是一个folder
source folder - 源文件夹,用来存放java源文件,
eclipse默认提供了一个源文件夹(src),
源文件编译后的.class文件存放在project/bin目录下。
一个工程可以根据需要建立建立多个source folder
3.3 在eclipse中管理多个jre
step1. window->preferences->java
->installed jres
step2. 在工程右键菜单中点击"build path(构建路径)"
->configure build path->选择jre
->remove->add libary->system jre library
3.4 eclipse的快捷键
eclipse常用的快捷键:
alt+/: content assistant
-------------------------------
main,alt+/->main方法
sysout,alt+/->system.out.println()
for,alt+/->for语句
if,alt+/->if语句
-------------------------------
f3: open declaration,查看定义
ctrl+shift+m: 导入包
ctrl+shift+f: 格式化代码
alt+shift+x,j:运行java程序
alt+up:将代码上移一行
alt+down:将代码下移一行
ctrl+/:设置/取消单行注释
ctrl+shift+/:多行注释
ctrl+shift+\:取消多行注释
ctrl+d:删除一行
(设置快捷键:window->preferences->gerneral->keys)
参考:http://www.blogjava.net/action/articles/17339.html
============================================
4.java注释
4.1 注释的三种类型
1)单行注释://,ctrl+/
2)多行注释:/* ..*/,ctrl+shift+/
3)文档注释:/** ..*/
4.2 使用javadoc根据文档注释生成相关的文档
eclispe右键菜单export->java->javadoc
=============================================
5.变量
3.1 变量用于存储变化的数据,变量名称可以包含字母、数字
、_、$,但不能以数字开头。
example: sum_100
5.2 变量的声明:使用变量前需要声明变量
语法:数据类型 变量名;
example: int sum_100;
double amount;
5.3 变量的赋值和使用
example:sum_100 = 0; //赋值
int i=1;
sum_100=i; //使用变量i
5.4 一条重要的规则:局部变量在使用前必须赋初值。
(变量的初始化指的是声明后第一次赋值)
5.5 变量不能重复定义
5.6 变量的作用域
变量只能在变量定义开始到作用域结束的范围内使用。
(超出作用域的变量可以再次定义)
==============================================
4.使用integer类与进制的方法
(integer类位于java.lang包)
1)int parseint(string s,[int radix])
--将字符串形式的数值转为十进制的整数,
参数radix指定进制,如2,16等,默认为10进制
2)string tostring(int num,int radix);
--返回数值的指定进制的字符串形式
==============================================
5.基本数据类型
5.1 基本数据类型有8种:
byte short int long float double char boolean
5.2 整数类型:
(整数类型都是有符号的整数,最高位是符号位,
0代表正数,1代表负数)
byte - 字节类型,在内存中占用1个字节,
存储数据的范围是-128~127
byte的最小值 1000 0000,最大值0111 1111
对应的类byte提供两个常量:
min_value - byte类型的最小值
max_value - byte类型的最大值
short - 短整型,在内存中占用2个字节(16位)
存储数据的范围是-2^15~ 2^15-1
对应的类short提供两个常量:
min_value - short类型的最小值
max_value - short类型的最大值
int - 整型,在内存中占用4个字节(32位)
存储数据的范围是-2^31~ 2^31-1(20亿+)
对应的类integer提供两个常量:
min_value - int类型的最小值
max_value - int类型的最大值
long - 长整型,在内存中占用8个字节(64),
存储数据的范围是-2^63~ 2^63-1
---------------------------------------
5.3 浮点类型
float - 单精度,在内存中占用4个字节
double - 双精度,在内存中占用8个字节,
double比float类型更加精确
5.4 字符类型
char - 字符类型,在内存中占用2个字节,
是一个无符号的16位整数,
范围是0~65535,采用的unicode编码
example:
char c='a';->unicode编码65
->内存中二进制形式:
0000 0000 0100 0001
字符0~9,a~z,a~z都是连续编码的
'0'的unicode编码是48
'a'的unicode编码是65
'a'的unicode编码是97
5.5 布尔类型
boolean - 布尔类型,表示真和假,取值为true和false
------------------------------------------
6.java.util.scanner类的使用简介
scanner类用于接收控制台的数据
使用scanner的步骤:
step1.通过system.in创建scanner对象
scanner sc=new scanner(system.in);
step2.通过next()方法获取输入的字符串
通过nextint()方法获取输入的整数
通过nextdouble()方法获取输入的浮点数
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
82

被折叠的 条评论
为什么被折叠?



