Java基础阶段性总结
作者:互联网
Java基础阶段性总结
- 一、JDK、JRE和JVM三者的关系
- 二、数据类型(8种基本数据类型和引用数据类型)
- 三、运算符(算数运算符、比较运算符、逻辑运算符、三元运算符、赋值运算符)
- 四、结构嵌套:分支结构(if、switch)、循环结构(嵌套for循环、while、do-while)
- 五、方法(基本概述、形式及其调用)
- 六、重载(同名不同参)
一、JDK、JRE和JVM三者的关系
JDK:JDK(Java Development Kit)是针对Java开发人员的产品,是整个Java的核心,包括了Java运行环境JRE、Java开发工具和Java基础类库。 其中的开发工具:编译工具(javac.exe)、打包工具(jar.exe)等。
JRE:JRE(Java Runtime Environment)包括Java虚拟机和Java程序所需要的核心类库等。核心类库主要是java.lang包:包含了运行Java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等。(想要运行开发好的Java程序,计算机只需要安装JRE即可)。
JVM:JVM是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言实现跨平台。
二、数据类型(8种基本数据类型和引用数据类型)
数据类型分为基本数据类型和引用数据类型两类。其中基本数据类型包含:byte、short、int、long、float、double、char、boolean八种,而引用数据类型主要包含:类、接口、数组三类(具体总结以后续相关部分为主)。
数据类型 | 类型名称 | 字节大小 | 范围 |
---|---|---|---|
整数型 | byte | 1 | -27至27-1(-128至127) |
– | short | 2 | -215至215-1 |
– | int | 4 | -231至231-1 |
– | long | 8 | -263至263-1 |
浮点型 | float | 4 | 单精度,对小数部分的精度要求不高 |
– | double | 8 | 双精度,精确的小数部分,并且操作值很大 |
字符型 | char | 2 | 0到65535 |
布尔型 | boolean | 1 | 真true ,假false |
1.基本类型字面值规则(5条)
1)整数字面值为int类型;
int x = 9999;//对
int x = 999999999999;//错,超出int类型范围
2)byte、short、char三种比int小的整数可以用范围内的值直接赋值;
byte b1 = 127;//对
byte b2 = 128;//错,超出byte范围
3)浮点数的字面值是double类型
double e = 3.14;/对
float e = 3.14;//错,3.14的字面值为double,float为4个字节,存不下double类型的数据
4)字面值后缀LDF
long x = 999L;//999字面值是int类型,需转成long类型的数据,加字面值后缀L即可变成long类型
float x = 3.14F//3.14字面值是double类型,加上字面值后缀F后变成float类型
double x = 3D;//3字面值为int类型,加后缀D变成double类型
5)进制后缀
0b -标识这是二进制,如:101
0 -标识这是八进制,如:023(八进制是三位数!!!)
0x -标识这是十六进制,如:0x0001
\u -标识这是char类型,属于十六进制,默认值为\u0000
2.基本类型转换
1)小转大(隐式转换)
byte m = 10;
long n = m;//小转大,右面m是小类型,给左面n大类型赋值,可以直接实现
2)大转小(显式转换)
需要强制类型转换
float x = 9.89F;
int y = (int)x;//大转小,右边x是大类型,给左边小类型y赋值,不能直接赋值,需要添加强制转换代码
3.数据类型转换规则
1)小数据类型能够自动转换成大数据类型;
2)容量大的类型转换成容量小的类型时必须使用强制类型转换;
3)转换过程可能会导致溢出或者损失精度。
int i = 128;
byte b = (byte)i;//打印结果是-128
//byte类型是8位,最大值为127,所以当int强制转换为byte类型时,值128就会溢出变成-128
4)浮点数到整数的转换是通过舍小数得到,而不是四舍五入
flout f = 32.7f;
int a = (int)f;//输出结果为32
5)不能对boolean类型进行类型转换
三、运算符(算数运算符、比较运算符、逻辑运算符、三元运算符、赋值运算符)
运算符种类 | 写法 | 作用 |
---|---|---|
算数运算符 | + - * / | 基本四则运算符 |
– | % | 取余 |
– | –(a=a-1) | 自减(–a:先减1再使用和a–:先使用,再减1) |
– | ++(a=a+1) | 自增 |
比较运算符 | <、>、<=、>= | 基本比较运算符 |
– | == | 比较两个操作数是否相等,或者两个变量地址值是否相同,相等结果为true |
– | != | 比较两个操作数是否不等,不等结果为true |
逻辑运算符 | & | 逻辑与,两边结果同为true结果才是true |
– | && | 短路与,同逻辑与原理相同,但只要有一边的结果为false,就会停止执行,并返回false(效率高) |
– | : | 逻辑或,两边结果只要有一个为true,结果即为true(需要两边的条件都要执行完才可以判断最终的结果) |
– | :: | 短路或,与逻辑或原理相同,但只要有一边为true,就停止执行,结果为true(也许判断完第一个条件就结束执行–效率高) |
– | + | 字符串连接(String) |
– | ! | 非,非真即假,非假即真 |
三目运算符 | ?: 条件?结果1:结果2 | 条件成立,返回结果1,否则返回结果2 |
赋值运算符 | = | 简单的赋值运算符,如:int a = 3;//将数字3交给a保存 |
– | +=、-= | 符合运算符,如:a += 30;//相当于a = a+30 |
– | *=、/= | – |
四、结构嵌套:分支结构(if、switch)、循环结构(嵌套for循环、while、do-while)
1.分支结构
if(条件1){
代码1
}
//条件1成立,执行代码1;否则直接跳过if结构
if(条件1){
代码1
}else{
代码2
}
//如果条件1成立,执行代码1,随后跳if-else嵌套结构;否则跳过代码1,执行完代码2后跳出if-else嵌套结构
if(条件1){
代码1
}else if(条件2){
代码2
}else{
代码3
}
//如果满足条件1,即条件1的返回值为true,执行代码1,随后跳出if-else嵌套结构;否则跳过此代码块“{代码1}”,执行后续代码(前两个条件均不满足是执else{}里的代码3)
switch(表达式) {
case 值1:语句体1;
break;
case 值2:语句体2;
break;
…
default:语句体n+1;
break;
}
switch 表达式的取值:byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String;case后面跟的是要和表达式进行比较的值; 语句体部分可以是一条或多条语句; break表示中断,结束的意思,可以结束switch语句;default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
if语句使用场景:
1.针对结果是boolean类型的判断;
2.针对一个范围的判断;
3.针对几个常量值的判断。
switch语句使用场景:
1.针对几个常量值的判断。
注意:switch语句能够实现的,if一定能够实现,反之不成立。
2.循环结构
for (参数初始化1; 判断条件2;更新循环变量4) {
循环体3
}
1.首先执行表达式1,一般是定义变量;
2.执行表达式2,判断是否满足循环条件;
3.满足循环条件,结果为真,执行循环体3;
3.执行表达式4,更新循环变量,该表循环变量的值,再次执行表达式2,若果为真就继续执行,结果为假,终止循环。
while(循环条件){
循环操作
}
while(循环条件){
循环操作
}
/*
1.关键字while后的小括号内为循环条件。
2.循环条件是一个布尔表达式,它的值为布尔类型"真"或“假”。
3.大括号内为循环操作,若循环条件一直不满足,将重复执行。
*/
1.首先对循环条件进行判断,如果循环条件为真,则继续执行循环操作;
2.执行完循环操作,再次判断循环条件,如果还为真,则继续执行;
3.如果条件为假,则跳过循环语句,执行后面的语句。
do{
循环操作
}while(循环条件)
/*
1.以do开头,关键字while后的小括号内为循环条件。
2.大括号内为循环操作,若循环条件一直不满足,将重复执行,与while不同的是do-while是先循环在判断。
*/
1.首先执行循环操作。
2.执行完毕后,对关键字while后的小括号内的循环条件进行判断。
3.如果结果以为真则继续循环,如果结过为假则跳出循环
多重循环
for (循环条件1){
循环操作1
for (循环条件2) {
循环操作2
}
}
while (循环条件1) {
循环操作1
while(循环条件2){
循环操作2
}
}
do {
循环操作1
do {
循环操作2
}while(循环条件2) ;
}while(循环条件1);
while(循环条件1) {
循环操作1
for(循环条件2) {
循环操作2
}
}
以while和for循环嵌套语句为例。其中while为外层循环语句,for为内层循环语句,称为二层嵌套。
执行过程为:外层while执行一次,内能for循环就从头到尾完整执行一遍。
三种循环的区别:
1.for:知道循环数;
2.while、do-while:循环次数不确定;
3.while:先判断,如果不符合条件,不执行代码;
4.do-while:代码至少执行一次,再去判断,符合条件,继续执行。
五、方法(基本概述、形式及其调用)
1.定义及作用
方法又叫函数,就是完成特定功能的代码块。
主要是为了减少代码,实现代码复用;方便后期维护。
2.格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
修饰符:几种权限修饰符(public、protected、private)
返回值类型:用于限定返回值的数据类型
方法名:一个名称,为了方便我们调用方法
参数类型:限定调用方法时传入参数的数据类型
参数名:是一个变量,接收调用方法时传入的参数
方法体:完成功能的代码
return:结束方法以及返回方法指定类型的值
返回值:程序被return带回的结果,返回给调用者
3.注意事项
1)方法不调用不执行;
2)方法与方法是平级关系,不能嵌套定义;
3)方法定义的时候参数之间用逗号隔开;
4)方法调用的时候不用在传递数据类型;
5)如果方法有明确的返回值,一定要有return带回一个值。
六、重载(同名不同参)
1.概述
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
2.特点
1)与返回值类型无关,只看方法名和参数列表;
2)在调用时,虚拟机通过参数列表的不同来区分同名方法。
标签:总结,阶段性,Java,int,数据类型,运算符,while,循环,类型 来源: https://blog.csdn.net/weixin_46585151/article/details/113727284