2020年12月29日
一、配置Path环境变量
1. 在环境变量的系统变量中新建一个系统变量,变量名统一命名为 JAVA_HOME,变量值为jdk安装的路径
如:D:\develop\java\jdk1.8.0_191
2. 在环境变量的系统变量中找到path,并通过%JAVA_HOME%\bin;来进行设置
二、常见的错误
1. 找不到此文件 (在编译的目录和文件存放的目录不一致)
2. 没有内部或外部命令 (没有配置好环境变量)
3. 单词拼写错误 (比如:main写成mian)
4. Java是严格区分大小写的 (String和System等官方定义好的类,首字母只能是大写)
注意:类名和文件名尽量要保持一致
三、Java中常见的书写规范
1. 左大括号的左边留有一个空格
2. 左大括号的右边要换行加缩进(缩进通过按一次键盘的tab键即可)
3. 右大括号要和本层次的代码对齐
4. 不同的代码段之间尽量要加上换行
5. 类名中的每一个单词的首字母都需要大写
6. 运算符的两侧都要加一个空格4
四、公开类
公开类就是被public修饰的类。
公开类有如下特点:
1. 被public修饰的类名一定要和文件名保持一致
2. 一个Java文件中可以存放多个类,但是只能有一个类被public修饰
3. 一般主方法都是放在被public修饰的类中
public class Hello {
public static void main(String[] args) {
System.out.println("你好,中国!");
}
}
五、包
用以分别存放同名的Java源文件。包实际上就是文件夹
5.1 包的声明
package 包名;
注意:包的声明一定要在所有类的最上方
5.2 包的命名
xxxxxxxxxx 域名倒写 (因为域名是全球唯一的)
如:
1. com.ujiuye 会产生两个文件夹,逗号前是一个com文件夹,逗号后是一个ujiuye文件夹。其中com是包含ujiuye。
2. 如下包会创建一个com文件夹,com包含一个ujiuye文件夹,ujiuye包含tools、map、user三个文件夹
com.ujiuye.tools
com.ujiuye.map
com.ujiuye.user
5.3 带包的编译运行
① 带包编译并手动创建文件夹
1. 先通过javac 文件名编译
2. 手动创建文件夹(如:包名为com.ujiuye,那么就需要创建一个com文件夹,同时com文件夹有一个子文件夹ujiuye),并将编译生成的字节码文件放入ujiuye包中
② 带包编译并自动创建文件夹
通过javac -d . 文件名 来进行编译,这种编译方式会自动帮助我们创建相应文件夹,并将字节码文件生成到对应文件夹中
5.4 带包的访问
java 包名.类名
注意事项:带包的访问路径一定要和顶层包一致。(如:要运行com.ujiuye包下的类,就需要在和com同级的包下执行 java com.ujiuye.类名)
六、注释
注释就是批准和解释,Java中的注释主要是用来对代码进行解释说明。
6.1 格式
单行注释: // 注释的内容
注意事项: 单行注释不能换行,但是可以嵌套
多行注释: /* 多行注释的内容 */
注意事项: 多行注释可以换行,但是不能嵌套
文档注释:(以后讲)
/** 文档注释的内容 */
6.2 注释的特点
1. 注释的内容不参与代码的编译,也就是说注释中可以写任何东西
2. 注释的内容不会出现在代码的结果中
6.3 注释的使用注意事项
1. 一般要求代码中至少要有百分之30的注释
2. 注释可以用来进行代码的调试(后面会讲更高级的调试代码的技术)
3. 注释可以对我们的代码进行梳理,让逻辑更加清晰、有条理
// 这是一个Demo类,是相当于一个房间
public class Demo {
/*
这是主方法,是程序的入口
相当于是房间的门
*/
public static void main(String[] args) {
//这是一个输出语句,可以用来在控制台上打印任何内容
System.out.println("helloworld!!!");
}
}
七、关键字
关键字就是具有特殊含义、特殊功能的英文单词
之前见过的关键字:public、class、static、void、package
7.1 特点
1. 全部小写
2. 自定义的变量名不能和关键字重复
注意事项:Java关键字中有两个保留字:const、goto。保留字就是现在不可以使用,但是以后可能会重新启用。
八、常量
常量就是其值在程序运行过程中,不会发生改变的量。
整数常量 比如:3 5 12
小数常量 比如:12.35 3.15
布尔常量 比如:false、true
字符常量 比如:'我' '你' '她'
注意:字符常量必须要用英文状态的单引号引起来,并且单引号中只能放一个字符
字符串常量 比如: "美女,很漂亮" ""
注意:字符串常量必须要用英文状态的双引号引起来。
空常量:null
注意事项:以上常量除了空常量null外,其余都能通过输出语句直接打印在控制台上。
public class Demo {
public static void main(String[] args) {
//整数常量
System.out.println(12);
//小数常量
System.out.println(12.35);
//布尔常量
System.out.println(false);
System.out.println(true);
//字符常量
System.out.println('我');
System.out.println(' ');
System.out.println('@');
//字符串常量
System.out.println("我和你");
System.out.println("");
System.out.println(" ");
System.out.println("-------");
//空常量
//System.out.println(null); //空常量不能通过输出语句打印在控制台上
}
}
九、变量(理解)
变量就是其值在程序运行过程中可以发生改变的量。
9.1 格式
数据类型 变量名 = 数据;
理解:变量就是内存中一块空间,用来存放数据的。
内存:相当于一个酒店
变量:相当于酒店中的房间
数据类型:相当于房间的类型(总统套房、悲惨小单间)
变量名:相当于房间的名字(卧龙阁、飘云阁)
数据:住在房间中的人
十、数据类型
我们知道计算机存储数据的方式就是通过0和1,计算机中存储数据的最小单位是“位”bit(一位可以有0和1两种状态),计算机中存储数据的基本单位“字节”byte。
1 byte = 8 bit
1 kb = 1024 byte
1 mb = 1024 kb
1 gb = 1024 mb
1 tb = 1024 gb
因为Java是强类型的语言,所以一个变量在声明的时候必须要先声明好是什么数据类型的。
补充:声明好数据类型之后,会根据这个类型创建这个类型对应的空间。
10.1 分类
基本数据类型:(都是一些简单的数据,Java官方已经帮我们定义好了)
整数类型
小数类型
布尔类型
字符类型
引用数据类型:(都是一些较为复杂的数据,是通过基本数据类型及其它引用数据类型组成的)
类 (通过关键字class定义的)
接口(通过关键字interface定义的)
数组
10.2 基本数据类型(4类8种)
整数类型
byte 1个字节 -128~127 【掌握】
short 2个字节 -2^15~2^15-1
int 4个字节 -2^31~2^31-1 【常用】
long 8个字节 -2^63~2^63-1
小数类型【IEEE754标准】
float 4个字节 最大能表示3.4E38
注意:
1. E38表示10的38次方
2. float的4个字节比long的8个字节表示的数据范围都大。后面有具体的方法可以获取float的取值范围)
double 8个字节
布尔类型
boolean true、false
字符类型
char 2个字节 0~65535
数据类型从小到大排列:
byte < short = char < int < long < float < double
10.3 整数和小数默认的数据类型
整数默认的数据类型:int
注意:如果想要定义一个long类型,那么需要在数据后面加上大写或者小写的L(建议大写)
小数默认的数据类型:double
注意:如果想要定义一个float类型,那么需要在数据后面加上大写或者小写的F
public class Demo {
public static void main(String[] args) {
/*
等号后面的3就是一个整数常量
注意:
1. 经过以下实验发现整数的默认数据类型为int类型
2. 如果想要定义一个long类型,并且这个long类型的数据要比int类型最大值都要大
那么我们可以在这个数据的后面加上大写或者小写的L,来表明这个数是long类型的数
*/
//int a = 2200000000; //超出了int类型的范围2147483647
//byte b = 3; //因为整数3在byte的范围之内,所以可以赋给byte类型b
//byte b = 128; //此处报了一个错误:类型不匹配,不能从int转换为byte
short s = 128;
//long l = 2200000000; //错误,因为默认是int类型,但是此数已经超过了int的范围
long l = 2200000000L;
}
}
public class Demo2 {
public static void main(String[] args) {
/*
等号后的12.35都是小数常量
总结:
1. 经过试验得知,小数类型默认的数据类型为double
2. 如果定义一个float类型的变量,
那么需要在数据后面加上一个大写或者小写的F
*/
double d = 12.35;
//float f = 12.35; //报错。类型不匹配,不能从double类型转换为float类型
float f = 12.35F;
}
}
十一、变量
11.1变量的声明及初始化
格式一:在声明的同时就初始化
数据类型 变量名 = 数据;
如:int a = 3;
格式二:先声明,然后再初始化
数据类型 变量名;
变量名 = 数据;
如:
int a;
a = 3;
格式三:同时声明多个变量,并进行初始化
数据类型 变量名1, 变量名2, 变量名3;
变量名1 = 数据;
变量名2 = 数据;
变量名3 = 数据;
如:
int b, c, d;
b = 3;
c = 4;
d = 5;
注意:
1. 以后定义一个整数,如果我不提是什么类型,那么就默认为是int
2. 变量名可以随意起(但是一定不要数字开头)
3. 如果一个变量没有被初始化,那么不能使用
4. 在一个大括号中,不能定义相同的变量名
11.2变量的修改
int a = 3;
/*
因为程序是从上到下执行的,
而此处a是修改之前的a,内容还是3
*/
System.out.println(a); //3
a = 5; //此处a已经被修改为了5
System.out.println(a); //5
十二 、标识符
标识符就是用来给Java中的类、接口、方法、变量、常量、枚举、包起名字的字符序列。
12.1 组成规则
英文字母:a-zA-Z
数字:0-9
特殊符号:$和_
其它大部分国家的字符
12.2 注意事项
1. 数字不能开头
2. 建议:
类名、接口名:XxxYyyZzz
变量名、方法名:xxxYyyZzz
常量名:XXX_YYY_ZZZ
public class Demo {
public static void main(String[] args) {
int a = 3;
int a666 = 3;
int _hello = 666;
int $aaa66 = 999;
//int 6a = 111; //错误,数字不能开头
int 数 = 666;
数 = 777;
System.out.println(数);
int Chine = 1; //法语
int class = 2; //错误,因为class是关键字
int _class = 2;
}
}