Java基础学习笔记 一、java与C语言的区别
1. main函数的区别 C语言中main函数可以有返回值(一般为int类型),也可以没有返回值(一般为void关键字),例如: int main(…) //有返回值 void main(…); //无返回值 C语言中的main函数可以有参数(第一个参数是:intargc,表示命令行中参数的个数,第二个参数是char* argv[]指向字符串的指针数组),也可以没有参数。 例如: int main(int argc char * argv[]) //有返回值,有参数 void main( void ) //无返回值,无参数 java中main函数没有返回值(为void关键字),有一个参数(String[]args),java的main函数(方法)必须是如下定义,这是java的规范。 public static void main ( String[ ] args ) 初学时,经常把C语言的习惯带到java中, 例如 public static int main(String[] args)…编译时就会报错。 2. 条件表达式的区别 在C语言中表示真/假的变量一直是由int类型来表示,C99新添加了_Bool类型。一个布尔变量只有1(真)或0(假)两种情况。并且C语言把任何非零的值都认为是真,零就是假。如果编译器不支持C99标准可以使用int来代替_Bool,所以C语言中if和while的条件判断语句的值可以是_Bool型的真(1)和假(0),也可以是int类型的0和非零。 例如:字数限制,请参照附件 在java中表示真假的变量只能是boolean类型,且值只能是true或false,不能是int或其他类型。 例如:字数限制,请参照附件 注意:在java中真/假不能用int类型的非零和零表示。 3. 输出语句print的区别 在C语言中,打印语句printf()函数的每个参数之间是用逗号“,”隔离,而在java中System.out.println()函数只能用连接符“+”号来隔离不同类型的参数。 例如:字数限制,请参照附件 二、java中数据类型和数据类型转换 1、java中有基本数据类型和引用数据类型 基本数据类型:4类8种 整数类型: byte 1 short 2 int 4 long 8 浮点型: float 4 double 8 字符型:(无符号类型,范围:0---65535) char 2 布尔型: boolean 1或0 注意:整数默认使用int类型,浮点数默认使用的 double 类型。 例如:字数限制,请参照附件 引用数据类型: 类 class 接口 interface 数组 [ ] 2、强制类型转换: 大的数据类型向小的数据类型转换。需要程序猿手动完成。 格式:目标类型 变量名=(目标类型)(被转换的数据); 例如:字数限制,请参照附件 3、隐式类型转换: 小的数据类型向大的数据类型转换时,编译器自动完成。 例如: 字数限制,请参照附件 byte、short、char →int → long → float → double 注意:byte,short,char相互之间不转换,他们参与运算时首先转换为int类型,然后在参与运算。 三、运算符的区别 1、 逻辑运算符 && 和 & 的区别? 1.1、双与“&&”也叫“短路与”,当运算符的左边表达式为假时右边不执行,整个表达式为假,该运算符执行速度快,效率高,例如:字数限制,请参照附件 1.2、单与“&”不管运算符的左边表达式是否为假,都执行右边表达式,该运算符执行效率低。例如:请参照附件 单与“&”和双与“&&”的逻辑运算的执行结果一直,但实际项目中推荐使用双与“&&”逻辑运算。 2、 == 与= 的区别 ==是判断运算符,=是赋值运算符 四、控制跳转语句break、continue和return的区别 break: 结束当前循环,程序执行循环后面的代码 continue:结束本次循环,继续下一次循环 return: 结束当前方法,return后面的语句不执行 五、方法重载 在同一个类中,方法名相同、方法的参数个数或者参数类型不同,叫做方法重载 注意:方法重载是在同一个类中,与方法的返回值类型无关,只看方法名和参数列表。在调用时,JVM虚拟机通过参数列表的不同来区分同名方法。 例如:下列哪个选项与show不是函数重载?字数限制,请参照附件 六、System.out.println()函数的输出组合方式 实例,请参照附件 System.out.println()函数的输出组合方式有: 数字加字符:结果输出是数字:1+'a'=98 字符加数字:结果输出是数字:‘a’+1=98 字符加字符串:结果输出是字符串:‘a’+“bcd”=abcd 字符串加字符:结果输出是字符串:“bcd”+‘a’=bcda 字符串加数字:结果输出是字符串:“bcd”+1=bcd1 数字加字符串:结果输出“是”字符串:1+ “bcd” =1bcd 七、s += 1和s=s+1的区别 1、java中“+=”运算符隐藏了强制类型转换,例如: short s = 23; s += 23; //本句相当于s = (short)( s+23 ); 2、s=s+1需要加强制类型转换,例如 short s = 23; s = s + 23 ; //错误,需要加上强制类型转换,即s = (short)(s + 23). 本文是我在学习java基础时,对java基础部分容易混淆的知识点,做一些简要的总结,如有遗漏或错误,欢迎大家批评指正,本人愿和大家一起努力学习,共同进步。后续将会对面向对象作出一些总结。由于字数的限制,具体内容请参照附件的pdf文档。谢谢。 |