一、数据类型

在C语言中我们已经知道的数据类型有

整型: short  int long longlong
浮点型:float double
字符型:char

JAVA中没有longlong类型,但是多了字符串类型、字节类型和布尔类型

字节类型  byte
字符串型  String
布尔类型  boolean

虽然数JAVA中这些数据类型和C都大同小异,但是由于JAVA虚拟机的存在,在JAVA中每个类型所占的字节数是固定的

数据类型

所占字节

short

2

int

4

long

8

float

4

double

8

char

2

byte

1

boolean

1

JAVA中对于char型所占内存做了调整,将其改变为2个字节,那么这与C中的char型数据有什么不同呢?
我所了解到的是能表示得到数据范围不同,相对于C中的char来说,JAVA中的char能表示的范围更广,

JAVA中的char

C中的char

\u0000~\uFFFF

-128~127

无符号

有符号

在JAVA中有byte字节类型,它所占内存是1个字节,和C中的char所占内存一样大,那么这两个又有什么区别或者联系呢?
我也有点懵,毕竟两个表示的数据范围一样。
但是我个人认为两者是没有关系的,毕竟一个是字节型,一个是字符型,能有什么关系QAQ。
字符串类型
JAVA好用的一点包括他有字符串类型String,在表示一个字符串的时候不需要像C中定义一个字符数组,而且C中字符数组是以“/0”结尾的,一个不注意,就可能出错。

那么JAVA中如何定义一个字符串类型的数据呢?

目前我所掌握的有这么几种方法:

String  str1 = "hello";  //直接定义
 			String str2 = new String("World"); //通过new一个String实例定义
 			char[] tmp = {'a','b','c'};
 			String str3 = Arrays.toString(tmp);//通过字符数组来定义

在我看来呢,直接定义的这种方法最快速简便,因为它不仅好用,耗费的内存也是最少的

java 按公式加减乘除括号 java中加减乘除属于char吗_字符串


我们可以看到,这里直接就在内存池里创建了一个“hello”,然后将地址给引用str1

在看一下第二种方法是如何创建的:

java 按公式加减乘除括号 java中加减乘除属于char吗_字符串_02


相比于第一种方法,这种方法明显耗费了内存空间

我们再来看一下第三种方法,这和第二种方法有“异曲同工”之妙,我个人认为这种方法是最不可取的。

java 按公式加减乘除括号 java中加减乘除属于char吗_java 按公式加减乘除括号_03

字符串类型的数据一般情况下也是不能随便改变它的值得,但是有时候我们可以通过其他手段改变字符串数据的值,这个方法我还没有掌握,就不和大家解释了,只晓得好像是通过映射。

二、运算符

Java中的运算符和C中的并没有什么特别大的区别