每日一题
- 标识符的命名规范有哪些?包名:xxxyyyzzz;类名、接口名:XxxYyyZzz;变量名、方法名:xxxYyyZzz;常量名:XXX_YYY_ZZZ;
- 基本数据类型:byte, short, int, long, char, float, double, boolean。
- 引用数据类型:类、接口、数组。
- 自动类型转换:byte,short,char -> int->long->float->double。
- byte,short,char相互之间做运算结果都为int。
复习
- Java关键字:被Java语言赋予特殊含义,用做专门用途的字符串(单词)。
- Java关键字的特点:所有字母都为小写。
- 保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。goto const
- 标识符:凡是自己可以起名字的地方都叫标识符;包名、类名、接口名、变量名、方法名、常量名。
- 变量按照数据类型分类:整型、浮点型、字符型、类、接口、数组
- 变量按照位置分类:成员变量(实例变量、类变量)、局部变量
2-4 运算符
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
- 算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符。
- 算术运算符:+、-、*、/、%、++、–。
- 自增1不会改变本身变量的数据类型。
- 赋值运算符:=。当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。支持连续赋值。
- = += -= *= /=
- += 不会改变变量本身的数据类型。int i =1; i*=0.1; (结果i为0)
- 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
- 比较运算符:==, !=, >, <, >=, <=, instanceof
- 区分==和=:
int i = 10;
int j = 20;
System.out.println(i == j); // false
System.out.println(i = j); // 20,先将j赋值给i,然后输出i
boolean b1 = true;
boolean b2 = false;
System.out.println(b2 == b1); // false
System.out.println(b2 = b1); // true
- 逻辑运算符:&-逻辑与,&&-短路与,|-逻辑或,||-短路或,!-逻辑非,^-逻辑异或。
- 区分&与&&:相同点1:&与&&运算结果相同;相同点2:当符号左边是true时,二者都会执行符号右边的运算。不同点:当符号左边是false时,&继续执行符号右边的运算,&&不再执行符号右边的运算。
- 位运算符操作的都是整型的数据;<<:在一定范围内,每向左移1位相当于*2;>>:在一定范围内,每向右移1位相当于/2;
- 最高效方式的计算2*8? 2<<3或8<<1
-
:无符号右移,无论最高位是0还是1,空缺位都用0补。
// 练习:交换两个变量的值
int num1 = 10;
int num2 = 20;
// 方式一:定义临时变量的方式
int temp = num1;
num1 = num2;
num2 = temp;
// 方式二:好处:不用定义临时变量;弊端:1、相加操作可能超出存储访问;2、有局限性:只是适用于数值类型。
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// 方式三:使用位运算符 m = (m^n)^n
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
- 三元运算符:(条件表达式)?表达式1:表达式2;
- 说明:条件表达式的结果为boolean类型、根据条件表达真或假,觉得执行表达式1,还是表达式2。如果表达式为true,则执行表达式1,否则表达式2;
- 凡是可以使用三元运算符的地方,都可以改写为if-else
- 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简介、执行效率高。
2-5 程序流程控制
- 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑块。
- 基本流程结构:顺序结构、分支结构、循环结构。
- 顺序结构:程序从上到下下逐行地执行,中间没有任何判断和跳转。
- 分支结构:根据条件,选择地执行某段代码。有if…else和switch-case两种分支语句。
- 循环结构:根据循环条件,重复性的执行某段代码。有while、do…while、for三种循环语句。住:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。
- if-else的三种结构。
第一种:
if(条件表达式){
执行表达式
}
第二种:二选一
if(条件表达式){
执行表达式1
}else{
执行表达式2
}
第三种:多选一
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else{
执行表达式n
}