前言
今天是我第一次写博客,写这个一方面是想提高自己的表达能力,另一方面是想通过这种方式把自己学过的东西梳理一遍,加深记忆。当然了,也希望和更多有相同爱好的博友互相交流,共同进步,如果有技术上的大牛能够提点建议的话,那也是十分高兴的,毕竟像我这种初学者在学习Java的时候,最怕的不是错误,而是有了错误还不知道!!!这个博客,以后我会分享一些自己在学习Java时的心得以及一些个人的理解!话不多说,正文开始。
1、变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以改变,因此得名为“变量”。顾名思义它是可以改变的量,我们平时玩的游戏中,像血条之类的值,这些都不是一成不变的,这种时候我们就需要用变量来存储这些数据。
1.分类:
-
按所属的数据类型划分:
基本数据类型变量
引用数据类型变量
-
按被声明的位置划分:
局部变量:方法或语句块内部定义的变量
成员变量:方法外部、类的内部定义的变量
需要注意的一点是:类的外面不能有变量的声明
2、数据类型:
因为变量存储的数据大小不同,所以所需的存储单元大小不同,在Java中使用数据类型加以区分。
类型 | 占用内存大小 | 值范围 | 默认值 |
---|---|---|---|
整型(int) | 4字节 | -2 147 483 648 ~ 2 147 483 647 | 0 |
短整型(short) | 2字节 | -32 768 ~ 32 767 | 0 |
长整型(long) | 8字节 | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L | 0 |
字节型(byte) | 1字节 | -128 ~ 127 | 0 |
浮点型(float) | 4字节 | -3.40292347E+38-3.40292347E+38 | 0.0f |
双精度型(double) | 8字节 | -1.79769313486231570E+308~1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1字节 | true 或 false | false |
字符型(char) | 2字节 | ‘ \u0000 - u\ffff ’ | ‘\u0000’ |
字节是用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位,Java中的字节是八位的字节,即它包含八位的二进制数。
3、类型转换
Java中,经常可以遇到类型转换的场景,从变量的定义到复制、数值变量的计算到方法的参数传递,随处可见类型转换的身影。Java中的类型转换在Java编码中具有重要的作用。
1.分类:
-
自动类型转换:容量小的类型自动转换成容量大的数据类型
例如:byte,short,int -> float ->long ->double
byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型
-
强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符
例如: double m = 9.99;
int n = (int)m;
n的值为9,这里的强制类型转换是通过截断小数部分将浮点值转换为整形. -
需要注意的是:
-
boolean 类型不能转换成任何其它数据类型。
-
大转小的时候有可能会造成精度降低或数据溢出,使用时要小心!
-
float类型变量在定义时需注意,我们直接写出的浮点数字,默认类型是double,会提示需要强转
解决办法:我们可以在浮点数字的后面加入f,来表示写出的数字类型是float
-
long类型变量定义时需注意:我们直接写出的整型数字,默认类型是int,当值过大时会提示出错
解决办法:我们在整型数字后面加入 l ,来表示写出的整型数字是long类型的
-
char类型变量使用时需用单引号引住一个字符,可以进行算数运算,可进行数字类型的强制转换
-
4、执行结构
- 任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本结构组成而成
- 它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环
- 顺序结构:
- 是一种基本的控制结构,它按照语句出现的顺序执行操作
- 分支结构:
- 又被称为选择结构,根据条件成立与否来执行操作
- 循环结构:
- 是一种重复结构,如果条件成立,它会重复执行某一循环体,直到出现不满足的条件为止
- 一定要有出口
1.分支结构
分支结构分为if条件语句和switch语句
-
if条件语句:是根据条件判断之后再做处理
-
格式:
if(条件){ 语句块; } if(条件){ 语句块; }else{ 语句块; } if(条件){ 语句块; }else if(条件){ 语句块; }else{ 语句块; }
-
-
switch语句
-
格式:
switch(表达式){ case 取值1: 语句块1; break; case 取值n: 语句块n; break; default: 语句块 n+1; break; }
-
注意的地方:
- 表达式的返回值必须是下述几种类型之一 : int,byte,char,short,String ;
- case子句中的取值必须是常量,且所有case子句中的取值应是不同的;
- default 子句是可选的;
- break 语句用来在执行完一个case分支后使程序跳出switch语句块;如果case后面没有写break则直接往下面执行!
-
2.循环结构
功能:在循环条件满足的情况下,反复执行特定代码
分类:while循环;do - while循环;for循环
-
while循环
符合条件,循环继续执行;否则,循环退出;(先判断,再执行)
-
语法:while(条件表达式){
语句块;
}
-
-
do - while循环
先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出(先执行,再判断)
-
语法:do {
循环操作
}while (条件表达式);
-
-
for循环
-
语法:for (定义循环变量;判断循环条件;更新循环变量) {
语句块;
}
-
-
break和continue语句
- break:用于终止本轮所有次循环。即不执行本次循环中break后面的语句,直接跳出循环
- continue : 是用于终止本轮本次操作。即本次循环中continue后面的代码不执行,进行下一次循环的入口判断