Java基础语法
- 标识符
- 数据类型转换
- 部分运算符
- 选择语句
- 循环控制的两个关键字
- 方法
- 数组
- Java内存划分和数组的内存图
标识符
1.说明:
是指在程序中,我们自己定义的内容。
比如类的名字、方法的名字和变量的名字等等,都是标识符。
2.命名规则 :
标识符可以包含英文字母(区分大小写)、数字(0-9)、$(美元符号)、和_(下划线)开头。
3.命名规范 :
- 类名规范:首字母大写,后面每个单词首字母大写。
- 变量名规范:首字母小写,后面的每个单词首字母大写。
- 方法名规范:同变量名。
数据类型转换
1. 自动类型转换
将 取值范围小的类型 自动提升为 取值范围大的类型 。
- 特点:代码不需要进行特殊处理,自动完成。
- 规则:范围小的类型向范围大的类型提升。
2.强制类型转换
将 取值范围大的类型 强制转换成 取值范围小的类型 。
byte-short-char-int-long-float-double
- 转换格式:
数据类型 变量名 = (数据类型)被转数据值
3.注意事项
- 强制类型转换一般不推荐使用,因为可能发生精度损失、数据溢出。
- byte/short/char这三种类型都可以发生数学计算,并且在运算的时候,都会被提升为int类型,然后在计算。
- boolean类型不能发生数据类型的转换。
逻辑运算符
与“&&”,或“||”,具有短路效果:如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行。
- 与(并且)&& 全是true,才是true; 否则就是false。
- 或(或者)|| 至少一个是true,就是ture,全是false,才是false。
- 非 (取反)!true–>false false–>true
三元运算符
- 格式:
数据类型 变量名 = 条件判断 ? 表达式A : 表达式B; - 流程:
首先判断条件是否成立:
如果成立为true,那么将表达式A的值赋值给左侧的变量。
如果不成立false,那么就将表达式B的值赋值给左侧的变量。
选择语句if(省略)–switch
switch语句格式:
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
…
default:
语句体;
break;//不推荐省略
}
注意事项
- 多个case后面的数值不可以重复。
- switch后面的小括号当中只能是下列数据类型
基本数据类型:byte / short / char / int
引用数据类型:String字符串、enum枚举 - switch语句格式可以很灵活:前后顺序可以颠倒,而且break语句还可以省略。
- case穿透
“匹配哪一个case就从哪一个位置向下执行,直到遇到break或者整体结束为止。”
循环控制
- break语句: 结束循环。
- continue语句:跳出本次循环,执行下一次循环。
方法
- 方法的定义格式
修饰符 返回值类型 方法名(参数类型 参数,...){
方法体;
return 返回值;
}
- return:两个作用
- 停止当前方法。
- 将返回值返还给调用者
方法调用的三种格式
- 单独调用:方法名称(参数);
- 打印调用:System.out.println(方法名称(参数));
- 赋值调用:数据类型 变量名称 = 方法名称(参数);
方法重载
- 方法名相同,参数列表不同。
- 和修饰符无关。
- 和返回值类型无关。
数组
数组的概念
- 是一种容器,可以同时存放 多个数据值。
数组的特点
- 数组是一种引用数据类型。
- 数组当中的多个数据,类型必须统一。
- 数组的长度在程序运行期间不可改变。
数组的初始化
数组的三种定义格式
- 动态初始化的数组格式
数据类型[] 数组名称 = new 数组类型[数组长度];
- 静态初始化的数组格式
数据类型[] 数组名称 = new 数组类型 {元素1,元素2,元素3...};
数据类型[] 数组名称 = {元素1,元素2,元素3...};