1.Java书写规范:注释、命名规范、书写格式
2.标识符(标识符的命名规范)
标识符:给类、变量、方法名、接口、常量命名是所用的字符序列
组成部分:英文字母大小写、数字、$、_;
不能以数字开头;
不能包含特殊字符处$、_;
不能是java关键字;
区分大小写
3.关键字
关键字:Java给我们定义好的具有特殊意义的单词(public、void、static、class)
4.变量(可变的量)
5.基本数据类型的划分(画图)
数据类型包括:
1*引用数据类型:类、接口、数组、枚举;
2*基本数据类型:
·字符型 char :长度0~65535;2个字节;
·布尔型 Boolean :true、false;1个字节
·数值型
整数型:
浮点型
b = b+1; // 1为-int型数字字面量,会损失精度,报错。Short一样
应写为:b = (byte)(b+1);
案例一:
//取值范围,如未超出,直接赋值,如果超出,必须转型
byte b2 = 128; //byte b2 = (byte)128;
案例二:
int i = 12345678901; // 超出范围,报错
案例三:
long l = 12345678901; // 12345678901数字字面量为-int型,超出int类型的取值范围,故报错
long l = 12345678901L; // 12345678901L 数字字面量为long型,不会报错
案例四:
Float fl = 1; // 1为数字字面量int类型,int 转 float 为自动转型,输出结果为1.0
Float fl2 = 1.0; // 1.0数字字面量为double类型,double转float强转
//解决方案一:直接将1.0认为是float类型,在赋值
Float fl2 = 1.0F;
//解决方案二:将1.0将转为float类型后,在赋值;
Float fl2 = (float)1.0;
6.基本数据类型的那些坑(1.必须先初始化再使用,2.同一个作用域不能重复声明变量,3.数据转型)
7.运算符(算数、赋值、关系、逻辑、三目、字符串拼接)
Int num = 10;
++num; // 先自增,再使用;11
Num++ ; // 先使用,再自增; 10
预习:位运算、if、switch
Int a = 8;
Int b = (a++)+(++a)+(a*10);
// b = 8 + 10 + 100 = 118
Int i = 0;
i = ++i;
//底层实现 :I = int(i+1) // 1
Int I = 0;
I = i++;
//底层实现:int temp = I ; I = (int)(i+1); I = temp; // 0;
面试题一:
Int x = 10;
Int y = 10;
Boolean = flag = ( x = y); //报错,y赋值给x,int类型的x无法赋值给boolean的flag(boolean不兼容其他的数据类型)
面试题二:
Boolean b1 = true;
Boolean b2 = false;
Boolean b3 = (b1 == b2);//false
Boolean b3 = (b1 = b2); // false;
&与 &&短路与
|非 ||短路非
^ 异或
! 非
//&:前后两个有一个为false,结果都为false;前者为false,还会判断后者
//&&: 前后两个有一个为false,结果都额外false;前者为false,不会判断后者;效率更高
// | :前后两者,有一个为true,结果都为true
// || :前后两者,有一个为true,结果都为true;效率更高
// ^ : 前后两者相同,结果为false;
//
语法结构:(表达式)?值1:值2;
面试题:
Int a = 5;
(a < 5) ? 10.9 : 9; // 9.0
总结:
包含就按照变量类型返回
不包含就按常量类型返回
例:
Char c = ‘x’; // 120
Int I = 10;
False ? I : c; // 120
False ? 100 : c; // x
False ? 65536 : c ; // 120;
+:两侧为数值,次符号为算数运算符
如果有一侧为字符串,此符号为字符串拼接符
1 + 2 +“acb”+ 2+1 // 3acb21