javaSE基础学习01
-
jdk介绍和安装
- jvm , Java Virtual Machine(Java虚拟机),java 通多jvm实现跨平台
- jre ,Java Runtime Environment(Java运行环境),jre包含jvm.
- jdk, Java development kit( java开发环境),jdk 包含 jre和jvm,所以安装java只需要安装jdk即可。
-
计算机语言的发展史
-
机器语言,以打孔机为代表。
-
低级语言,以汇编语言为代表。
-
高级语言,现在使用的各种编程语言,如:java,python等。
-
-
jdk 环境变量配置
-
用户变量
- 在用户变量中配置了环境变量,只有当前用户可生效,对本机其它用户不生效。
-
系统变量
-
在系统变量中配置的环境变量,对使用本机的所有用户生效。
-
配置环境步骤:
-
新建系统变量 java_home,配置到jdk所在路径,如:D:\work\jdk1.8.0_91
-
在系统变量中找到path,进行编辑,添加值:%Java_Home%\bin;%Java_Home%\jre\bin;
-
新建系统变量 CLASSPATH,添加值:.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
-
配置完成后打开cmd窗口,输入 java/javac/java -version,查看环境是否正常
-
-
-
-
java注释
java注释符号 作用 // 单行注释 /* */ 多行注释 /** */ 文档注释 -
public class和class
- 类文件中可以没有public修饰的类
- 一个类文件中,public修饰的类只能有一个,并且需要和类文件名保持一致
- java源代码一个class就会编译,生成一个class字节码文件。
- 同一个类文件中存在多个class文件,可以在每个class中写main方法,即可执行对应的class文件。
-
基础语法
-
标识符
-
由字母、数字、下划线和$组成,且不能由字母开头
-
标识符作用是对变量、类、方法等起名
-
标识符不能是关键字
-
标识符的书写,类名和接口名的标识符,遵循大驼峰命名法:TestCase,其它遵从小驼峰命名法:testCase
-
关键字
-
java语言自我保留的一些词,都有其特定的用法和意义,不允许另做他用。
-
所有的关键字都是小写
-
常用关键字
关键字 含义 作用 private 访问控制方式,私有的 使用该关键词修饰,只能在本类中访问 protected 访问控制方式,受保护的 使用该关键词修饰,可以在本类、子类相同包下的其它类中访问 public 访问控制方式,公开的的 使用该关键词修饰,可以同一项目下任何包中访问 abstract 表名类或者方法为抽象方法 可以保证类中的抽象方法都能在子类中实现或者继承 class 类 声明一个文件是类文件 final 最终的,最后的 修饰类,则类不能被继承,修饰方法,则方法不能被重写,修属性,属性赋值一次之后不能被重新赋值。 implements 实现 类实现接口的关键词,类实现接口必须实现接口的全部功能 interface 接口 声明一个文件是接口类型 native 本地的 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的 new 创建 经常和构造方法一起使用,实现对象的创建 static 静态的 static修饰的内容是优先加载的内容,static可修饰属性和普通方法,以及static静态代码块 strictfp 严格的 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范 synchornized 加锁 限制一段代码需要同步执行 transient 声明不用序列化的成员域 volatile 表明两个或者多个变量必须同步地发生变化 break 打断 跳出离自己最近的一个块,也可通过标签跳出指定块 continue 继续 中断本次执行,继续下一次执行 return 返回 方法中的关键字,返回数据 do 结合 do{}while(); 循环语句使用,先执行一次代码块再进行循环 while 当 用来进行循环的关键字 if 如果 条件语句的关键字 else 或者 结合条件语句使用,用来执行条件不成立的情况 for 循序语句中使用 instanceof 判断对象,经常使用在向下转型之前 switch 分支语句引导词 case 分支语句的关键字,表示一个分支 default 默认,用在分支语句中,如果所有case都不匹配,就执行default try 尝试 包裹可能抛出异常的代码块 catch 捕捉 结合try使用,可以捕捉异常 throw 抛出 对可能发生异常的代码一种处理方式,产生的异常抛给虚拟机 throws 抛出 可将异常对象进行抛出 import 导入 经常用来导包 package 包 byte 字节 基本数据类型byte,占一个字节,范围 -128~127 short 短整型 基本数据类型,占两个字节,范围 -32768~32767 int 整型 基本数据类型,占四个字节,范围 -2147483648~2147483647 long 长整型 基本数据类型,占八个字节,定义时需要在值后加 l或L float 单精度浮点型 基本数据类型,占四个字节,定义时需要在值后加f或F double 双精度浮点型 基本数据类型,占四个字节,定义时可在值后加d或D,也可省略 char 字符 基本数据类型,占两个字节,由于Ascall码表存在,字符可以和整数相互转换, ‘A’=65, ‘a’=97, ‘0’=48 boolean 布尔型 基本数据类型,占用4个字节,应为boolean类型在虚拟机中当做int类型的数据处理,在数组中占一个字节,在数组中当做byte类型处理,只有两个值 true和false null 空 true 真 用来表示布尔类型的结果 false 假 用来表示布尔类型的结果 super 超类 表示对象父类型的引用或父类的构造方法或子类中包含父类特征的属性 this 指向当前实例对象的引用 void 无返回值 声明当前方法没有返回值 goto 保留关键字,没有具体意义 const 保留关键字,没有具体意义
-
-
变量
-
变量的本质
- 变量是内存中存储数据最基本的单元
- 变量的三要素:数据类型、变量名、变量的值
-
变量的声明与赋值
- java中规定,变量必须先声明再赋值,才能访问
- 声明和赋值可以同时进行,也可以分开进行
- 一行可以声明多个变量
-
变量的作用域
- 同一个作用域中的变量不能重名
- java变量的识别遵循就近原则
-
变量的分类
-
局部变量
- 方法体之中声明的变量叫做局部变量,只在方法体中有效,方法结束后变量就结束了
-
成员变量
- 方法体外,类体内,声明的变量叫做成员变量
-
静态变量
- 被static修饰的成员变量叫做静态变量,在类加载时优先加载
-
-
-
基本数据类型
-
整数
-
整数 关键字 介绍 字节 byte 占一个字节 取值范围 -128-127 短整型 short 占2个字节,取值范围 -32768 到32767 整型 int 占4个字节 取值范围 -2147483648到 2147483647 长整型 long 占8个字节,64位,取值范围 -2的64次方 到2的64次方减1
-
-
小数
-
小数 关键字 介绍 单精度浮点型 float 4个字节,32位,float是要比long大,因为在计算机中的存储不一样 双精度浮点型 double 8个字节,64位
-
-
字符
字符 关键字 介绍 字符 char 2个字节,范围 0~65535 -
布尔
-
布尔 关键字 介绍 布尔 boolean 基本数据类型,占用4个字节,只有true和false两个值
-
-
-
基本数据类型之间的转换
-
从小容量数据类型转换到大容量数据类型可以自动转换
byte b = 1; //b自动转换成int类型,赋值给a int a = b;
-
从大容量数据类型转换到小容量数据类型需要强制转换
int a = 1; //需要对a进行类型强制转换 byte b = (byte)a;
-
强制转换需要注意数据的精度是否损失
-
8种基本数据类型中除了布尔型之外,剩下的7种类型之间都可以相互转换
-
容量从小到大的排序:byte < short(char) < int < long < float < double
-
整数型字面量没有超出byte short char的取值范围,可以直接赋值
-
byte short char混合运算时,各自先转换成int类型再做运算
-
多种数据类型混合运算,各自先转换成容量最大的再做运算
-
-
运算符(常用运算符)
-
运算符 运算符符号 注意事项 算术运算符 +、-、*、/、%、++、–(加、减、乘、除、取余、自增、自减) 先乘除后加减,自增(自减)只能出现在变量前后,出现在变量之前,变量先自增再被使用,出现在变量之后,变量先被使用再进行自增 关系运算符 < <= > >= == !=(小于、小于等于、大于、大于等于、等于、不等于) 比较运算符,用来连接判断两个数的关系,比较运算符的结果都为 true或者false,为boolean类型。 逻辑运算符 && 、||、 &、 |、 !、 ^(短路与、短路或、全路与、全路或、非、异或) && 短路与,如果第一个条件为假,则后面的条件不执行。||短路或,如果第一个条件为真,则后面的条件不执行。!非,取反,非真则为假,非假则为真 字符串连接符 + 用来拼接两个字符串,只要在+左右出现字符串,则该语句都作为字符串处理 条件运算符 布尔表达式?表达式1: 表达式2 条件如果为真,取表达式1,否则取表达式2 赋值运算符 =、+=、-=、*=、%=、/= 赋值运算符是指将右边的数或者结果作为值赋予左边 位移运算符 << >> >>> <<< << 左移,将二进制向左移动 X位,十进制变化为 原数据* 2的X次方,>> 右移,将二进制向左移动 X位,十进制变化为 原数据/2的X次方 -
运算符的优先级(从上往下,优先级从高到低)
- ()
- ! +(正) -(负) ++ –
- / % *
- +(加) -(减)
- < <= > >=
- == !=
- ^
- &&
- ||
- ?:
- = += -= *= /= %=
-
-
控制语句
-
分支语句
-
if语句
-
if语句类型 介绍 if(条件表达式){
java语句;
}java语句在表达式为false时,不执行 if(条件表达式){
java语句1;
}else{
java语句2;
}条件表达式为 true时,执行java语句1,否则执行java语句2 if(条件表达式1){
java语句1;
}else if(条件表达式2){
java语句2;
}满足条件表达式1,执行java语句1,满足条件表达式2并且不满足条件表达式1,执行java语句2 if(条件表达式1){
java语句1;
}else if(条件表达式2){
java语句2;
}…else{ java语句3;}满足条件表达式1,执行java语句1,满足条件表达式2并且不满足条件表达式1,执行java语句2,其它情况执行java语句3 -
switch语句
-
switch语句类型 介绍 switch(int/String){
case 1:
java 语句;
break;
…
case n:
java 语句;
break;
default:
java 语句;
break;
}1. switch后括号,可接收的类型包括 byte/short/char/int 和String还有枚举(enum),因为括号赋值时,会自动将低精度的数据类型转换为int类型,所以精度低于int类型的数据类型都是可以作为参数的。2.char 类型比较特殊,char作为参数,case使用 int也是可以匹配的。3.每个case语句必须要写break,否则满足条件不会停止,会继续往下执行,直到下一个break或者case结束。
-
-
循环语句
-
循环语句 格式 介绍 for循环语句 格式:for(初始值;条件表达式;计数器){
循环体;
}需要重复某一个操作,并且知道需要操作的次数时,可以使用for循环 while循环语句 格式: while(表达式){循环体;} 需要重复某一个操作,不知道需要操作的次数时,可以使用while循环 do …whlie循环语句 格式:do{循环体}while(表达式); 执行循环判断条件之前会先执行一次循环体 -
跳转语句
-
跳转语句 介绍 break 跳出离自己最近的循环,或者跳出指定标签的循环 continue 终止本次循环,进行下一轮循环 return 返回结果,执行了return一个方法就结束了
-
-