做java程序员有一段时间了,但是感觉基础的东西了解的很少很少,我从现在开始从新开始。。。。。。。。。。。学习笔记(连载)给有需要的人
2009-12-08 16:57
1076 查看
李京蔚
JAVA
学习笔记
2009
年
12
月
8
日
从新开始、从心开始
一个
Java
类的结构:
一个
Java
应用包含一个或者多个
Java
源文件,每个
Java
源文件只能包含下列内容(空格和注释除外)
l
零个或多个包声明语句(
package *.*.*;
)
l
零个或多个包引入语句(
import *.*.*;
)
l
零个或多个类的声明(
public class ***{}
)
l
零个或多个接口声明(
interface
)
l
零个或多个类的生命(
public void ***(
参数类表
){}
)
包生命语句
package
*.*.*;
Package
在一个类中只能出现一次,并且必须放在源文件的第一行(注释行除外)
包的作用:
1.
能够区分名字相同的类
2.
有助于实施访问权限控制
3.
有助于划分和组织
Java
应用的各个类
包引入语句
import *.*.*;
import
在一个类中可以出现多次,可以引入不同的包以便对该类的应用做支持
当一个类想要访问其他包中的类时,那么必须引入要访问类的所在包(
java.lang
包创建类的时候默认加载,这个除外)
例:
import com.lee.chapter1;
此方法引入指定包中的类
import com.lee.*;
此方法引入
com.lee
包中下所有的类
相比较而言前者方法在性能上要优于后者,因为前者能迅速的指向该包中的类,而后者要搜寻该包中下所有的类,直至找到对应的类。
另外当一个类导入其他包时不会初始化导入的包,详细请看以后章节的介绍
…
类的声明
public class one{};
每个
java
源文件中可以包含多个类或接口的定义,但是对多只能有一个类或接口是
public
的。而且
java
源文件的名字必须要与此类的
public
类型的类名相对应。
源文件名字与类
one
名字对应。
方法的声明
在
Java
语言中,每个方法都属于特定的类,方法的声明必须位于类的声明之中
如果在声明方法中返回值类型为
void
时,那么该方法可以没有
return
语句,如果有返回值类型
如
public
String one(){}
那么要在方法中加入
retrun
语句
return
语句的作用
1.
结束该方法的执行
2.
想本方法的调用者返回数据
程序入口
main()
方法的声明
Main
方法必须符合四个条件
1.
访问权限:
public
2.
静态方法:
static
3.
参数限制:
main(String[] args)
4.
返回类型:
void
例:
以上四种方式都是合法的声明主方法的格式
args
是
main
方法的参数,他是一个
String
类型的数组,把这个参数改成其他的名称也是可以的。
此外,由于被
static
修饰的方法默认都是
final
类型,随以在前边加上
final
类型进行修饰也是可以的(
final
类型是不能被子类覆盖的)。
另外,
main
方法可以重载。尽管不能再次作为程序的入口,但是是合法的方法,能通过编译。
给
main
方法传递参数
当用
java
命令执行
Java
应用程序时,可以在命令行想
main()
方法传递参数,格式为
Java classname [args…]
例:
此时
main
方法中的
args
参数的长度为
2,
值分别是
args1
、
args2
注释语句
在
java
中有三种注释方法
1.
//…
从
//
开始到本行结束为注释内容,被编译器忽略
2.
/*…*/
在
/*
之后到
*/
之前的内容全部为注释,被编译器忽略
3.
/**…*/
在
/**
之后到
*/
之前的内容全部为注释,被编译器忽略,但是可以作为
JavaDoc
文档内容
关键字
在
java
中有些单词是不可用的,这些单词被称为关键字,因为在
java
本身就已经用到了这些词语,如果我们再次使用这些关键字的话,会和
java
本身产生冲突,这样编译器不会通过
Java
语言的关键字包括
用于类和接口的生命——
class,extends,implements,interface
包引入和包声明——
import,package
数据类型——
boolean,byte,char,double,float,int,long,short
某些数据类型的可选值——
false,true,null
流程控制——
break,case,continue,default,do,dlse,for,if.return.switch,while
异常处理——
catch,finally,throw,throws,try
修饰符——
abstract,final,native,private,protected,public,static,synchronized,transient,volatile
操作符——
instanceof
创建对象——
new
引用——
this,super
方法返回值类型——
void
所有的关键字都是小写的。
另外还有一些
java
保留字,保留字虽然现在没有作为关键字,但是
java
的后续版本可能用到,那么现在
java
的保留字有
const,goto
。
标识符
标识符是指程序中包、类、接口、方法、变量的名字,那么名字是有一定规范的。
l
标识符的手字符必须是字母、下划线
(_)
、美元符
(
$
)
、或者为人民币符
(
¥
)
l
标识符有数字(
0-9
)大小写字母(
A-Z
)、下划线
(_)
、美元符
(
$
)
、或者为人民币符
(
¥
)
等组成
l
不能把关键字或保留字作为关键字使用
l
标识符没有长度的限制
l
标识符是大小写敏感的
one
和
One
是两个标识符
变成规范
类名和接口名:首字母大写,如果有多个单词组成,那么每个单词的首字母大写,如:
ThisIsClass
方法名和变量名:首字母小写,如果由多个单词组成,那么第一个单词首字母小写,其余的单词首字母大写
包名:全部小写
常量名:全部大写,如果由多个单词组成,在没个单词连接处用(
_
)链接各个单词
Java
常用开发目录
Javadoc
文档
前面说到的注释
/**…*/
可以作为
javadoc
来使用
Javadoc
用法请另外查询其使用方法,这里不说明。
Java
虚拟机
以后深究
持续未完。。。。。。。。。
JAVA
学习笔记
2009
年
12
月
8
日
从新开始、从心开始
一个
Java
类的结构:
// 此类所在项目的哪个包中 package com.lee.chapter1; // 引入外部包 import java.util.*; // 类的声明 public class Structure { // 全局变量也叫成员变量 static int i ; // 成员变量初始化可以不用赋值, int 类型数据默认值是 0 public static void main(String[] args) { // 此方法是 JAVA 整个程序的入口处 main 函数 // 局部变量 int k = 0; // 局部变量初始化时必须赋值,即使在初始化是不赋值,也要在调用此变量之前附上值,否则会报错 System. out .println( "i=" +String.valueOf ( i )); // 由于主函数是静态方法,所以调用本类的成员变量也是要静态的变量 System. out .println( "k=" +String.valueOf (k)); } } |
Java
应用包含一个或者多个
Java
源文件,每个
Java
源文件只能包含下列内容(空格和注释除外)
l
零个或多个包声明语句(
package *.*.*;
)
l
零个或多个包引入语句(
import *.*.*;
)
l
零个或多个类的声明(
public class ***{}
)
l
零个或多个接口声明(
interface
)
l
零个或多个类的生命(
public void ***(
参数类表
){}
)
包生命语句
package
*.*.*;
Package
在一个类中只能出现一次,并且必须放在源文件的第一行(注释行除外)
包的作用:
1.
能够区分名字相同的类
2.
有助于实施访问权限控制
3.
有助于划分和组织
Java
应用的各个类
包引入语句
import *.*.*;
import
在一个类中可以出现多次,可以引入不同的包以便对该类的应用做支持
当一个类想要访问其他包中的类时,那么必须引入要访问类的所在包(
java.lang
包创建类的时候默认加载,这个除外)
例:
import com.lee.chapter1;
此方法引入指定包中的类
import com.lee.*;
此方法引入
com.lee
包中下所有的类
相比较而言前者方法在性能上要优于后者,因为前者能迅速的指向该包中的类,而后者要搜寻该包中下所有的类,直至找到对应的类。
另外当一个类导入其他包时不会初始化导入的包,详细请看以后章节的介绍
…
类的声明
public class one{};
每个
java
源文件中可以包含多个类或接口的定义,但是对多只能有一个类或接口是
public
的。而且
java
源文件的名字必须要与此类的
public
类型的类名相对应。
public class one{}; class two{}; |
one
名字对应。
方法的声明
在
Java
语言中,每个方法都属于特定的类,方法的声明必须位于类的声明之中
// 类的声明 public class Structure { // 方法的声明 public void one(String name) { ………… 方法体 } } |
void
时,那么该方法可以没有
return
语句,如果有返回值类型
如
public
String one(){}
那么要在方法中加入
retrun
语句
// 类的声明 public class Structure { // 方法的声明 public String one(String name) { ………… 方法体 return null ; // 实际中要与返回值类型相对应 } } |
语句的作用
1.
结束该方法的执行
2.
想本方法的调用者返回数据
程序入口
main()
方法的声明
Main
方法必须符合四个条件
1.
访问权限:
public
2.
静态方法:
static
3.
参数限制:
main(String[] args)
4.
返回类型:
void
例:
1. public static void main(String[] args ) {} 2. public static void main(String args[] ) {} 3. static public void main(String[] args) {} 4. final public static void main(String[] args ) {} |
args
是
main
方法的参数,他是一个
String
类型的数组,把这个参数改成其他的名称也是可以的。
此外,由于被
static
修饰的方法默认都是
final
类型,随以在前边加上
final
类型进行修饰也是可以的(
final
类型是不能被子类覆盖的)。
另外,
main
方法可以重载。尽管不能再次作为程序的入口,但是是合法的方法,能通过编译。
给
main
方法传递参数
当用
java
命令执行
Java
应用程序时,可以在命令行想
main()
方法传递参数,格式为
Java classname [args…]
例:
java Structure args1 args2 |
main
方法中的
args
参数的长度为
2,
值分别是
args1
、
args2
注释语句
在
java
中有三种注释方法
1.
//…
从
//
开始到本行结束为注释内容,被编译器忽略
2.
/*…*/
在
/*
之后到
*/
之前的内容全部为注释,被编译器忽略
3.
/**…*/
在
/**
之后到
*/
之前的内容全部为注释,被编译器忽略,但是可以作为
JavaDoc
文档内容
关键字
在
java
中有些单词是不可用的,这些单词被称为关键字,因为在
java
本身就已经用到了这些词语,如果我们再次使用这些关键字的话,会和
java
本身产生冲突,这样编译器不会通过
Java
语言的关键字包括
用于类和接口的生命——
class,extends,implements,interface
包引入和包声明——
import,package
数据类型——
boolean,byte,char,double,float,int,long,short
某些数据类型的可选值——
false,true,null
流程控制——
break,case,continue,default,do,dlse,for,if.return.switch,while
异常处理——
catch,finally,throw,throws,try
修饰符——
abstract,final,native,private,protected,public,static,synchronized,transient,volatile
操作符——
instanceof
创建对象——
new
引用——
this,super
方法返回值类型——
void
所有的关键字都是小写的。
另外还有一些
java
保留字,保留字虽然现在没有作为关键字,但是
java
的后续版本可能用到,那么现在
java
的保留字有
const,goto
。
标识符
标识符是指程序中包、类、接口、方法、变量的名字,那么名字是有一定规范的。
l
标识符的手字符必须是字母、下划线
(_)
、美元符
(
$
)
、或者为人民币符
(
¥
)
l
标识符有数字(
0-9
)大小写字母(
A-Z
)、下划线
(_)
、美元符
(
$
)
、或者为人民币符
(
¥
)
等组成
l
不能把关键字或保留字作为关键字使用
l
标识符没有长度的限制
l
标识符是大小写敏感的
one
和
One
是两个标识符
变成规范
类名和接口名:首字母大写,如果有多个单词组成,那么每个单词的首字母大写,如:
ThisIsClass
方法名和变量名:首字母小写,如果由多个单词组成,那么第一个单词首字母小写,其余的单词首字母大写
包名:全部小写
常量名:全部大写,如果由多个单词组成,在没个单词连接处用(
_
)链接各个单词
Java
常用开发目录
目录 | 描述 |
src 子目录 | 存放 java 源文件 |
classes 子目录 | 存放编译生成的 java 类文件 |
lib 子目录 | 存放第三方 java 软件的 jar 文件 |
doc 子目录 | 存放各种帮助文档 |
doc/api | 存放 javadoc 文档 |
deploy 子目录 | 存放 java 应用的打包文件—— jar 文件 |
文档
前面说到的注释
/**…*/
可以作为
javadoc
来使用
Javadoc
用法请另外查询其使用方法,这里不说明。
Java
虚拟机
以后深究
持续未完。。。。。。。。。
相关文章推荐
- [学习笔记]java方向需要了解的基础内容
- 黑马程序员_毕向东_Java基础_DAY03_循环控制_学习笔记
- C\C++ 程序员从零开始学习Android - 个人学习笔记(二) - java基础 - 从源代码到运行
- DELPHI语法基础学习笔记-Windows 句柄、回调函数、函数重载等(Delphi中很少需要直接使用句柄,因为句柄藏在窗体、 位图及其他Delphi 对象的内部)
- [好程序员训练营]java基础笔记之static关键字的学习
- JQuery学习笔记02-选择器把需要的东西揪出来(基础)
- java 从零开始,学习笔记之基础入门(开始)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(三) - java基础 - 环境和工具
- 整理JAVA学习笔记 JAVA基础需要掌握重点
- 学了有段时间了,只有做过笔记和云笔记,现在开始把学习和未来工作中遇到的好资料都保存到博客了.用了CSDN博客瞬间感觉自己Hacker了.哈哈
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- C\C++ 程序员从零开始学习Android - 个人学习笔记(五) - java基础 - 类(待续)
- 成为Java顶尖程序员 ,看这11本书就够了 以下是我推荐给Java开发者们的一些值得一看的好书。但是这些书里面并没有Java基础、Java教程之类的书,不是我不推荐,而是离我自己学习 Java基础技
- Java学习笔记31:Java程序员应该了解的10个面向对象设计原则
- [好程序员训练营]----java基础之多线程部分学习笔记
- C\C++ 程序员从零开始学习Android - 个人学习笔记(十) - java基础 - 多线程(待续)
- [Java多线程]-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(九) - java基础 - 异常
- 学习java零基础开始笔记