本帖最后由 ggggmllll 于 2023-1-1 09:12 编辑
本人c语言萌新一枚,前些天脑子一热,开始学java,所以本教程会更偏向有c基础的人(具体细节可以参考java基础教程)
1,java基础语法和c语言不同之处
首先就是java是一门面向对象的编程语言,所以类是java里的老大哥(正如函数是c里的老大哥),不过只是面向对象范围的内容,暂时不提(主要是我懒)
先说一下数据类型方面:
仅我个人认为,c语言的char可以看作java的byte或char(不知道对不对,欢迎大佬指正)
java的float和double类型的大小和c语言float和double类型的大小不一样(感觉不重要)
java好像没有结构体,共用体,位域和指针,但java有boolean类型(取值只有true/false,相当于1/0)和String类型,虽然没有指针,但java有引用类型(个人感觉类似于指针)
java会给类型一个默认值:
boolean——false
byte——0
short——0
int——0
long——0
float——0.0
double——0.0
char——'\u0000'
任何引用——null
接下来是循环结构(摘自菜鸟教程):
引入了一种主要用于数组的增强型 for 循环(就是个遍历数组的东西),格式如下:
- for (声明语句 : 表达式)
- {
- //code
- }
复制代码声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等 表达式:表达式是要访问的数组名,或者是返回值为数组的方法 demo: - public class Test {
- public static void main(String[] args){
- int [] numbers = {10, 20, 30, 40, 50};
-
- for(int x : numbers ){
- System.out.print( x );
- System.out.print(",");
- }
- System.out.print("\n");
- String [] names ={"James", "Larry", "Tom", "Lacy"};
- for( String name : names ) {
- System.out.print( name );
- System.out.print(",");
- }
- }
- }
复制代码
然后是switch语句: 从 Java SE 7 开始,switch 支持字符串 String 类型了
接下来是一些细节: java似乎没有预编译指令,但java有“包”来代替c语言的头文件机制 在java中,const和goto是保留关键字,无法使用
java没有typedef
2,面向对象 Java作为一种面向对象语言,支持以下基本概念:类,对象(不是女朋友),实例化,方法(和c函数差不多,但不是同一个东西),覆盖,重载,抽象,封装,继承,多态 由于时间原因,目前只能浅讲一下类和对象的概念(其实是lz实力不够): 类和对象是java这门高级语言的老大哥,是面向对象程序设计思想的一个工具 在面向对象程序设计里,将数据和处理数据的方法用类绑定在一起,再将类实例化,就形成了对象 举个例子: 我们把人这一物种视为类(class),假设有一个人叫张三,则这张三就可以视为人这个类的一个实例(object) 更c语言一点的理解就是:类不过就是个高级点的结构体(大佬勿喷) 剩下的以后再说吧 |