学了java差不多两天了,要说和C语言的区别嘛,还是有很多的,但不得不说,先学了C语言再学其他的语言真的有很大帮助。
首先呢,先看看java和C语言的基本格式吧。
java的格式:
public class Demo{ public static void main(String[] args) { }}
C语言格式:
#include <stdio.h>int main(){return 0;}
java不用头文件,有类的定义(我现在编译时,文件名和类名一样,但现在还不知道类的具体要求),String[] args现阶段还不知道是什么,先用着再说,像这种的基本格式先记住。
其次呢,java里面的整数类型要分得更细一点,有byte(1字节),short(2字节),int(4字节),long(8字节),而C里面没有这么多,顶多就+long。
同时在学习java的时候,我终于搞懂了原码,补码和反码是什么,原码就是本身的二进制代码,最高位是符号位,0代表正数,1代表负数,正数的原码,反码,补码相同,负数的反码即原码的符号位不变,其余位0变1,1变0,补码是在反码的基础上加1(以10和-10为例):
10的原码,反码和补码均为00001010。而-10的原码为10001010,其反码为11110101,补码为11110110.
另外呢,java的进制表示方法很奇特:
1,二进制整数:0B或0b开头,如:int a = 0B110;2,八进制整数:要求以0开头,如:int a = 012;3,十进制整数:如:int a = 17;4,十六进制整数:要求0x或0X开头,如int a =0x12;
java表示字符类型的常量方法也挺多的,可以直接表示符号,也可以用ASCII码表示,或者用ASCII码的十六进制表示(C语言也可以),最神奇的是居然还可以把汉字拿来赋值!
public class CharDemo { public static void main(String[] args) { char c1 = 'A';//直接表示符号 System.out.println(c1); char c2 = 65;//表示符号对应的10进制顺序 System.out.println(c2); char c3 = '\u0041';//表示符号对应的十六进制顺序(补全四位) System.out.println(c3); char c4 = '哥';//表示汉字 System.out.println(c4); }}
继续java学习之路!