Java 初学者宝典之数据类型与运算符

数据类型与运算符

数据类型总是和计算机语言紧密相连的,在学习数据类型之前,我们先了解一下变量。顾名思义,就是在程序运行时可变的量,在内存中开辟一块空间来储存数据,类型就是对这些变量进行分类。


我们先来了解下冯诺依曼结构
冯.诺依曼确定了”计算机结构“中的5大部件:

运算器
控制器
存储器
输入设备
输出设备
在这里插入图片描述


整型变量

整形变量有int,long。
其中int 占4字节,long占8字节。这里涉及到了字节的概念。我们来更详细的了解一下字节。
字节是计算机中表示空间大小的基本单位.
计算机使用二进制表示数据. 我们认为 8 个二进制位(bit) 为一个字节(Byte).
我们平时的计算机为 8GB 内存, 意思是 8G 个字节.
其中 1KB = 1024 Byte, 1MB = 1024 KB, 1GB = 1024 MB.
所以 8GB 相当于 80 多亿个字节.。
一个int 能表示的数字为-21亿——+21亿,可以说是非常多了。
下面举一个int 的例子,

nt num = 10; // 定义一个整型变量
System.out.println(num) ;

当然如果你想使用long类型变量,方法也是一样的。

整形变量在定义和使用时需要注意一些问题。
1、Java中=表示赋值的意思,但不是数学中的那种赋值,他的意思是给变量设置一个初始值,在Java中,如果不给变量初始化,编译器就会报错。


提示:以下是本篇文章正文内容,下面案例可供参考

双精度浮点型变量

double num=1.2;
System.out.println(num)

需要注意的是Java 中的 double 虽然也是 8 个字节, 但是浮点数的内存布局和整数差别很大, 不能单纯的用 2 ^ n 的形式表示数据范
围.
Java 的 double 类型的内存布局遵守 IEEE 754 标准(和C语言一样), 尝试使用有限的内存空间表示可能无限的小数, 势
必会存在一定的精度误差。

字符串类型变量

char 变量名=初始值;

举一个例子

char ch='C';

需要注意的是1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一
个字符占用两个字节, 表示的字符种类更多, 包括中文.

运算符

1:运算符包含基本运算符±/*%
这里和C语言非常相似,不在过多叙述。
需要注意的是除法,int /int 结果还是int ,但是需要使用 double来计算。另外0,不能当作除数。
2:关系运算符
关系运算符主要有6个:
== != <><=>=
tips:关系运算符的表达式返回的都是 boolean类型

2:逻辑运算符
包含 && || ! 和短路求值 &和|

3:位运算符
& | ~ ^
4:移位运算
<< >> >>>
5: 条件运算符
表达式1?表达式2:表达式3

关键字

关键字 含义
abstract 表明类或者成员方法具有抽象属性
assert 断言,用来进行程序调试
boolean 基本数据类型之一,声明布尔类型的关键字
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表示其中的一个分支
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class 声明一个类
const 保留关键字,没有具体含义
continue 回到一个块的开始处
default 默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
do 用在do-while循环结构中
double 基本数据类型之一,双精度浮点数类型
else 用在条件语句中,表明当条件不成立时的分支
enum 枚举
extends 表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
final 用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally 用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float 基本数据类型之一,单精度浮点数类型
for 一种循环结构的引导词
goto 保留关键字,没有具体含义
if 条件语句的引导词
implements 表明一个类实现了给定的接口
import 表明要访问指定的类或包
instanceof 用来测试一个对象是否是指定类型的实例对象
int 基本数据类型之一,整数类型
interface 接口
long 基本数据类型之一,长整数类型
native 用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new 用来创建新实例对象
package 包
private 一种访问控制方式:私用模式
protected 一种访问控制方式:保护模式
public 一种访问控制方式:共用模式
return 从成员方法中返回数据
short 基本数据类型之一,短整数类型
static 表明具有静态属性
strictfp 用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范
super 表明当前对象的父类型的引用或者父类型的构造方法
switch 分支语句结构的引导词
synchronized 表明一段代码需要同步执行
this 指向当前实例对象的引用
throw 抛出一个异常
throws 声明在当前定义的成员方法中所有需要抛出的异常
transient 声明不用序列化的成员域
try 尝试一个可能抛出异常的程序块
void 声明当前成员方法没有返回值
volatile 表明两个或者多个变量必须同步地发生变化
while 用在循环结构中


总结

关键字不能和定义的变量名冲突。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

见闻色霸气~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值