JavaSE ---01 数据类型与运算符

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

正所谓温故而知新,可以为师矣,虽然已经学过一遍javase,但是回头复习仍然能找到很多初学的时候遗忘的点,所以我们在学习的途中还是要保持空杯心态,这样才能走的更远,切忌眼高手低.

1.变量

说到变量大家都经常去使用,那么什么是变量呢?下面给出变量的定义

变量指的是程序运行时可变的量 . 相当于开辟一块内存空间来保存一些数据 .
类型则是对变量的种类进行了划分 , 不同的类型的变量具有不同的特性 .
我们所讨论的 " 变量 " 主要和我们的 " 内存 " 这样的硬件设备密切相关

 JavaSE ---01 数据类型与运算符,Java学习,1024程序员节

2.基本数据类型 (8个)

int     4
//注:int在java中与系统无关,都是4个字节
byte    1
float   4
double  8
long    8
char    2
boolean //java本身没有规定大小
short   2

2.1 int类型

int类型是4个字节 大小范围也就是 -2^31 - 2^31-1

System.out.println(Integer.MAX_VALUE); // int 的最大值
System.out.println(Integer.MIN_VALUE)//   int的最小值

注:这里的Integer我们可以暂且认为是int的包装类,可以先不去管他.

如果超出int的取值范围,也会发生溢出的情况,下面我们就可以使用更大的数据类型long(长整型)

2.2 long 长整型

  语法

long num = 10L; // 定义一个长整型变量, 初始值写作 10l 也可以(小写的 L, 不是数字1). 
System.out.println(num)

2.3 double 浮点型

注:java中int除以int仍然是int ,比如1/2 答案是0

double num = 1.1;
System.out.println(num * num)
    
// 执行结果
1.2100000000000002

这里小数的存储仍然是IEEE 754标准,所以仍然会有精度误差.

2.4 float数据类型

float num = 1.0f;    // 写作 1.0F 也可以
System.out.println(num);

这里加一个f的原因就是和double区分,但是精度不高,工程上用得不多.一般用double代替.

2.5 char 类型

char ch = 'A';
char a = '牛';

注:这里java中的char使用的是unicode编码而不是ascii编码,所以甚至支持中文,占用2个字节而不是c语言中的1个字节.

2.6 byte类型

这也是c语言没有的类型.

byte a = 10;

注:byte类型和char类型没关系.

2.7 短整型变量

short a = 10;
//不建议使用,因为范围较小

2.8 布尔类型变量

boolean flag = false;

注:java中的boolean类型中只有true和false,不存在0为假其他为真的情况,java中没有规定boolean的大小.

 

3.引用数据类型 

3.1字符串类型

字符串拼接操作

String s = "Hello";
String s1 = "World";
String s3 =s + s1; //Hello World

注:

1. Java 使用 双引号 + 若干字符 的方式表示字符串字面值 .
2. 和上面的类型不同 , String 不是基本类型 , 而是 引用类型 ( 后面重点解释 ).
3. 字符串中的一些特定的不太方便直接表示的字符需要进行转义

3.2 常见转义字符

转义字符 解释
\n 换行
\t 水平制表符
\' 单引号
\" 双引号
\\ 反斜杠

3.3 字符串+整数

结果是字符串

String str = "result = ";
int a = 10;
int b = 20;
String result = str + a + b;
System.out.println(result);
// 执行结果
result = 1020

4.类型转换 

Java 作为一个强类型编程语言 , 当不同类型之间的变量相互赋值的时候 , 会有教严格的校验
举例:
int a = 10;
long b = 20;
a = b; // 编译出错, 提示可能会损失精度.
b = a; // 编译通过.
int a = 10;
double b = 1.0;
a = b; // 编译出错, 提示可能会损失精度.
b = a; //通过

大的类型不能赋值给小的类型,小的类型可以赋值给大的类型.

boolean类型不能和int相互转换.

4.1 强制类型转换 

int a = 0;
double b = 10.5;
a = (int)b;
int a = 10;
boolean b = false;
b = (boolean)a; //报错

结论: 
1. 强制类型转换可能会导致精度丢失. 如刚才的例子中, 赋值之后, 10.5 就变成 10 了, 小数点后面的部分被忽略.
2. 强制类型转换不是一定能成功, 互不相干的类型之间无法强转

 

4.2 数值提升

4.2.1 int 和 long 做运算
int a = 10;
long b = 20;
int c = a + b; // 编译出错, 提示将 long 转成 int 会丢失精度
long d = a + b; // 编译通过.

结论: 当 int 和 long 混合运算的时候, int 会提升成 long, 得到的结果仍然是 long 类型, 需要使用 long 类型的变量来接收结果. 如果非要用 int 来接收结果, 就需要使用强制类型转换
 

4.2.2 byte自运算
byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);
// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
byte c = a + b;

原因:虽然a和b都是byte,但是加起来的时候会转化为int再相加,将int赋给byte是行不通的

正确写法:(强转)

byte a = 10;
byte b = 20;
byte c = (byte)(a + b);
System.out.println(c);

总结:

1. 不同类型的数据混合运算, 范围小的会提升成范围大的.
2. 对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算.

4.2.3 int 和String直接的转换
int ->String
int num = 10;
// 方法1
String str1 = num + "";
// 方法2
String str2 = String.valueOf(num);

String ->int

String str = "100";
int num = Integer.parseInt(str);

JavaSE ---01 数据类型与运算符,Java学习,1024程序员节 文章来源地址https://www.toymoban.com/news/detail-720744.html

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

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

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

相关文章

  • 【JAVASE】带你了解运算符奥秘(Java全部运算符)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 熟练掌握各种运算符 废话不多说,我们直接开始。 基本四则运算符:加减乘除模 (+ - * / %) qt和c语言一样,但是取模运算符一点不同。 说明什么, 取模运

    2024年04月17日
    浏览(35)
  • JAVA——数据类型与运算符

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

    2024年01月19日
    浏览(51)
  • Java数据类型,变量与运算符

    常量是在程序运行期间,固定不变的量称为常量。 在以上程序中,输出的Hello Word,其中的“Hello Word”就是字面常量。 字面常量的分类: 字符串常量 整形常量 浮点数常量 字符常量 布尔常量 空常量 注意:字符串,整形,浮点型,字符型以及布尔型,在Java中都称为数据类型

    2024年02月08日
    浏览(38)
  • 初识Java:数据类型与变量、运算符

    哈喽大家好,这篇文章我将为大家分享关于Java的数据类型与变量和运算符。 在Java中数据类型分为基本数据类型与引用数据类型,今天我们着重讲解基本数据类型。 基本数据类型又分为整型、浮点型、字符型以及布尔类型,我们来看下面的一张表。 整型类型 byte类型 byte类型

    2024年02月01日
    浏览(68)
  • 【JavaSE】一篇文章领悟Java运算符

    前言: 作者简介: 爱吃大白菜1132 人生格言:纸上得来终觉浅,绝知此事要躬行   如果文章知识点有错误的地方不吝赐教,和大家一起学习,一起进步!   如果觉得博主文章还不错的话,希望三连支持! 目录 什么是运算符  1.算数运算符  基本四则运算符:加减乘除模(+ -

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

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

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

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

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

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

    2024年02月11日
    浏览(42)
  • 图灵日记之java奇妙历险记--数据类型与变量&&运算符

    看下面这个栗子,宝子们 输出的\\\"cheer up!!!\\\"就是字面变量 字面常量的值在程序的整个生命周期中是不变的 字面常量的分类: 字符串常量 整形常量 浮点数常量 字符常量 布尔常量:只有两种true和false 空常量 注意:字符串,整形,浮点型,字符型以及布尔型,在java中都被叫作数据类型

    2024年02月04日
    浏览(33)
  • 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日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包