学java先看基础,二动手实践没有别的捷径。
i码邦app,让你在看java教程的同时,随时随地动手写java代码。
1. java语言的特点:①简单:没有头文件、指针、运算符重载
②面向对象
③分布式:可以通过URL打开访问网络上的应用
④健壮性:Java消除有出错倾向的状态:指针
⑤安全:禁止运行时堆栈溢出...
⑥可移植性:JVM
⑦体系结构中立
⑧解释型
⑨高性能
⑩多线程
⑾动态性
2. jdk的三个版本:
① j2se-->JAVASE-->标准版 主要用于桌面应用程序
② j2me-->JAVAME-->微缩版 主要应用于嵌入式系统开发 如手机、PDA的编程
③ j2ee-->JAVAEE-->企业版 主要应用于分布式网络程序的开发,电子商务及ERP
3. JDK目录:
bin:java开发工具,是一些可执行程序
lib: Java的一些库文件,是java运行的基础
demo:java自带一些示例
4. 环境变量的配置:
JAVA_HOME:jdk安装路径
path:%JAVA_HOME%\bin
classpath:与我们import和include有关
%JAVA_HOME%\lib\tools.jar
%JAVA_HOME%\lib\dt.jar
.表示当前路径
5.java中常用命令
包的命名规范:
公司的域名倒写+项目名称+模块名称
带包编译:
javac -d ./ HelloWorld.java(其中的/可以省略)带包运行:
java com.ambow.javabase.day1.HelloWorld(包的路径 注意运行时文件名首字母大写)
java中的注释类型:
//单行注释
/*... ...*/多行注释
/**... ...*/文档注释
javadoc -d ./docs HelloWorld.java
java中的压缩命令:
jar -cvf jar文件名 包路径(压缩包存放在当前路径)(c代表create)
java中的解压缩命令:
jar -xvf (包路径)jar包名(x代表extend)
运行jar包里面的程序:java -classpath (jar包名) (路径+类文件)
或java -cp (jar包名) (路径+类文件)
6.编写Java代码时要注意的一些小知识点
一个源文件中至多只能有一个public的class
源文件名必须和它定义的public的类名相同
一个文件中可以同时写多个类,但是只能有一个公开的类
Main方法是java程序的入口
7.类加载:
加载代码 (类加载器)
将class字节码文件读入内存,并放在数据的方法区,在堆区中创建java.lang.Class对象,用于封装类在方法区内的数据结构
连接
把已经读入内存的类的二进制数据合并到jvm运行环境中去
验证代码 (字节码校验器)
保证加载类有正确的内部结构,并与其他类协调一致辞主要有以下几个方面:文件结构检查,语义检查,字节码验证,二进制兼容的验证
准备
Jvm为类的静态变量分配内存,并调置默认的初始值
解析
Jvm把类的二进制数据中的符号引用替换为直接引用
执行代码 (解释器)
Jvm执行类初始化语句,为类静态变量赋以初值
8. 标识符、关键字、数据类型:
标识符命名规则:
1.只能是字母、_、$开头
2.允许名称中存在字母、_、$、数字
3.区分大小写
4.不能使用java中的关键字
5.长度不限
标识符命名规范:
1.见名知意
2.尽量避免使用_,$
3.类和接口的命名每个单词的首字母要大写
4.字段方法以及对象的首字母小写其他单词的首字母大写
5.常量全部大写
6.包名全部小写
9. 关键字列表:
abstract boolean break byte case catch char class continue default do double else extends enum(枚举) false final finally float for if implements import instanceof int interface long native new null package private protected public return short static super switch synchronized(线程同步) this throw throws transient true try void volatile(共享) while
Java 中 true false 不是关键字,而是boolean类型的字面量
保留字:const,goto
所有的关键字都是小写,friendly,sizeof不是java的关键字
10. 数据类型:
①基本数据类型
byte 8
short 16
int 32
float 32
long 64
double 64
char 16 unicode---一个字符占两个字节
boolean(布尔值)
float f = 0.1;编译错误,系统默认把小数当做double来看待,double是64位,float是32位,会造成精度丢失
直接表示一个float类型的值必须在数字后跟‘f’或‘F’
直接表示一个double类型的值必须在数字后跟‘d’或‘D’
②引用数据类型:数组、类、接口
③基本数据类型的转换顺序
byte--->short--->int--->long--->float--->double
char--->(char指向int)
在上图中,顺着箭头方向的类型转换可以自动进行,逆箭头方向的转换或无箭头类型之间的转换必须强制进行。
[Java学习笔记(原创) - Magicc - 異次元藍客]
在图3-1中有6个实箭头,表示无数据丢失的转换;有3个虚箭头,表示可能有精度损失的转换
11. 转义字符:
转义字符 描述
\ddd 1到3位8进制数所表示的字符(ddd)
\uxxxx 1到4位16进制数所表示的字符(xxxx)
\’ 单引号字符
\’’ 双引号字符
\\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格(一次跳8个字位)
\b 退格