Java命名规范:
①包名,每个单词全部小写
②类名,每个单词的首字母大写
③方法名和变量名,第一个单词首字母小写,从第二个开始的单词首字母大写
④常量名,每个单词全部大写,单词间用下划线
变量:
变量类型 变量名 [=初始值]
三种语法规范情况:
1.可以同时定义多个变量,且可以在定义变量的同时对其进行赋值
int x=0,y=5;
2.可以为三个已声明好数据类型的变量同时赋值
int x,y,z;
x=y=z=5;
3.没有由于先声明变量x,y的数据类型,所以是错的
int x=y=z=5;
1.数据类型
①基本数据类型(取值范围从低到高)
byte→short,char→int→long→float→double
boolean(布尔类型)
boolean flag = false //声明一个boolean类型的变量初始值为false
注意:
long类型所赋值如果超过了int类型的取值范围后面要加L,long num = 2000000000L
float 类型所赋值后面一定要加f
double类型无所谓加不加d
②引用类型
类(class),接口,数组,枚举(enum),注解
2.类型转换
①自动转换,取值范围小的直接赋给取值范围大的
②强制类型转换,取值范围大的赋值给取值范围小的,强制转换过程中会有精度的损失。
- 目标类型 变量名 = (目标类型)值
表达式类型自动提升规则。
Java定义如下的自动提升规则:
- 所有byte型、short型和char型将被提升到int型。
- 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。操作数的等级排列如下图所示,位于箭头右边类型的等级高于位于箭头左边类型的等级。
具体细节:https://blog.csdn.net/qq_44893947/article/details/109401981
赋值运算符(+=,*=,……)中可以自动实现强制类型转换
short s = 3 ;
int i = 5;
s+=i;
//直接自动类型转换输出8
变量的作用域
变量被定义在某个大括号中,该大括号所包含的代码区域便是这个变量的作用区域。
常量:
final 常量类型 常量名 [=初始值]
final int a=0,b;
b=1;
null常量,字符串常量中可以有 “空格"和”"(不包含任何字符)
\n 换行,\t 移动到下一个tab处
由于 \,"",’’ 三个符号被用,所以在字符串中表示这三个字符要加上\
**
运算符:
表达式中运算符同级的执行顺序为自左向右。
赋值过程中,运算顺序为自右向左。
其实在实际的开发中,不需要去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号去进行替代,开发中最好不要写一连串复杂的运算符,尽量分开写。
1.算术运算符
/ 整除,如果有小数参与,则结果会是小数
%求余数,运算结果的正负取决于%左边的数是否为正负
自增和自减
int a = 1;
int a2 =2;
int a3 = a + a2++;
System.out.println("a2="+a2);
System.out.println(a3);
输出:a2=3,
3
编译后的class文件:
int a = 1;
int a2 = 2;
byte var10001 = a2;
int a2 = a2 + 1;
int a3 = a + var10001;
System.out.println("a2=" + a2);
System.out.println(a3);
int a = 1;
int a2 =2;
int a3 = a + ++a2;
System.out.println("a2="+a2);
System.out.println(a3);
输出:a2=3
4
编译后的class文件:
int a = 1;
int a2 = 2;
int a2 = a2 + 1;
int a3 = a + a2;
System.out.println("a2=" + a2);
System.out.println(a3);
总体来说,后自增,表达式只会执行自增前的变量值来进行赋值。
前自增,表达式会执行自增后的变量值进行赋值。
主要是区分,是否为单独表达式(例如for循环中),还是表达式赋值。
2.赋值运算符
=,+=,-=,*=… x+=3相当于x=x+3
3.返回布尔值,0为false,非0为true
比较运算符
==相等于,!=不等于,<小于, <=小于等于, >=大于等于, >大于
逻辑运算符
&与,运算符两边有一个flase,则结果为flase
| 或,运算符两边有一个true,则结果为true
!非
&&,和&一样,但是当左边为flase时,右边表达式不会进行运算
||,和|一样,但是当左边为true时,右边的表达式不会运算
^,当两边布尔值相同时为flase,不同时为true
位运算符
条件运算符
布尔条件?true:flase
等价于if…else 。