Java三大版本
Write Once,Run Anywhere
Java SE:标准版(桌面程序、控制台开发…)
Java EE:企业版(Web端、服务器开发…)
Java ME:嵌入式开发(手机、小家电)
JDK JRE JVM
JDK:Java Development Kit
JRE:Java Runtime Environment
JVM:Java Virtual Machine
Java开发环境搭建
卸载JDK
- 删除java安装目录
- 删除JAVA_HOME(环境变量)
- 删除path下关于Java的目录(环境变量)
- java -version
安装JDK
- 百度搜索jdk8,找到下载地址
- 同意协议
- 下载电脑对应的版本
- 双击安装jdk
- 记住安装目录
- 配置环境变量
- 我的电脑【右击】 --> 选择 属性 --> 高级系统设置 --> 环境变量
- JAVA_HOME
3.配置path变量
- java -version
Hello World
- 随便新建一个文件夹,存放代码
- 新建一个java文件
- 文件后缀名.java
- Hello.java
- 系统可能没有显示文件后缀名,手动打开
- 编写代码
public class Hello{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
- 编译 javac java文件–>生成一个class文件
- 运行class文件 java class文件
需要注意的问题:
- java大小写敏感
- 尽量用英文
- 文件名和类名一致,首字母大写
- 符号使用了中文
Java程序运行机制
![](https://i-blog.csdnimg.cn/blog_migrate/c2e218a452c0a0b77de9181366f8d1a1.png)
IDEA安装
Eclipse
一、注释、标识符、关键字、命名
注释
书写注释是一个非常好的习惯
Ctrl+/ 注释选中内容
1.单行注释
//这是一个单行注释
2.多行注释
/*
这是
一个
多行
注释
*/
3.文档注释 JavaDoc
/ **
*文档注释
*@author lesliewaong
*@version z
*/
关键字
![](https://i-blog.csdnimg.cn/blog_migrate/3f50c1f851f487a254c329c34129cb6f.png)
标识符:
Java 对各种变量、方法和类等要素命名时使用的字符序列
(凡是自己可以起名字的地方都叫标识符)
定义合法标识符规则:
- 由26个英文字母大小写,0-9 ,_或 $ 组成
数字不可以开头。- 不可以使用
关键字和保留字,但能包含关键字和保留字。 - Java中严格区分大小写,长度无限制。
- 标识符不能包含
空格。
注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
命名规范
推荐观看:《阿里巴巴Java开发手册》
二、数据类型
强类型语言:先定义后使用
![](https://i-blog.csdnimg.cn/blog_migrate/9b6fcb55f0336d7e0c64f7bd1c792f5d.png)
-
java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’,尽量用L
-
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’
-
char是表示的是字符,定义的时候用单引号,只能存储一个字符。
例如; char=‘d’.
Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。例如:char c3 = ‘\n’; // '\n’表示换行符
char类型是可以进行运算的。因为它都对应有Unicode码。
-
boolean b1 = true/false
补充知识:
- 位(bit):计算机内部数据存储的最小单位。11001100八位二进制数。
- 字节(byte):计算机数据处理的基本单位,习惯用B表示。
- 字符:计算机中使用的字母、数字、字和符号
- 1B=8bit,1KB=1024B,1M=1024KB,1G=1024M
//整数扩展 二进制0b 八进制0 十六进制0x
int i = 10;
int i = 010;//八进制0
int i = 0x10;//十六进制0x 0~9 A~F
//浮点数扩展 银行业务怎么表示?钱
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全避免使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//flase
//字符扩展
//所有的字符本质还是数字
//编码 Unicode表
char c ='\u0061'//a
//转义字符
// \t 制表符
// \n 换行符
//布尔值扩展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
三、类型转换
![](https://i-blog.csdnimg.cn/blog_migrate/ef5781a81ae05f38c8156d67630060d3.png)
int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 (类型)变量名 高->低
//自动转换 低->高
注意点:
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量时,强制转换
- 转换时可能存在内存溢出,或精度问题
- 操作比较大的数时,注意溢出问题
四、变量、常量
![](https://i-blog.csdnimg.cn/blog_migrate/e6aec76653458a4d8a7be2a4a3499453.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e35628fb27f5b7ac3c34711fc6b4d435.png)
public class Test {
//常量 final 修饰符,不存在先后顺序
static final double PI = 3.14;
//类变量 static
static double salary = 2500;
//实例变量:从属于对象,若不自行初始化,数字默认值 0 0.0 char:u0000
//布尔值默认 false
//除了基本类型,其余默认值都是null
String name;
int age;
public static void main(String args[]){
//局部变量,必须声明和初始化
int i = 10;
System.out.println(i);
//实例变量
Test test = new Test();
System.out.println(test.name);
//类变量
System.out.println(salary);
//常量
System.out.println(PI);
}
}
五、运算符
![](https://i-blog.csdnimg.cn/blog_migrate/dcb4646ca6c6273993c92c202a7cc56b.png)
注意:
- &、| 两边都参与运算
- && 左边为假时,右边不运算
- || 左边为真时,右边不运算
- 异或^ 两边不同时为真
//自增自减 ++ --
int i = 1;
int a = 1;
int b = 1;
a = ++i; //先运算后赋值 i=2,a=2
b = i++; //先赋值后运算 i=3,b=2
//幂运算,工具类
double pow =Math.pow(2, 3);
/*位运算
A = 0011 1100
B = 0000 1101
-----------------
A&B = 0000 1100 有0则0
A|B = 0011 1100 有1则1
A^B = 0011 0001 互异则1
~B = 1111 0010
<< *2
>> /2
0000 0001 1
0000 0010 2
0000 0100 4
*/
a+=b //a=a+b
a-=b //a=a-b
//字符串连接符 +
System.out.println(""+a+b);
System.out.println(a+b+"");
//x ? y : z
//x==true,则为y,否则为z
//优先级 多用()
六、包机制、JavaDoc
包机制
![](https://i-blog.csdnimg.cn/blog_migrate/2565bc81fe3e63c668ff5b8b91a34f1a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3df68c448d9ee1d5df44a4dcf5cef05e.png)
一般利用公司域名倒置作为包名。
JavaDoc
- 命令行生成JavaDoc文档
打开命令行:cmd E:\download
生成文档:javadoc -encoding UTF-8 -charset UTF-8 文件名.java - IDEA生成javaDoc文档
- Eclipse生成JavaDoc文档
学习视频:狂神说Java