一、jdk
java development kit-java开发工具包
--java开发工具:
编译器,调试器,javadoc.exe,java.exe,javac.exe
--jre(java runtime environment)----java运行环境
--jvm(java虚拟机):
使用程序模拟一台计算机,使java程序运行在jvm上
--类库(资源库)
注意:jdk安装路径一定不能有汉字。
二、java的跨平台运行
跨平台运行,即跨操作系统运行,因为每个平台上都要自己版本的jvm,而任何版本的jvm都可以执行class文件(字节码文件)。
java的跨平台运行原理:
java的运行原理:
java源文件(.java)
|
|--------编译过程(javac.exe)
| javac 源文件名称(带上扩展名)
java字节码文件(.class)
|
|--------开启jvm,运行字节码文件
| java 字节码文件名称(不写扩展名)
程序运行
配置环境变量:
如果想使用简短的命令名称,我们需要配置jdk的环境变量:
在计算机-->属性-->高级系统设置-->高级-->环境变量-->
系统变量里
(1) 新建一个环境变量名为:
JAVA_HOME
变量值:D:\Users\Michael\Apps\Java\jdk1.8.0_172
即一堆命令所在的目录bin的父目录
(2) 新建一个环境变量名为:
CLASSPATH
变量值:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
(3) 找到系统变量里的path: 追加值。
追加的内容如下:
;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
检查是否配置成功:
打开命令提示符界面:
输入两个命令:
java -version 回车
javac 回车
不出现" 不是内部或外部命令.........",即成功
三、注释
注释有三种:
1、文档注释:
/** 注释 */
2、多行注释
/* 注释 */
3、单行注释:
//
通常:文档注释用于解释类或方法
多行或单行注释用于解释方法的逻辑
四、变量
(1)变量是jvm在内存中开辟的一个存储空间,作用是用来存储数据的。
程序通过操作变量名来操作存储空间 如:p.age;
变量必须定义一种类型
(2)变量的命名规则:
名称由字母,数字,_和$任意组成,数字不能开头
大小写敏感
不建议使用汉字
驼峰命名法,见名知意
不能使用关键字
(3)变量的使用规则:
必须先定义(声明)和初始化
变量可以重复使用
变量有自己的作用域
五、类型
类型:java语言中共分两大类型
--------基本数据类型
--------引用数据类
基本数据类型有8种,分为4大类:
整数类型:byte,short,int,long
浮点数类型:double,float
字符类型:char
布尔类型:boolean
常用的整数类型有int,long,常用的浮点数类型为double
整数类型:
byte:字节类型,在内存中占8位二进制,即在内存中占1字节大小,是存储的最小单位
范围:-128~127 幂表示:-2^7~2^7-1
short:短整型,在内存中占16位二进制,2个字节大小。
范围:-32768~32767 幂表示:-2^15~2^15-1
int(最常用):整型,在内存占32位的二进制,4字节大小
范围:-2147483648~21447483647 幂表示:-2^31~2^31-1
long(常用):长整型,在内存占64位二进制,8字节大小
范围:正负922亿亿左右 幂表示:-2^63~2^63-1
浮点数类型:
float:在内存中占32位二进制,4字节大小
范围:-3.403E38~3.403E38
double:在内存中占8字节大小,64位二进制
范围:-1.79E308~1.79E308
这里涉及一个字面量的问题,因为小数的默认类型为double即64位浮点数类型,
如果想使用float类型,需要在数值后面添加f/F 如:double num = 3.14 float num1 = 3.14f;
字符类型:char
在内存中占2字节大小,16位二进制
赋值特点:
值中有且只有一个字符
字符必须使用单引号引起来 另外底层二进制是无符号整数类型 即0~65535,所以,赋值
时也可以赋值整数。但是存入变量空间后,其实是其整数对应的字符。
布尔类型:用来判断条件是否成立的。
在内存中占1字节大小。
只有两个值 true/false
true:表示条件成立
false:表示条件不成立
如: boolean f1 = true;
boolean f2 = false;
System.out.println(f1);
System.out.println(f2);
int age1 = 33;
int age2 = 54;
boolean f3 = age1>age2;
System.out.println(f3);
boolean f4 = age1<=age2;
System.out.println(f4);
六、字符集
什么事字符集:即二进制与字符的一一对应关系的表
java语言默认的字符集为unicode
unicode字符集:无论字母,还是汉字,都占两个字节
其他的字符集还有GBK,GBK2312,UTF-8
编码:将字符----->二进制 (写)
解码:将二进制----->字符 (读)
java语言常用的字符:
‘A’~‘Z’ ->65~90 ‘a’~‘z’ ->97~122 ‘0’~‘9’ ->48~57
java语言中的转义字符:
'\':将特殊字符变成相应意义的字符。
java语言中的特殊字符:
单引号,双引号,制表符,换行符,回车符号
'\'' 单引号
'\"' 双引号
'\\' 反斜线
'\t' 制表符
'\r' 换行符,(有翻页效果,看不到上一页的数据)
'\n' 回车符,
char c11 = '\\';
System.out.println(c11);
char c12 = '\'';
System.out.println(c12);
char c13 = '\"';
System.out.println(c13);
char c14 = '\t';
需求:查看字符集中,某一字符对应的整数
将字符赋值给int类型的变量即可
七、类型转换:
1.自动转换(隐式转换)
占内存小的类型变量赋值给占内存大的类型变量,会发生自动转换
如:byte b =5;
short b1 = b;//8位的5赋值给16位的5
2、强制转换:
占内存大的类型变量赋值给占内存小的类型变量,需要强制类型转换。
语法格式:(占内存小的变量类型名)变量; 注意:有可能出现精度损失
如:int a =1;
byte a1 = (byte)a;