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)有大括号的地方不能有分号,有分号的地方不能有大括号。 十五、方法重载 方法名相同,参数不同(个数或类型不同,均可)。
注意:对程序进行测试的时候,测试错误数据,正确数据,边界数据。