[内容时间:2021.08.08]
标识符
1,标识符是啥
在Java源程序中凡是程序员有权利自己命名的单词都是标识符。
标识符在EditPlus编辑器当中以黑色字体高亮显示。
标识符可以标识什么元素呢
-
类名
-
方法名
-
变量名
-
接口名
-
常量名
……
2,标识符的命名规则(不符要求会报错)
只能由数字,字母,下划线_,美元符号$组成.
不能以数字开头
严格区分大小写
关键字不能做标识符
3,标识符的命名规范!
最好见名知意
public class UserService
{
public void login(String username,String password) {
}
}
遵守驼峰命名方式
SystemService
UserService
CustomerService
- 类名,接口名:首字母大写,后面每个单词首字母大写
- 变量名,方法名:首字母小写,后面每个单词首字母大写
- 常量名:全部大写
关键字
每个敲一百遍(滑稽jpg.)
编码方式,字符编码
java语言的源代码采用Unicode编码方式,所以"标识符"可以使用中文。
现在在企业里面实际开发中,一般使用UTF-8 编码方式比较多。【统一编码方式】
数据类型
数据类型大小比较
byte < short < int < long < float < double
< char < ( char 和 short 等价 )
还有很多类型可以在SE类库字节码,SE类库源码里面找。
char类型
char类型的变量字面值能用转义字符。
//比如
char i = '\n';
char j = '\t';
char k = '\';
JDK中自带的native2ascii.exx命令,可以将文字转换成Unicode编码。
怎么使用?①在命令行输入native2ascii ②回车 然后光标闪烁,输入文字,回车 ③得出文字对应的Unicode编码。
转义字符能将“编码”自动解码后输出,比如
//具体用法
char a = '\u4e2d';
println(a); //结果为“中”
//但是“中”字的Unicode编码是4e2d。 \u表示转义。表示后面的那一堆是Unicode编码。
Boolean类型
boolean类型在实际的开发中非常重要。经常使用在条件控制语句当中。
运算符
01赋值运算符
基本赋值运算符“=”
扩展赋值运算符“+=,-=,*=,/=,%=”
这两类运算符的区别是。
//例如byte类型
byte i = 10;
i = i + 5; // 到这里编译会报错,因为计算机的编译机跟运算机是分开的
// i是byte类型,5是int类型,类型不兼容,语法错误
i += 5 ; // 这步能编译通过。
/*
扩展类运算符包括了强制转换。
比如i += 5 ;
等价于 i = (byte)(i+5);
能编译通过,但是大容量转小容量有可能会损失精度
*/
02关系运算符
关系运算符是 > , < , == , != , >= , <=
关系运算符的结果一定是布尔类型(ture / false)
03逻辑运算符
逻辑与 & , 逻辑或 | , 短路与 && , 短路或 || , 非 !
逻辑与& 短路与&& 的区别
int x = 10;
int y = 8;
System.out.println(x<y & ++x<y); //逻辑与
System.out.println(x); //x的运行结果为11
==========================================================
System.out.println(x<y && ++x<y); //短路与
System.out.println(x); //x的运行结果为10
//由此可见&&之前的运算结果如果为0,则后面的语句不执行。
/*
总结:
第一个表达式执行结果为false,发生短路与&&(也就是不执行后面语句)(因为与运算第一个结果为false,无论后 面什么结果都不能进行下去,所以后面语句不用执行,短路掉)
第一个表达式执行结果为ture,发生短路或 ||(也就是不执行后面语句)(因为或运算第一个结果为ture,无论后面 什么结果都可以进行下去,所以后面语句不用执行,短路掉)
*/
控制语句
选择结构:
- if 、if…else
- switch
循环结构
- for
- while
- do…while
控制循环结构
- break
- continue
if if…else 语句
写出买伞问题
switch语句
写出有简单计算器功能的小程序
JDK6以及之前的版本,switch只支持int类型,JDK7之后可以使用byte short char String,其中byte short char转化成int
for语句
写出99乘法表
判断1~10000 的质数,要求每八个换一行
while语句
有一种情况,当while语句为死循环时(括号里直接写字面值: ture ),后面有语句时则编译机报错。
while(ture){ //ture的位置可以写 1 吗?
System.out.println("死循环");
}
System.out.println("Hellow WDNMD"); //提示错误:无法访问的语句
//编译器检测到永远无法访问到此语句,所以编译器报错
有另一种情况,当while还是死循环时 (括号里写boolean表达式),后面有语句时,编译机不会报错
int i = 20;
int j = 10;
while(i>j){
Syste.out.println("呵呵");
}
System.out.println("Hellow WDNMD");
/*
关系运算符在运行期才会得出结果,程序没有运行是不会运算这个关系的。
程序编译机只知道他是ture还是false却不知道他的结果是一个真,因为它没运行。
*/
/*
变量(i,j)是在程序运行阶段才开辟的
若while(20>10){
//java语句;
//java语句;
}
则会报错,因为20>10相当于ture
*/
方法
方法执行内存分析(重要)
方法重载(重要)
递归
方法递归