一、基本数据类型(4类 8种)

整数型:byte、short、int 、long

浮点型:foat、double

字符型:char

布尔型:boolean、

注:1.Java中的默认类型:整数类型是 int 、浮点类型是 double ;

2.科学计数法省空间,数据范围和字节占用不一定相关;

3.Java种char类型是可以表示中文的因为它的容量足够大

4.字符串不是基本数据类型,而是引用类型

5.浮点型可能只是一个近似值,并非一个精确的值

6.浮点数当中默认类型是double,如果一定要使用float类型,需要加上一个后缀f/F(大写小写都是可以的),整数默认int,如果要用long就得在后面加上大写字母L(eg: 100L)

二、引用数据类型:

字符串、数组、类、接口、lambda

数据类型的强制转换:

1 /*

2 当数据类型不一样时,将会发生数据类型转换。3

4 自动类型转换(隐式)5 1. 特点:代码不需要进行特殊处理,自动完成。6 2. 规则:数据范围从小到大。7

8 强制类型转换(显式)9 */

10 public classDemo01DataType {11 public static voidmain(String[] args) {12 System.out.println(1024); //这就是一个整数,默认就是int类型

13 System.out.println(3.14); //这就是一个浮点数,默认就是double类型14

15 //左边是long类型,右边是默认的int类型,左右不一样16 //一个等号代表赋值,将右侧的int常量,交给左侧的long变量进行存储17 //int --> long,符合了数据范围从小到大的要求18 //这一行代码发生了自动类型转换。

19 long num1 = 100;20 System.out.println(num1); //10021

22 //左边是double类型,右边是float类型,左右不一样23 //float --> double,符合从小到大的规则24 //也发生了自动类型转换

25 double num2 = 2.5F;26 System.out.println(num2); //2.527

28 //左边是float类型,右边是long类型,左右不一样29 //long --> float,范围是float更大一些,符合从小到大的规则30 //也发生了自动类型转换

31 float num3 = 30L;32 System.out.println(num3); //30.0

33 }34 }

强制转换

1 /*

2 强制类型转换3 1. 特点:代码需要进行特殊的格式处理,不能自动完成。4 2. 格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;5

6 注意事项:7 1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。8 2. byte/short/char这三种类型都可以发生数学运算,例如加法“+”.9 3. byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。10 4. boolean类型不能发生数据类型转换11 */

12 public classDemo02DataType {13 public static voidmain(String[] args) {14 //左边是int类型,右边是long类型,不一样15 //long --> int,不是从小到大16 //不能发生自动类型转换!17 //格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;

18 int num = (int) 100L;19 System.out.println(num);20

21 //long强制转换成为int类型

22 int num2 = (int) 6000000000L;23 System.out.println(num2); //170503270424

25 //double --> int,强制类型转换

26 int num3 = (int) 3.99;27 System.out.println(num3); //3,这并不是四舍五入,所有的小数位都会被舍弃掉

28

29 char zifu1 = 'A'; //这是一个字符型变量,里面是大写字母A

30 System.out.println(zifu1 + 1); //66,也就是大写字母A被当做65进行处理31 //计算机的底层会用一个数字(二进制)来代表字符A,就是6532 //一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字

33

34 byte num4 = 40; //注意!右侧的数值大小不能超过左侧的类型范围

35 byte num5 = 50;36 //byte + byte --> int + int --> int

37 int result1 = num4 +num5;38 System.out.println(result1); //90

39

40 short num6 = 60;41 //byte + short --> int + int --> int42 //int强制转换为short:注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出

43 short result2 = (short) (num4 +num6);44 System.out.println(result2); //100

45 }46 }

转换的注意事项:

1. 强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出。

2. byte/short/char这三种类型都可以发生数学运算,例如加法“+”.

3. byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。

4. boolean类型不能发生数据类型转换

1 public classDemo02DataType {2 public static voidmain(String[] args) {3 //左边是int类型,右边是long类型,不一样4 //long --> int,不是从小到大5 //不能发生自动类型转换!6 //格式:范围小的类型 范围小的变量名 = (范围小的类型) 原本范围大的数据;

7 int num = (int) 100L;8 System.out.println(num);9

10 //long强制转换成为int类型

11 int num2 = (int) 6000000000L;12 System.out.println(num2); //170503270413

14 //double --> int,强制类型转换

15 int num3 = (int) 3.99;16 System.out.println(num3); //3,这并不是四舍五入,所有的小数位都会被舍弃掉

17

18 char zifu1 = 'A'; //这是一个字符型变量,里面是大写字母A

19 System.out.println(zifu1 + 1); //66,也就是大写字母A被当做65进行处理20 //计算机的底层会用一个数字(二进制)来代表字符A,就是6521 //一旦char类型进行了数学运算,那么字符就会按照一定的规则翻译成为一个数字

22

23 byte num4 = 40; //注意!右侧的数值大小不能超过左侧的类型范围

24 byte num5 = 50;25 //byte + byte --> int + int --> int

26 int result1 = num4 +num5;27 System.out.println(result1); //90

28

29 short num6 = 60;30 //byte + short --> int + int --> int31 //int强制转换为short:注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出

32 short result2 = (short) (num4 +num6);33 System.out.println(result2); //100

34 }35 }

四则运算当中的加号“+”有常见的三种用法:

1. 对于数值来说,那就是加法。

2. 对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。

char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode

3. 对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。

任何数据类型和字符串进行连接的时候,结果都会变成字符串

1 public classDemo05Plus {2 public static voidmain(String[] args) {3 //字符串类型的变量基本使用4 //数据类型 变量名称 = 数据值;

5 String str1 = "Hello";6 System.out.println(str1); //Hello

7

8 System.out.println("Hello" + "World"); //HelloWorld

9

10 String str2 = "Java";11 //String + int --> String

12 System.out.println(str2 + 20); //Java2013

14 //优先级问题15 //String + int + int16 //String + int17 //String

18 System.out.println(str2 + 20 + 30); //Java2030

19

20 System.out.println(str2 + (20 + 30)); //Java50

21 }22 }

自增运算符:++

自减运算符:--

基本含义:让一个变量涨一个数字1,或者让一个变量降一个数字1

使用格式:写在变量名称之前,或者写在变量名称之后。例如:++num,也可以num++

使用方式:

1. 单独使用:不和其他任何操作混合,自己独立成为一个步骤。

2. 混合使用:和其他操作混合,例如与赋值混合,或者与打印操作混合,等。

使用区别:

1. 在单独使用的时候,前++和后++没有任何区别。也就是:++num;和num++;是完全一样的。

2. 在混合的时候,有【重大区别】

A. 如果是【前++】,那么变量【立刻马上+1】,然后拿着结果进行使用。【先加后用】

B. 如果是【后++】,那么首先使用变量本来的数值,【然后再让变量+1】。【先用后加】

注意事项:

只有变量才能使用自增、自减运算符。常量不可发生改变,所以不能用。

1 public classDemo06Operator {2 public static voidmain(String[] args) {3 int num1 = 10;4 System.out.println(num1); //10

5 ++num1; //单独使用,前++

6 System.out.println(num1); //11

7 num1++; //单独使用,后++

8 System.out.println(num1); //12

9 System.out.println("=================");10

11 //与打印操作混合的时候

12 int num2 = 20;13 //混合使用,先++,变量立刻马上变成21,然后打印结果21

14 System.out.println(++num2); //21

15 System.out.println(num2); //21

16 System.out.println("=================");17

18 int num3 = 30;19 //混合使用,后++,首先使用变量本来的30,然后再让变量+1得到31

20 System.out.println(num3++); //30

21 System.out.println(num3); //31

22 System.out.println("=================");23

24 int num4 = 40;25 //和赋值操作混合

26 int result1 = --num4; //混合使用,前--,变量立刻马上-1变成39,然后将结果39交给result1变量

27 System.out.println(result1); //39

28 System.out.println(num4); //39

29 System.out.println("=================");30

31 int num5 = 50;32 //混合使用,后--,首先把本来的数字50交给result2,然后我自己再-1变成49

33 int result2 = num5--;34 System.out.println(result2); //50

35 System.out.println(num5); //49

36 System.out.println("=================");37

38 int x = 10;39 int y = 20;40 //11 + 20 = 31

41 int result3 = ++x + y--;42 System.out.println(result3); //31

43 System.out.println(x); //11

44 System.out.println(y); //1945

46 //30++;//错误写法!常量不可以使用++或者--

47 }48 }

java的num的数据类型_Java基础---Java数据类型相关推荐

  1. java 集合数据类型_Java基础知识(数据类型和集合)

    一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...

  2. java与c内存管理_Java基础--Java内存管理与垃圾回收

    Java自动内存管理 在讲解内存管理之前,首先需要了解对象和对象引用的区别 对象是类的一个实例,以人这个类为例,Person是我们定义的一个类 public class Person{} public ...

  3. java怎么访问静态属性_Java基础——java静态变量面试题

    Java面试中主要考察的就是应聘者的基础知识的掌握情况,静态变量是属于静态存储方式,是java中基础性的内容.下面就为大家准备了10道java静态变量面试题,希望可以帮助到有面试需要的朋友们. 1.s ...

  4. java中的比较运算符_Java基础---Java中的比较运算符(十三)

    Java中的比较运算符 比较运算符用于判断两个数据的大小,例如:大于.等于.不等于.比较的结果是一个布尔值( true 或 false ). Java 中常用的比较运算符如下表所示: 注意哦: 1. ...

  5. java性别数据类型_Java基础-数据类型及变量

    Java基本语法 1.标识符(zhi) 含义:名字 类名.对象名.方法名.变量名.常量名-- 一个合法的标识符的组成:数字.字母._和$ 注意事项: 不能重复 不能以数字开头 区分大小写 不能以关键字 ...

  6. java继承原理内存角度_Java基础知识巩固

    最近发现自己的Java基础知识还是有点薄弱,刚好有点空闲时间进行再补一补,然后进行整理一下,方便自己以后复习.其实个人认为Java基础还是很重要的,不管从事Java后端开发还是Android开发,Ja ...

  7. java 哈希表和向量_Java基础知识笔记(一:修饰词、向量、哈希表)

    一.Java语言的特点(养成经常查看Java (1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言.它去掉了C和C++最难正确应用的指针和最难理解的多重继承技术 ...

  8. java 基本的数据类型_Java的基本数据类型介绍

    1. Java的数据类型 Java的数据类型包括基本数据类型和引用数据类型.其中基本数据类型就是我们通常所说的4类8种数据类型,如下图所示,4类即整数类型.浮点数类型.字符型和布尔型,8种即byte. ...

  9. java中类型的相互转化_Java中的数据类型及相互转换方法

    本文主要讲解两个部分: 一.Java中的数据类型有哪些? 二.数字类型和字符串类型相互转换的方法? 一.Java中的数据类型有哪些: Java中的数据类型有:基本数据类型和引用数据类型: 基本数据类型 ...

最新文章

  1. QT Creator 版本大全及下载地址
  2. WCF4中舍去svc文件
  3. 小程序提交表单mysql_GitHub - kun19911227/minipro: 微信小程序提交带图片的表单
  4. 【深度学习】——物体检测细节处理(NMS、样本不均衡、遮挡物体)
  5. [Leedcode][JAVA][第914题][最大公约数]
  6. android switch 未定义,在switch语句中初始化时未定义的变量?
  7. js数字累加 · 递增动画 - 封装篇
  8. 【bzoj4868】[Shoi2017]期末考试 前缀和+暴力
  9. k8s核心技术-Pod(调度策略)_创建Pod流程_比如一个nginx的Pod创建后如何被分配到某个节点上---K8S_Google工作笔记0024
  10. Upload LABS Pass-6
  11. 计算机网络—SR选择重传协议
  12. caffe学习日记--lesson4:windows下caffe DEMO (mnist and cifar10)
  13. python中非法变量名_第10p,Python中变量名的命名规则与引用
  14. 3. 请列举java ee的主要新特性_JavaEE考试题
  15. 红外图像盲元检测matlab,一种红外图像盲元检测方法与流程
  16. Markdown工具之Typora--画思维导图
  17. 此加载项为计算机上的所有用户安装但只能,win7系统控件无法安装的解决方法...
  18. 对计算机课程的意见和建议对老师,对老师教学工作的一点建议和意见(精选5篇)...
  19. luci编程 openwrt_Luci流程分析(openwrt下)
  20. 【转】欧盟物联网研究战略路线图(3)

热门文章

  1. 真想做个网站赚点钱啊,
  2. 网络生活催生新式词汇
  3. 分类 迁移学习_迁移学习时间序列分类
  4. css遮罩层从下往上_CSS:图片自带3px下边距的bug修复
  5. pyecharts绘制地铁图_安利一个绘制地铁线路KMZ的利器 号称国产谷歌地球
  6. 删除悬镜linux安装教程,Linux安全运维之如何活用history命令
  7. b区计算机科学与技术调剂院校,B区调剂院校梳理!希望你用不到,但一定要收藏!...
  8. 现代ups电源及电路图集_2020山特UPS电源自动开机200KVA实力
  9. php 多城市,thinkphp3.2 一站多城市配置
  10. sticky-footer布局