Java基础知识
2.第一个Java应用
2.1创建Java源文件
Java应用由一个或多个扩展名为.java的文件构成。
public class Doll{ /** 福娃的名字 */ private String name; /** 构造方法 */ public Doll(String name){ this.name=name; //设置福娃的名字 } /** 说话 */ public void speak(){ System.out.println(name); // 打印名字 } }
2.1.7 java注释语句
1、任意位置
2、编译器忽略注释内容
3、三种形式,// test 单行注释,/* test */ 多行注释,/** test */javaDoc文档注释。
2.1.8 java关键字
类、接口声明:class,extends,implements,interface
包引入和包声明:import,package
数据类型:boolean,byte,char,double,float,int,long,short
数据类型可选值:false,true,null
流程控制:break,case,continue,default,do,else,for,if,return,switch,while
异常处理:catch,finally,throw,throws,try
修饰符:abstracct,final,native,privace,protected,public,synchronized,transient,volatile
操作符:instanceof
创建对象:new
应用:this,super
方法返回类型:void
预留的关键字:const,goto
注意:
1、所有的关键字都是小写。
2、friendly,sizeof不是java的关键字。
3、程序中的标识符不能已关键字命名。
2.1.9 标识符
程序中包、类、接口、变量、方法的名字,必须遵守的规则:
1、首字母必须是字母、下划线、美元符号或人民币符号。
2、由数字、字母、下划线以及美元符号组成。
3、不能把关键字和保留字作为标识符。
4、标识符区分大小写。
2.1.10 java编程规范
编程规范是推进遵守的变成习惯,不遵守不会导致编译错误,但会降低代码的可读性。
1、类名和接口名:首字母大写。如果类名由几个单词构成,那么每个单词的首字母大写,其余字母小写。
2、方法名和变量名:首字母小写。如果方法名或变量名有几个单词组成,那么除第一个单词外其余每个单词的首字母大写,其余字母小写。如果变量名指代的实体数量大于1,那么采用复数形式。
3、包名:全部小写。
4、常量名:全大写,多个单词用下划线连接。
2.2 用jdk管理java应用
1、src子目录:存放java源文件
2、classes子目录:存放编译生成的java类文件。
3、lib子目录:存放第三方java软件的jar文件。
4、doc子目录:存放各种帮助文档。
5、doc/api子目录:存放javadoc文档。
6、deploy子目录:存放java应用的打包文档——jar文件。
javac生成class文件
jar生成打包文件
2.2.1 jdk简介
1、java虚拟机:解析,执行java程序,java虚拟机可运行在各种操作系统上。
2、jdk类库:基础java类,各种使用类,如:java.long、java.io、java.util、java.awt、javax.swing、java.sql
3、开发工具:可执行的程序,如:javac.exe(编译工具)、java.exe(运行工具)、javadoc.exe(生成javadoc文档的工具)、jar.exe(打包工具)
JAVA_HOME\bin下的工具:
javac.exe:java编译器,把java源文件编译成java类文件。
jar.exe:java应用的打包工具。
java.exe:运行java程序。
javadoc.exe:JavaDoc文档生成器。
2.2.2 编译java源文件
jvac用来编译java源文件,语法如下:
javac [ options ] [ sourcefiles ]
javac后跟多个参数以便控制javac命令的编译方式。
两种形式:
1、没有参数。如:
-nowarn(不输出警告信息)
-verdose(输出编译器运行中的详细工作信息)
-deprecation(输出源程序中使用了不鼓励使用的API的具体位置)
2、带有参数。如:
-classpath <路径>(覆盖classpath环境变量,重新设定用户的classpath,如果既没有设定classpath,也没指定-classpath路径,那么用户的classpath为当前路径),是告诉jvm可执行的class(java类文件)存放的目录,classpath是一组目录,每组目录都可能被jvm访问,按顺序,只要找到一个就不再往下找,这几组都找不到就报错。
-sourcepath<路径>(指定java源文件的路径),指定java源文件的存放路径。
-d <目录>(指定编译器生成的类文件的存放目录。编译java源文件时需要指定便有后的java类文件存放的位置,这个位置不包括类中的package声明的路径),指定编译生成的java类文件的存放路径。
2.2.3 运行java程序
1、java命令运行java程序,它会启动虚拟机,java虚拟机加载相关的类,然后调用主程序类的main()方法。
-classpath <路径>:覆盖classpath环境变量,重新设定用户的classpath,如果既没有设定classpath环境变量,也没有设定-classpath选项,那么用户的classpath为当前路径。
-verdose:输出运行中的详细工作信息。
设置classpath,classpath代表java类的根路径。java命令从classpath中寻找所需的java类,设置方法有3中
- 在操作系统的控制面板设置。
- 在dos命令行设置,set classpath=C:\classes2
- 在java命令或javac命令中通过-classpath选项来设置classpath:java -classpath C:/classes3; C:/lib/mytools.jar SomeClasses
说明:
系统环境变量中设置的classpath是全局性的。
dos窗口中定义的环境变量只在当前dos窗口有效。
在java或javac命令中用-classpath选项设置的classpath只对当前的javac或java命令有效。
2、运行java类型文件
在dos命令使用java
注意:
1、必须指定主程序类的完整名字。
2、在classpath中类文件的存放位置必须和包名匹配。
java虚拟机在解析calss文件时,会认为class文件的路径包括类中的包指定的路径。所以除了要指定根目录还要指定包目录。
2.2.4 给java应用打包
使用jar命令打包,文件的扩展名为.jar。
打包的作用:便于发布java应用。提高网上传输java应用的速度。
1、打包命令
在dos命令行转到C:\dollapp\class目录下执行如下命令:
jar -cvf C:\dollapp\classes\dollapp.jar *.*
把C:\dollapp\class下的所有文件打包为dollapp.jar,并存放到C:\dollapp\classes下。
2、读取jar文件
java -classpath C:\dollapp\deploy\dollapp.jar com.abc.dollapp.main.AppMain
java或javac会运行jar文件中java类,把dollapp.jar添加到classpath中,然后运行其中的AppMain类。
3.数据类型和变量
程序的基本功能是处理数据。
程序用变量来表示数据。
public int add(int am, int b){
int result=a+b;
return result;
}
a b result都是变量。
数据类型名 变量名;
int result;
上边代码定义了一个变量,名为result,类型是int
java允许同时定义多个变量
int a,b,c;
int a=1,b=2,c=3;
java把数据类型分为基本数据类型和引用数据类型。
基本类型---数值类型---浮点数类型---float
| |---double
|
|---整数类型---byte
| |---short
| |---int
| |---long
|
|---字符类型---char
引用类型---引用---类类型
|---接口类型
|---数组类型
3.1 基本数据类型
3.1.1 8种基本类型
boolean类型特点
1、在java虚拟机中用0表示false,用非零表示true。
2、在java程序中不允许把整数或null赋植给boolean。
3.1.2
byte\short\int\long类型
有符号、无符号
1、选择合适的数据整数类型
1)考虑实际需求,如月份1-12,使用byte即可。
2)程序性能,强制类型转换。
byte month=1;
month=month+2; //编译错误,month+2的结果是int类型
month=(byte)(month+2) //合法
int month=1;
month=month+1;
2、给整数类型变量赋值
1)在类型取值范围内,直接复制即可。
2)不在取值范围内,需要进行强制类型转换。
buye b = (byte)129;
3)long类型转换,在整数后加大写L或小写l,表示long整数。
4)java语言允许把八进制、十六进制和十进制数赋值给整数类型的变量。
十六进制以0x开头。

浙公网安备 33010602011771号