Java基础语法与c语言的差别

       (一)数据类型

        布尔类型boolean只能取值true和false,不接受null值,占据一个字节大小。它主要用于逻辑运算和流程控制,在Java中,无法用非0或0来表示true和false,这与C语言不同。

        基本数据类型转换方面,char类型可以保存int类型的常量值,但无法保存int类型的变量值。当byte、short和char类型进行运算时,它们会首先被提升为int类型,而boolean类型不参与转换。

        要将基本类型转换为String类型,可以通过将基本类型的值与空字符串""相加实现转换。

        若需要将String类型转换为基本类型,则可以使用基本类型的包装类中的parseXX方法进行转换。例如,可以通过Integer.parseInt()将字符串转换为整数。在进行这种转换时,需要确保字符串能够有效转换为对应的数据类型,否则会抛出异常。

        在将字符串转换为char类型时,可以通过调用charAt(0)方法来获取字符串的第一个字符。

        总之,在Java中,对基本数据类型的转换需要注意数据的有效性和类型一致性,以避免出现错误或异常情况。

       (二)数组

        C语言中,数组的定义形式为类型说明符 数组名[常量表达式]。数组的定义与初始化可以同时进行,例如:int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 中括号内的常量可以省略。

        在Java中,数组可以采用两种形式进行定义:数据类型 数组名[]; 或者 数据类型[] 数组名;。定义和初始化可以同时进行。动态初始化方式包括 int a[] = new int[5]; 和先声明数组再创建数组,如 int a[]; a = new int[10];。静态初始化则采用 int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; 的方式。

        C中定义数组不进行初始化则数组元素值是不可预知的,而Java中分配内存而不进行初始化数组中是有默认值的。

        需要注意的是,在Java中数组属于引用类型,数组型数据是对象。默认情况下,Java中的数组属于引用传递,赋的值是地址,即采用引用赋值的方式。如果要让 arr2 的数据空间独立出来,需要为其开辟一个新的数据空间,就像在C语言中一样。遍历 arr1 并将每个元素拷贝到 arr2 对应的元素位置即可。

        另外,C和Java都不支持变长数组,且在引用数组元素时都是使用数组名[下标]的方式。区别在于,Java的数组下标范围为0~数组长度-1,超出该范围会抛出数组下标越界异常;而C的有效范围也是0~数组长度-1,但超出此界不会报错。

        最后,关于二维数组取列数,可以使用 arr[i].length 进行操作。以下是一个用Java实现数组扩容的例子。

       (三)字符串处理

        在Java中,字符串是不可变的,可以直接使用"+"操作符进行字符串拼接。而在C语言中,字符串是以字符数组形式存在,需要使用库函数来进行各种操作。

        +号在不同的情况下起到的作用是不一样的,在+前后有字符串时,直接拼接, 在拼接字符时,得到的结果是前后字符码值的加和,拼接数字正常相加。

      (四)键盘输入

        由于java 的应用程序编程接口以包的形式来组织,因此需要使用键盘输入功能时需要先把java.util下的Scanner类导入。

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值