一、java的特点:
1.面向对象性(①封装②继承③多态)
2.健壮性(舍弃了c中的指针并添加自动回收机制)
3.跨平台性(write once,run anywhere 功臣:jvm)
二、jdk、jre、jvm三者之间的关系
jdk包含jre,jre包含jvm
jdk(java development kit:java开发工具包)=jre+开发工具(javac.exe,java.exe,javadoc.exe)
jre(java run enviroment:java运行环境)=jvm+库
三、为什么要添加path,怎么配置
添加path之后可以在任意路径下使用开发工具命令
JAVA_HOME=bin的上一级目录
path=%JAVA_HOME%\bin
需要掌握的内容:
一、java的基本语法
1.1 注释
单行注释://
多行注释:/* ... */
文档注释:/** ... */ (可以被javadoc所解析并以网页的形式呈现)
单行注释、多行注释不会被编译,文档注释会被编译,多行注释不可以嵌套使用(就近原则)
注释的作用:
1.方便代码的阅读,方便自己也方便他人
2.可以用于排查错误,注释不参与编译
1.2 关键字(java已经定义好了的有特定含义和用法名字例如 this、super、interface、class等)
Java50个关键字总结_lazyjam的博客-CSDN博客_java关键字
1.3保留字(goto、const)
以后可能会变成关键字
1.4标识符(identifier):可以自己命名的
标识符的命名规则:
1.26个大小写字母、0-9、_、$组成
2.不能以数字开头
3.区分大小写
4.不能是关键字、保留字,可以包含关键字、保留字
5.不能含有空格
标识符的规范:
包名:xxxyyyzzz
类名、接口名:XxxYyyZzz(大驼峰命名法:每个单词的首字母大写)
变量名、方法名:xxxYyyZzz(小驼峰命名法:首个单词的首字母小写其余单词首字母大写)
常量名:XXX_YYY_ZZZ
二、java数据类型
1.基本数据类型
1.1 整型:①byte②short③int④long(赋值时后面必须加上'l'或者'L')
浮点型:①float(赋值时后面必须加上'f'或者'F')②double
字符型:char(使用一对''里面必须有且只有一个字符)
布尔型:boolean(值只能为true或者false)
2.引用数据类型
2.1 类:(String)
接口
数组
类型 | 占用内存 | 表数的范围 |
byte | 1byte(8bit) | -2^7~-2^7-1 |
short | 2byte | -2^15~-2^15-1 |
int | 4byte | -2^31~-2^31-1 |
long | 8byte | -2^65~-2^65-1 |
类型 | 占用内存 | 表数的范围 |
float | 4byte | |
double | 8byte | |
char | 2byte |
注意点:float的容量比long的大
基本数据类型直接的运算规则(7种不包括boolean):
1.自动提升
byte、char、short --> int -->long --> float --> double
基本数据类型容量小的变量与基本数据类型容量大的变量做运算,自动提升容量大的基本数据类型
例如:
byte b=10;
char a='a'; //a对应的ASCII码:97,A对应的ASCII码:65
int c=a+b; // 107
2.强制类型转换:自动提升的逆过程
规则:
1.使用一对()
2.可能导致精度损失
例如:
float f=12.9f;
int a=(int) f; //12 截断操作
int a=128;
byte b=(byte) a; // -128
特例:
long l=123456; //编译不报错,123456被看作int类型,自动提升
long l1=111222333445566666666; //编译报错,超出了int的范围
long l2=111222333445566666666L; //编译通过
float f=12.9;//编译报错,12.9被看作是double类型
float f1=12.9f;
float f2=(float) f;
1.整数在运算中被看作是int类型
byte b=12;
int a=b+1;
2.浮点数在运算中被看作是double类型
byte b=1;
double d=b+12.9;
String类型:
1.使用一对""
2.引用数据类型
3.String与基本数据类型做运算实则是连接运算:+,结果还是String类型
System.out.println(“* *”); //* *
System.out.println(‘*’+’\t’+’*’); // 93
System.out.println(‘*’+”\t”+’*’); //* *
System.out.println(‘*’+’\t’+”*”);//51*
System.out.println(‘*’+(’\t’+”*”));//* *