初识Java:数据类型与变量、运算符

这篇具有很好参考价值的文章主要介绍了初识Java:数据类型与变量、运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

哈喽大家好,这篇文章我将为大家分享关于Java的数据类型与变量和运算符。

数据类型与变量

数据类型

在Java中数据类型分为基本数据类型与引用数据类型,今天我们着重讲解基本数据类型。

基本数据类型又分为整型、浮点型、字符型以及布尔类型,我们来看下面的一张表。
初识Java:数据类型与变量、运算符

整型类型

byte类型

byte类型的大小是1个字节,它所能表示的范围是-128~127,这个范围我们可以用一段代码来知道。

System.out.println(Byte.MIN_VALUE);
System.out.println(Byte.MAX_VALUE);

初识Java:数据类型与变量、运算符

这里Byte是byte类型的包装类,我们现在还不需要细究,知道可以这样用就可以了。

short类型

short类型的大小是2个字节,可以表示-2^15 ~ 2^15-1,也就是-32768 ~ 32767

System.out.println(Short.MIN_VALUE);
System.out.println(Short.MAX_VALUE);

初识Java:数据类型与变量、运算符

int类型

int类型的大小是4个字节,可以表示-2^31 ~ 2^31-1,
-2147483648 ~ 2147483647范围的数字。

System.out.println(Integer.MIN_VALUE);
System.out.println(Integer.MAX_VALUE);

初识Java:数据类型与变量、运算符

long类型

long类型的大小是8个字节,可以表示-2^63 ~ 2^62-1,
-9223372036854775808 ~ 9223372036854775807范围的数字。

System.out.println(Long.MIN_VALUE);
        System.out.println(Long.MAX_VALUE);

初识Java:数据类型与变量、运算符

在这里大家可能会问了,大家都是学过c语言的,那么为什么没有long long类型呢?并且在C语言中,为什么int的类型的大小有的时候是4个字节,有的时候是8个字节呢?在Java中int类型到底是几个字节呢?

在Java中是没有long long类型的,因为Java中的long类型就是8个字节,并且在Java中int类型始终是4个字节,不会出现一会是4个字节,一会是8个字节。

浮点型

Java中浮点型跟C语言中的浮点型是一样的,浮点型分为float类型和double类型,float类型的大小是4个字节,double类型的大小是8个字节,浮点型也有表示的范围,但是我们一般不关注。

字符类型

Java中的字符类型char跟C语言的char类型的差别是很大的,因为在C语言中,cahr类型的大小是1个字节,而在Java中char类型的大小是2个字节,而我们的汉字也是两个字节,也就是说:在Java中我们可以用char来存储汉字。比如说:

char c = '好';

char类型表示的范围是:0~65535,那么为什么不是-32768 ~ 32767呢?因为在Java中使用的是Unicode编码,来表示中文字符。
我们用代码来看看

System.out.println(Character.MIN_VALUE);
System.out.println(Character.MAX_VALUE);

初识Java:数据类型与变量、运算符

布尔类型

布尔类型的大小是不确定的,他所表示的范围有且仅有false和true。

变量

什么叫变量呢?
变量是指在Java程序中可以经常改变的量,而这些变量就是用数据类型来定义的。

定义变量的格式是:数据类型 变量名 = 初始值

我们在定义变量的时候要注意变量的值不能超过数据类型所i能表示的范围,例如:Byte a = 128;这样就不行,编译器会报错的。

在定义变量的时候我们需要稍加注意的是当我们定义长整型和float类型的时候,我们可以稍加修饰。Long b = 100L,我们在数字后面加上l或者L来区分int跟long类型,float c = 1.0f,在定义float类型的数据时,我们需要在后面加上f或者F,否则编译器会把这个数据当成double类型,编译器会报错。

我们着重看一下浮点型变量和布尔型变量。

浮点型变量

int a = 3;
int b = 2;
System.out.println(a/b);

这段代码的输出结果是什么呢?1.5?我们来看看
初识Java:数据类型与变量、运算符
在Java和C语言中都有这个效果,就是如果/两边的数都是整数的时候,他的出来的结果也一定是整数,他的结果是整除的结果,那么我们要想得到1.5该怎么办呢?我们需要转化为浮点数之间的除法。

double a = 30;
double b = 2.0;
System.out.println(a/b);

初识Java:数据类型与变量、运算符

double a = 3.0;
int b = 2;
System.out.println(a/b);

初识Java:数据类型与变量、运算符
这样写也是可以的出来1.5的,因为在计算的时候int类型会自动转化为double类型。

布尔型变量

布尔型变量就两只有两个值false和true,并且在Java中与C语言不同的是,在C语言中我们可以这样写:

int i = 10;
while(i)
{
    System.out.println("我好帅");
    i--;
}

但是我们在Java中这样写会报错,因为在Java中没有所谓的0为假false,非0为真true,Java中只能用true表示真,false表示假,我们只能这样写:

int i = 10;
while(i>0)
{
    System.out.println("我好帅");
    i--;
}

类型转换

类型不总是不变的,他也会发生变化,例如:

int a = 10;
Long b = 0L;
b = a;
隐式转化

这里a会自动转化成long类型,因为b是long类型的变量long类型的变量比int类型的变量大,所以a会自动转化为long类型,然后再赋值给a,这种转化称为隐式转化,而隐式转化还有一种。

Byte a = 10;
Byte b = 20;
Byte c = 0;
c = a+b;

这段代码,编译器会报错,因为编译器有这样的一个原理,就是在计算的时候会将小于4个字节的数据提升为4个字节的数据,也就是说a和b会先发生整型提升,然后在进行计算,然后将int类型的值赋值给byte类型的变量会报错,所以这种隐式转化我们一定要注意。

显式转化

显式转化就是我们通过这样的形式
(类型)数据,例如:(int)13.14,这里我们就将13.14强制类型转化成了int类型,在强制类型转化的过程中可能会发生数据的丢失,在这里会将小数点后面的数据丢失。

不一定所有的强制类型转化都能成功,不同的类型之间不能发生类型转化,例如:

boolean a = false;
int b = (int)a;

这种编译器会报错的,类型转化不成功。

运算符

算术运算符

算术运算符其实就很简单,这里+ - * / 我们就不过多介绍了。在Java中%的作用对象可以是浮点数。例如:

double a = 6.5%3;

结果是0.5

增量运算符

+= -= *= /= %=
增量运算符其实就相当于简写,例如:a+=2;就相当于a = a+2;其他的增量运算符也是如此,但是增量运算符我们需要注意的是:当我们使用增量运算符的时候不会发生隐式转化,例如:

Byte a = 10;
Byte b = 20;
a+=b;

这段代码是不会报错的。

自增/自减运算符

++   -- 
int a = 1;
int b = a++;
int c = 1;
int d = c+1;

在执行完这段代码后,b和d的值、a和c的值都是不同的,在这里a++是后置++,所以是先把a的值赋值给b,然后再++,a本身的值也++了,但是d是c+1之后的值,而且c的值还是1。这就是自增或自减的副作用,我们在使用的时候需要注意。

后置++、–跟前置++、–是不同的,前置++、–是先进行+1或者-1,然后再赋值,然而后置++、–则是先赋值然后再+1或者-1.

关系运算符(比较简单,不过多解释)

== > < >= <= !=,==不要写成=了。

逻辑运算符

&& || !

&&

逻辑并且,当&&的两边都为真的时候,结果才为真,否则为假。

int x = 1;
if(x == 2 && 1/0 == 0) {
    System.out.println("ok");
}else {
    System.out.println(no);
}

初识Java:数据类型与变量、运算符

我们运行这段代码是不会出现错误的,因为当&&的左边表达式为假时就不会执行右边的表达式了

||

当||两侧的表达式有一个为真时,结果就为真。同样如此,当||的左边表达式为真时,就不会执行右边的表达式了。

逻辑非,就是如果表达式为真时,逻辑非一下结果就是假,表达式为假时,逻辑非的结果就是真。

位运算符

& 按位与
| 按位或
^ 按位异或
~ 按位取反
位操作符操作的都是数的二进制的补码形式。

&按位与操作符

相对应二进制都为1才为1,否则为0。例如:15&20,15转化为二进制是1111,20转化为二进制位10100
然后进行按位与操作,
0 1 1 1 1
1 0 1 0 0
0 0 1 0 0
结果为4。

| 按位或操作符

两个相对应的二进制位中有一个1就为1。
15 | 20
0 1 1 1 1
1 0 1 0 0
1 1 1 1 1
结果是31

^ 按位异或操作符

两个相对应的二进制不相同为1,相同为0
15 ^ 20
0 1 1 1 1
1 0 1 0 0
1 1 0 1 1
结果为27

~ 按位取反

如果该二进制位0则转为1,为1则转为0
15
1 1 1 1
0 0 0 0
结果为0。

移位操作符

"<<"二进制位左移
“>>” 二进制位右移
“>>>” 无符号右移
移位操作符的操作对象同样是数的二进制的补码形式

<< 左移操作符

二进制向左移动一位,右侧补0
15<<1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
结果是30,也可以说左移操作符就是乘上2^i,i是移几位。

>>右移操作符

二进制位向右移动一位,左侧补符号位,负数补1,整数补0
15>>1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
结果为7。
-15
原码:1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
反码:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
补码:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1
-15>>1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
然后再将这个二进制转化为原码,结果是-7
">>"右移操作符就相当于除以2^i。

>>>无符号右移

无符号右移左侧永远都补0,这里我就不过多介绍了。文章来源地址https://www.toymoban.com/news/detail-427436.html

到了这里,关于初识Java:数据类型与变量、运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python零基础入门(四)——变量,数据类型与运算符

    个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊 欢迎来到本篇博客,如果你是一个完全零基础的

    2024年02月10日
    浏览(57)
  • Python学习笔记(2)--字面量,注释,变量,数据类型,数据类型转换,标识符,运算符

    传送门==B站黑马python入门教程 1.字面量 字面量 : 代码中被固定写的值 python常用的6种数据类型为 数字,字符串,列表,元组,集合,字典 目前基础部分学习 字符串,整数,浮点数 即可 字符串 :(文本),由任意数量的 字符 (示例:中文/英文/各类符号/数组)组成; 在 python 中,字符串需要用双

    2024年02月11日
    浏览(51)
  • 【ChatGPT辅助学Rust | 基础系列 | 基础语法】变量,数据类型,运算符,控制流

    本章节将详细介绍Rust的基础语法,包括变量,数据类型,运算符,以及控制流。每个部分都将提供详细的解释和代码示例,以便于理解和学习。 在编程语言中,变量是一种基本的概念,它们是用来存储数据的。在Rust中,变量的特性和其他语言有所不同。 在Rust中,变量的定

    2024年02月14日
    浏览(84)
  • JAVA——数据类型与运算符

    注意事项: 1.初始化操作是可选的, 但是建议创建变量的时候都显式初始化.                   2. 最后不要忘记分号, 否则会编译失败.                   3.初始化设定的值为 10L , 表示一个长整型的数字. 10l 也可以.                   4.float 类型在 Java 中占四个字节, 遵守

    2024年01月19日
    浏览(62)
  • 〔002〕Java 基础之语法、数据类型、进制转换、运算符

    注释: 是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的 注释分为 单行注释 和 多行注释 ,注释的内容并不会被编译,所以 不会影响 代码的运行 单行注释通过 // 进行标注,只能注释一行 多行注释通过 /* 注释内容 */ 进行标注,可以注释多

    2024年02月05日
    浏览(73)
  • 【JAVA】数据类型,类型转换与提升,运算符,标识符命名规则

    🍉内容专 栏:【JAVA从0到入门】 🍉本文脉络:数据类型,类型转换与提升,运算符,标识符命名规则 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.12 目录  1. 字面常量 2. 数据类型:四类八种  3.类型转换 3.1 自动类型转换(隐式) 自动类型转换: 3.2 强制类型转换(显式) 强制类

    2024年02月15日
    浏览(43)
  • 基础篇_开发命令行程序(输入输出,类型、变量、运算符,条件语句,循环语句,方法,package与jar)

    输入的作用,就是由使用者告诉程序要操作的数据 例如,我要通过饿了么订餐,你得告诉程序你要吃什么,送货地址是什么吧 输出的作用,就是由程序向使用者展现执行的结果 还是订餐的例子,程序向你展示骑手接单没有,送到哪里了 将来输入输出来源会有多种,比如 a

    2024年01月17日
    浏览(43)
  • Java-01变量、运算符、表达式、输入与输出

    tip:[start]编程是一种控制计算机的方式,和我们平时双击打开文件、关机、重启没有任何区别——闫学灿tip:[end] 内置数据类型: 类型 字节数 举例 byte整数 1 123 short整数 2 12345 int整数 4 123456789 long整数 8 1234567891011L float浮点数 4 1.2F double浮点数 8 1.2, 1.2D boolean 1 true or false char字符

    2024年02月05日
    浏览(47)
  • 【JavaSE】数据类型和运算符

    从这一篇我们开始Java的学习~ 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 前言 Java第一个程序 字面常量 字面常量的分类 结合代码理解 类型转换 类型提升  byte与byte的运算 正确写法 字符串类型String int与String相互转换 int转String String转int 算

    2024年03月28日
    浏览(43)
  • JavaSE ---01 数据类型与运算符

    正所谓温故而知新,可以为师矣,虽然已经学过一遍javase,但是回头复习仍然能找到很多初学的时候遗忘的点,所以我们在学习的途中还是要保持空杯心态,这样才能走的更远, 切忌眼高手低 . 说到变量大家都经常去使用,那么什么是变量呢?下面给出变量的定义 变量指的是程序运行时

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包