java基础复习(一)


一、变量与运算符

2.1 关键字

关键字(keyword)的定义和特点:
定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
官方地址: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

2.1.1 关键字类别

在这里插入图片描述
在这里插入图片描述

2.2 标识符(Identifier)

(1)标识符

Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
技巧:凡是自己可以起名字的地方都叫标识符。
涉及到的结构:包名、类名、接口名、变量名、方法名、常量名

(2)定义合法标识符规则

由26个英文字母大小写,0-9 ,_或 $ 组成
数字不可以开头。
不可以使用关键字和保留字,但能包含关键字和保留字。
Java中严格区分大小写,长度无限制。
标识符不能包含空格

2.3 变量

(1)变量的概念

变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

(2)变量的作用

用于在内存中保存数据

(3)使用变量注意

Java中每个变量必须先声明,后使用
使用变量名来访问这块区域的数据
变量的作用域:其定义所在的一对{ }内
变量只有在其作用域内才有效
同一个作用域内,不能定义重名的变量

2.3.1 变量的分类

(1)按数据类型分类

请添加图片描述
1.整型
请添加图片描述

声明long型变量,必须以“1”或“L”结尾
通常定义整型变量时,使用int型
整型常量默认为int型

2 .浮点类型
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
请添加图片描述

3.字符型
定义char型变量,通常使用一对’ ',内部只能写一个字符
表示方式:
1.声明一个字符
2.转义字符
3.直接使用unicode值来表示字符型常量

4.布尔型: boolean
只能取两个值之一: true 、 falsel
常常在条件判断、循环结构中使用

(2)按声明的位置分类

在方法体外,类体内声明的变量称为成员变量。
在方法体内部声明的变量称为局部变量
请添加图片描述

2.3.2 定义变量的格式

数据类型 变量名=变量值;

数据类型 变量名;
变量名=变量值;

2.3.3 基本数据类型变量间的运算规则

(1)自动类型转换(只涉及除boolean之外的七种基本数据类型)

当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。

byte . char . short --> int – long --> float --> double
特别的:当byte、char、 short三种类型的变量做运算时,结果为int型

(2)强制类型转换(自动类型转换的逆运算)

容量大 --> 容量小
注意点:
1、需要使用强转符:()
2、强制类型转换,可能导致精度损失。

二、运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。 算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符

2.1 算术运算符

请添加图片描述

2.2 赋值运算符

符号:=
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制
类型转换原则进行处理。
支持连续赋值。
扩展赋值运算符: +=, -=, *=, /=, %=

2.3 比较运算符(关系运算符)

请添加图片描述
1.比较运算符的结果是boolean类型
2.>、<、>=、<=:只能使用在数值类型的数据之间。
3. == :不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。

2.4 逻辑运算符

&—逻辑与 | —逻辑或 !—逻辑非
&& —短路与 || —短路或 ^ —逻辑异或
请添加图片描述

2.5 位运算符

请添加图片描述
【面试题】能否写出最高效的2*8的实现方式?
答案:2<<3或8<<1

2.6 三元运算符

1.结构:(条件表达式)?表达式1:表达式2
2.说明
条件表达式的结果为boolean类型
根据条件表达式真或假,决定执行表达式1,还是表达式2.
如果表达式为true,则执行表达式1。
如果表达式为false,则执行表达式2。
表达式1和表达式2要求是一致的。三元运算符可以嵌套使用
3.凡是可以使用三元运算符的地方,都可以改写为if-else反之,不成立。
4.如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

三、程序流程控制

3.1 分支语句1:if-else结构

请添加图片描述
请添加图片描述

3.2 分支语句2:switch-case结构

在这里插入图片描述

代码举例:

String season = "summer";
switch (season) {
case "spring":
System.out.println("春暖花开");
break;
case "summer":
System.out.println("夏日炎炎");
break;
case "autumn":
System.out.println("秋高气爽");
break;
case "winter":
System.out.println("冬雪皑皑");
break;
default:
System.out.println("季节输入有误");
break; 
}

3.3 循环结构

在某些条件满足的情况下,反复执行特定代码的功能
循环语句分类
for 循环
while 循环
do-while 循环

3.3.1 for 循环

语法格式
for (①初始化部分; ②循环条件部分; ④迭代部分){
③循环体部分;

执行过程:
①-②-③-④-②-③-④-②-③-④-…-②
说明:
②循环条件部分为boolean类型表达式,当值为false时,退出循环
①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
④可以有多个变量更新,用逗号分隔

3.3.2 while 循环

语法格式
①初始化部分
while(②循环条件部分){
③循环体部分;
④迭代部分;
}
执行过程:
①-②-③-④-②-③-④-②-③-④-…-②
说明:
注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环。
for循环和while循环可以相互转换

3.3.3 do-while 循环

语法格式
①初始化部分;
do{
③循环体部分
④迭代部分
}while(②循环条件部分);
执行过程:
①-③-④-②-③-④-②-③-④-…②
说明
do-while循环至少执行一次循环体

3.4 特殊关键字的使用:break、continue

break用在循环语句中,用于结束当前循环
continue用在循环语句中,用于结束当次循环

代码演示:

for( int i = 1;i <= 10;i++){
if(i % 4 == 0){
// break;i/i23
continue;/ /123567910
}
system.out.print(i);
}

四、数组

4.1 数组的理解

数组(Array),是多个相同类型数据一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
2.数组相关的概念:

数组名
元素
角标、下标、索引
教组的长度:元素的个数

3.数组的特点:

数组是序排列的
数组属于引用数据类型的变量。数组的元素,既可以是基本数据类
型,也可以是引用数据类型
创建数组对象会在内存中开辟一整块连续的空间
数组的长度一旦确定,就不能修改。

4.2 数组的声明与初始化

1、一维数组的声明方式

type var[] 或 type[] var;
例如:

int a[];
int[] a1;
double b[];
String[] c; //引用类型变量数组

Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法

2、一维数组的初始化

动态初始化:数组声明且为数组元素分配空间与赋值的操作分开进行

int[] arr = new int[3];
arr[0] = 3;
arr[1] = 9;
arr[2] = 8; 

静态初始化:在定义数组的同时就为数组元素分配空间并赋值。

int arr[] = new int[]{ 3, 9, 8};int[] arr = {3,9,8};
3、二维数组的初始化

二维数组[][]:数组中的数组

格式1(动态初始化):int[][] arr = new int[3][2];

格式2(动态初始化):int[][] arr = new int[3][];

格式3(静态初始化):int [][]arr=new int[][]{{1,2,3},{4,5},{6,7,8}};

4、 Arrays工具类的使用

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比
如排序和搜索)的各种方法
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值