Java基本知识(运算符/选择结构语句/循环结构语句/方法/标识符)
一、Java标识符
给类、接口、方法等命名的字符序列。
1、标识符组成
(1)英文字母大小写;
(2)数字(不能以数字开头);
(3)$和_。
2、命名规则
常量:每个单次字母均大写,若由多个单词组成,则每个单词间用下划线隔开。
变量、方法:第一个单词全部小写,若由多个单词组成,则第一个单词全部小写,从第二个单词开始,每个单词首字母大写其他单词首字母小写。
包:所有字母都小写,多级包采用域名反写,每级用“.”隔开。
类、接口:每个单词首字母大写,其余字母均小写。
二、变量
1、分类
(1)基本数据类型
整数类型:byte、short、int(整数类型默认类型)、long
浮点类型:float、double(浮点类型默认类型)
字符类型:char
布尔类型:boolean(true、false)
注意事项:long类型在使用时应该在后面添加L/l,若数据范围未超过int型范围,L/l可省略;float类型在使用时,需要在后面添加F/f。
(2)引用数据类型
2、变量计算注意问题
(1)尽量在同一个数据类型下进行计算;
(2)当不同类型的数据进行计算时,默认类型提升。
byte、shout、char三种类型的所有计算结果都默认为int型。
例如:byte b1=3,b2=4,b; b=b1+b2; b=3+4;
哪句是编译失败的呢?为什么呢?
解:b=b1+b2;编译失败,byte,short,char之间相互不转换,一旦进行运算,默认提升为一个int类型,两边类型不匹配,所以失败。
(3)高级类型向低级类型转换时需用强制类型转换。
目标数据类型 变量名=(目标数据类型)(变量值);
3、变量若已经声明未赋值,则必须在使用前对其赋值。
三、赋值运算符
基本赋值运算符:=
扩展赋值运算符:+=、=、/=、%=(扩展赋值运算符隐藏了强制类型转换)。
例如:short s+=1;等价于short s=(short)(s+1);
并非等价于s=s+1。
四、逻辑运算符
1、基本的逻辑运算符
(1)逻辑与&:有false则false,否则为ture;
(2)逻辑或|:有true则ture,否则为false;
(3)逻辑异或^:相同则为false,不同则为true;
(4)逻辑非!:非true则false,非false,则true,偶数个为本身。
2、扩展的逻辑运算符
(1)逻辑双与&&:作用同逻辑单与,如果左边表达式为false,则右边表达式不再执行,具有短路效果。而逻辑单与&,无论左边表达式是什么,右边表达式都会执行。
(2)逻辑双或||:作用同逻辑单或,如果左边表达式为true,则右边表达式不再执行,具有短路效果。而逻辑单或|,无论左边表达式是什么,右边表达式都会执行。
五、三目(元)运算符
(表达式)? true的结果:false的结果;
首先判断表达式是否成立,如果比表达式成立,就执行true的结果,否则,false的结果。
六、算数运算符
1、基本的算数运算符
+、-、、/(结果取整)、%(取余)
+:(1)运算符;(2)表示正数;(3)字符串的连接符。
2、扩展的算数运算符
++、--
单独使用:无论++或者--在数据前还是数据后,都会自增1或者自减1。
参与运算:如果++或者--在数据前,先自增或者自减,再参与运算,如果++或者--在数据后,先运算,再进行自增或者自减。
七、键盘录入
1、创建键盘录入对象。
Scanner scanner = new Scanner(System.in) ;
2、导包。
import java.util.Scanner;
java.lang.* 包不用导包,Scanner是java.util.Scanner,需要导包。
3、接收键盘录入的数据(以int类型为例)。
int number = sc.nextInt() ;
3、输出数据。
八、if语句(选择结构)
格式一:适合单个条件的判断
if(条件表达式){
语句;
}
格式二:if(条件表达式){
语句1;
}else{
语句2;
}
格式三:if(条件表达式1){
语句1;
}else if(条件表达式2){
语句2;
}else if(..){
语句3;
}else{
语句n+1;
}
九、选择结构switch语句
1、格式:
switch(表达式){
case 值1: 语句1; break ;
case 值2: 语句2; break;
....
default: 语句n+1; break; }
2、注意事项:
(1)case语句的后面只能跟常量,不能跟变量! js中的case后面是可以是变量也可以是表达式。
(2)default语句可以在switch语句中的任何位置,不影响代码执行,如果在语句中,break最好带上。
(3)建议把break带上,否则会造成case穿透现象。
(4)switch语句的结束条件:break语句结束,默认执行到末尾语句结束。
(5)case语句的后面是冒号,表示和switch语句中的表达式进行比较。
(6)switch语句后面的表达式的类型可以是byte,short,int,char。jdk5以后,可以跟枚举。jdk7以后,可以跟String类型。
十、for语句(循环语句)
1、格式:
for(初始化语句;条件语句;步长语句){
循环体语句;
}
2、注意事项:
(1)条件语句,不管是一个简单的表达式还是复杂的表达式,都是boolean类型;
(2)初始化语句,和条件表语句后面都要带上分号。
十一、while语句(循环语句)
1、格式:
基本格式:while(条件表达式){
循环语句体;
}
扩展格式:(优于基本格式)
初始化语句 ;
while(条件表达式){
循环体语句;
步长语句;
}
2、 while循环和for循环的区别:
(1)从内存角度考虑,for循环优于while循环,for循环语句执行完毕之后,变量会及时被GC垃圾回收期回收掉;while循环,可以去访问循环语句中的变量。
(2)从具体需求考虑,如果循环次数明确的情况下,应用for循环,如果不知道要循环次数,应该去使用while循环。
十二、do-while语句(循环语句)
1、格式:
基本格式: do{
循环体语句
}whiel(判断条件语句) ;
扩展格式: 初始化语句;
do{
循环体语句;
控制体语句;(步长语句)
}while(条件判断语句) ;
2、与for、while语句的区别:循环体至少执行一次。
3、实际开发中,优先考虑顺序依次为:for语句、while语句、do-while语句。
十三、break、continue、return作用与区别
break:表示中断,结束。不能单独使用,一般在switch语句或者循环语句中使用。
continue:继续的意思,跳出当前循环,直接进入一次循环
单独不能使用,在循环语句中使用较多。
return:方法的返回值 ,会带回一个结果。
十四、方法(函数)
完成特定功能的代码块。
1、格式:
public static 返回类型 方法名(形参表){
函数体
}
2、方法格式的解释:
(1)public static: 方法是静态的,公共的方法。
(2)返回类型: 根据具体的需求,返回的类型,即用什么样的数据类型结束。
(3)方法名:当前代码块的命名。命名规则:字母全小写,如果 是多个单词,则第一个单词全部小写,第二个单词开始每个单词首字母大写。
(4)return: 将当前代码的计算结果,返回给调用者。
3、调用方法
(1)单独调用。适用于无返回值类型的方法。
(2)输出调用。直接输出了结果,写死了,不能对结果进行操作。不能用于无返回值的方法。
(3)赋值调用。可以结果进一步操作。适用于有返回值类型的方法。不能用于无返回值的方法。
4、注意事项:
(1)方法和方法是平级关系,一个方法中不能再定义方法。
(2)定义一个方法,形式参数必须有数据类型,否则会出现问题。
(3)在主函数main()中调用方法的时候,实际参数中不需带数据类型。
(4)有大括号的地方不能有分号,有分号的地方不能有大括号。
十五、方法重载
方法名相同,参数不同(个数或类型不同,均可)。
注意:对程序进行测试的时候,测试错误数据,正确数据,边界数据。
原文地址:http://blog.51cto.com/13678728/2094402