1、标识符命名规格
- 标识符只能用下划线(_)和美元($),其他符号不能使用
- 数字可以作为标识符使用,但不能开头
2、数据类型之间的转换
- 范围小的数据可以直接转换为范围大的数据
byte b = 10;
short s = b;
int i = s;
long l = i;
float f = l;
double d = f;
- 范围大的转换范围小的,需要强制转换,丢失精度
int i1 = (int) d;
3、二元运算符
两个元素参与运算的运算符:+ – * / %
- 表达式结果类型是两个元素类型中最大的那一个
System.out.println( 1 / 2); // 0
System.out.println( 1.0 / 2); // 0.5
- 最小使用类型为int;如下b1和b2使用时候已经转为了int
byte b1 = 10;
byte b2 = 20;
// byte b3 = b1 + b2; // 抛异常
byte b3 = (byte) (b1 + b2);
4、一元运算符
一个元素参与运算的运算符:++ – –
i++简化版本的由来
int i = 0;//第一步
int j = i;//第二步
i = i + 1;//第三步
System.out.println("i="+i); //i=1
System.out.println("j="+j); //j=0
- 将第二步和第三步合为一步
- 简化操作:i赋值j没有变化,赋值之后加1,简化为i++
int i = 0;//第一步
int j = i++;
System.out.println("i="+i); //i=1
System.out.println("j="+j); //j=0
++i简化版本的由来
int i = 0;//第一步
i = i + 1;//第二步
int j = i;//第三步
System.out.println("i="+i); //i=1
System.out.println("j="+j); //j=1
- 将第二步和第三步合为一步
- 简化操作:i赋值j没有变化,赋值前加1,简化为++1
int i = 0;//第一步
int j = ++i;
System.out.println("i="+i); //i=1
System.out.println("j="+j); //j=0
5、复合赋值运算符
- 如果元素进行运算后冲洗赋值给自己,那么可以将原酸和赋值的符号进行简化:+= -= *= /= %=
int i = 1;
//简化前
i = i + 1;
//简化后
i += 1;
- 如果使用了复合赋值运算符,那么数据的类型不会发生改变
- b1和20相加使用byte类型,没有自动转换为最小类型int
byte b1 = 10;
// b1 = b1 + 20; // 抛异常,因为最小使用类型int,所以返回int需要强转
b1 += 20; // 没有报错
6、swich流程控制
- switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0)
- 如图,每个分支都会执行,因为只判断了case 10,通过后其他分支则不再判断,直接执行
int i = 10;
switch (i) {
case 10:
System.out.println("分支1");
case 20:
System.out.println("分支2");
case 30:
System.out.println("分支3");
default:
System.out.println("默认分支");
}
- 如果想达到每个判断执行一个分支,则需要在每个分支完成后,添加break,跳出
- 为啥默认不添加break,如下:为了10和20可以使用相同的分支
int i = 10;
switch (i) {
case 10:
case 20:
System.out.println("分支2");
break;
case 30:
System.out.println("分支3");
break;
default:
System.out.println("默认分支");
}
7、代码块
- 类的信息加载完成后,会自动调用静态代码块,可以完成静态属性的初始化功能
- 对象准备创建时,也会自动调用代码块
public class Test {
public static void main(String[] args) {
new User();
}
}
class User{
static {
System.out.println("静态代码块1");
}
{
System.out.println("代码块1");
}
static {
System.out.println("静态代码块2");
}
{
System.out.println("代码块2");
}
}
8、访问权限
- private:私有的,同一个类中可以使用
- (default):默认权限,相同包路径下可以使用
- protected:受保护的权限,相同包路径或子类可以使用
- public:公共的,任意使用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/148590.html