Java学习(1)——数据类型

本文详细对比了Java与C语言的基础语法,包括数据类型、变量声明与初始化、数组定义与使用等关键内容,强调了Java对Unicode的支持及数组作为对象的特性。

前言

  开始学学java吧,要不然怕自己学的专业知识找不到工作。。另外也可以把它当成爱好吧,想想如果有一天能够搭建一个自己的网站,感觉还是挺有成就感的。

基础语法

   首先可以看看哪些基础语法与 C 语言相同与不同,毕竟学了也用了一段时间的 C 语言。

1、数据类型

C语言的基本数据类型有:\color{red}{C 语言的基本数据类型有:}C
  short (int),占2个字节;
  int,占4个字节;
  long (int),占8个字节;
  float,占4个字节;
  double,占8个字节;
  char,占1个字节;
  当然,前3种 int 类型有有符号和无符号之分;除了这些基本数据外还有构造类
  型(包括数组、结构体、共用体、枚举类型),指针类型,空类型(void)
先不考虑Java面向对象的特性,对比来看Java语言的基本数据类型有:\color{red}{对比来看Java 语言的基本数据类型有:}Java
  byte,占1个字节;
  short (int),占2个字节;
  int,占4个字节;
  long (int),占8个字节;
  float,占4个字节;
  double,占8个字节;
  char,占2个字节; 这里 char 类型占空间的大小比 C 语言多一个字节主要是因为 Java 支持Unicode码,可以兼容多国文字;
  boolean 不清楚占多少空间,可能就一个bit?;
标注部分是与 C 不同的地方;

2、变量

可能这一部分Java与C还是比较类似的。
(1)都需要先对变量进行声明初始化,才能使用,如果你不初始化,C和Java都会默认初始化。例如int a = 0;
(2)都可以对数据类型进行强制转换,在一定情况下还会自动转换数据类型(类型提升)。例如:

int a = 2;
double b = 1.1;
double c;
c = a / b;

在计算 c 时,就会把a转换为double类型进行计算。在类似情况下,byte类型会提升为short类型,而short类型可能会提升为int类型。
(3)Java的小数默认是double类型,所以下面的语法是错误的。
·float f = 12.3可以通过强制类型转换改正float = (float)12.3,更正常的做法是在后面加一个F(小写也行)就好。
在这里插入图片描述
在这里插入图片描述
对于整数有时也会出现类似的情况,Java默认整数类型是int,它大概可以表示(-3K,3K)的数,如果数过大,当然是不行的。这时我们用long类型来存储,如下,发现还是会报错。这是因为Java还是将整数认为int类型,在后面加一个L(小写也行)就好。
在这里插入图片描述
在这里插入图片描述
但是如果是short a = 3却不会报错,按理说这里的3应该是int类型的啊。

3、数组

这个可能就与C有着很大差别啦。感觉Java的数组算是一个对象了吧(自我感觉而已),因为它需要被new出来。例如:

int array1[] = new int[3];
double[] array2 = new double[4];//也可以用这种方法定义数组

上述程序,定义了一个大小为3的可以存储int类型数据的数组,和一个大小为4的可以存储double类型数据的数组。
另外已经定义好的数组,它自己包含了一个非常常用的变量,就是数组长度。可以通过 .length来获取。例如

int[] array = {1,2,3};//可以直接初始化数组
arrayLen = array.length;

这时arrayLen就是3,因为array数组里包含了1,2,3这三个元素。
当然,与C相同的是,同样可以定义多维数组,如下:

	int[][] twoArray = new int[][];

运算符

 这里主要还是记一下不常用但我还是见到了的运算符吧。
~ ,这个是按位取反(牛客网做题时看到了)
! ,这个是逻辑取反。它两的区别相信你不会忘吧。
^,按位异或
按位与(&)按位或(|)和逻辑与(&&)逻辑或(||)。
另外对于布尔类型,可能还会有短路或逻辑或。以后遇到在说吧
这一部分先写这么多吧,感觉如果要细写的话,还可以写好多。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值