综述:
目录
———————————————————————————————————————————
1、Java介绍
1.1环境配置
1、JDK与JRE的关系
JDK :Java Development Kit 开发工具包,提供了Java语言的开发工具,它里面包含了JRE,同时也就包含了JVM(Java虚拟机)、编译工具、调试工具。
JRE:Java Runtime Environment,它是Java运行环境。
2、配置环境变量
(1)JAVA_HOME:指的是JKD安装根目录。通过搜索JAVA_HOME变量找到并使用安装好的JDK。根目录:F:\soft\java\jdk1.8.0_221
(2)path变量:找可执行文件的路径。在JDK文件的bin目录下.
配置path变量的目的:我们需要将jdk可执行文件的bin目录添加到现有的PATH变量中.
(3)CLASSPATH:JDK文件下的lib文件,配置的是.class文件,Javac运行出来的结果.
配置环境变量的作用:
规范目录,便于维护。(如果更改JDK版本,只需更改JAVA_HOME即可)
3、验证环境变量是否配置成功
cmd--javac--出现一堆文件 说明找到javac可执行文件(在path中)
cmd--Java -version 当前电脑正在执行的JDK的版本
1.2 Cmd操作
1、输出Hello World
新建Hello.java java格式文件.跳转路径到Java类所在的路径d:—— Javac编译命令将.Java文件编译一下——编译完成使用Java命令执行类名Hello(后面不用带.java)注:Javac是编译Java这个文件,Java是执行这个类的主方法。
2、需要掌握的命令
命令 | 作用 |
d: | 跳转盘符 |
cd\ | |
cd... | 切换上级目录 |
dir | 显示当前目录结构 |
cls | 清屏 |
md | 创建目录 |
rd | 删除目录 |
(3)set 命令 临时配置环境变量
set path——可以查看path ,
set path=某一目录:可以设置变量,但是这个只在当前的命令窗口生效。
eclipse IDE软件
src:源文件夹 ——写Java代码
JRE System Library:构建环境(JDK)
package名:一般为域名的倒写 例com.baidu
Hello World代码:
package com.baidu;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
2 、数据类型
数据类型分为两部分,基本数据类型和引用数据类型
Java的基本数据类型有8种,
整数类型byte short int long
浮点型float double
字符型char
布尔类型boolean
2.1常量
常量类型 | 说明 | 举例 |
字符串常量 | 用括号括起来的内容 | "aaa" |
整数常量 | byte short int long | 666 888 -1 |
小数常量 | float double | 1.1 |
字符常量 | 单括号括起来的内容 | 'A','a' |
布尔常量 | 非真即假 | true false |
空常量 | 空值 | null |
2.2 特殊值
0 0.0 -0.0 -无穷大 无穷
int i=0;
double a1=0.0;
double a2=-0.0;
System.out.prinltn(a1);
System.out.prinltn(a2);
System.out.prinltn(a1==a2);//==比较的是数值
System.out.prinltn(0==a2);
//i=12/0;//报数字运算异常 0为除数
a1=1/0.0//无错误
System.out.prinltn(a1);//Infinity 正无穷大
System.out.prinltn(a1/-0.0);//-Infinity
System.out.prinltn(0/-0.0);//是个值 但是不能做任何运算 结果为NaN
2.3浮点数Float和double
1.浮点数的存储方式
2.一个float变量在存储中由三部分组成,分别是
符号 | 指数 | 小数部分 | 偏移附加(bias) | |
单精度 | 1[31] | 8[30-23] | 23[22-00] | 127 |
双精度 | 1[63] | 11[62-52] | 52[51-00] | 1023 |
3.符号位:1位(31),表示float的正负,0为正,1为负
4.幂指数:8位(23-30)表示二进制权的幂次
指数部分:用指数部分的值(8位/11位)减去偏移附加该数实际的指数,如200,实际指数位200-127=73
5、有效位:23位(0-22),表示有效数字
2.4基本数据类型的转换
1、隐式转换
取值范围从小的转换为大的范围
int i=10;byte b=20;
i=b //b=i 错误
b=byte(i)+1 //错误 int +byte 返回值为int
默认类型转换的方向
byte——>short-——>int-——>long-——>float-——>double
char-————>int——>long-——>float-——>double
2、强制类型转换
1.从大范围换成小范围的变量,需要强制转换,会丢失精度
---面试题----
byte b;
b=(byte)128;//结果为-128
二进制截取后八位为1000 0000 符号位为1是负数,负数在计算机中以补码形式存储。 符号位不变 取反码加1,即为负数的值 1111 1111 +1结果为-128;
2.Java得到的是unicode编码,所以在unicode编码所允许的范围内都可以转换成int类型。
3.字符类型char和整数类型在取值范围内可以无障碍的项目转换,该取值范围为0-65535
4.默认类型:
整数的默认类型为 int 声明long变量:long l=1.2L;
浮点数的默认类型为double, 声明float变量:float l=1.2f;
2.5 转义字符
c='\';//'
c='';//空格
c='\\';//\
c='\n';//换行
c='\t';//制表键
c='\r';//回车
c='\u4f01';//表示的是unicode编码 最大值为u4ffff
2.6 Java语言的三种整数表达形式:
二进制整数:0b11,
八进制整数:要求以0开头,011
十六进制整数:要求以0x开头,0x11
2.7 标识符命名规则
什么是变量:程序运行中可能发生变化的量。需指明信息存储的位置和所需的内存空间。
注:变量不能重复声明,可以重复赋值。
1.变量只能以字母数字_$,首字母不能是数字;
2.变量名不能是关键字;
3.尽量做到见名知意,可以缩写,但如果缩写影响到了见名知意就不要缩写。
4.尽量使用驼峰命名法:首字母大写
类名:首字母大写;
包名:全部小写;
常量名:全部大写;
2.8 运算符
算术运算符 :+ - * / %
注:两个整数类型的数值运算后得到的结果一定是整数;
int n=12/5; // n=2
double m=12/5;// m=2.0 并不是12/5等于2.0
double m=12/5.0 // m=2.4
关系运算符:> < = >= <= !=
Boolean 返回的结果非true即false;
赋值运算符:+= -= *= /= %= =
byte by=12;
by=by+12;//错误,结果返回为int类型
by+=12;//在自身的基础上直接加12,
by=by+12;by+=12;这两个表达式不相等
逻辑运算符:与或非(&& || !)
注:1、括号优先级最高,移位运算优先级高于关系运算
2、&&优先级高于||
3、 短路现象处在比较高的优先级