大家好,小乐又来了,上一篇:乐字节Java变量与数据类型之二:Java常量与变量,

今天接着讲Java变量与数据类型之三:数据类型与转义字符

一、数据类型

1、定义

Java是一种强类型语言,针对每种数据都提供了对应的数据类型。

Java数据类型

2、分类

A:基本数据类型:4类8种

B:引用数据类型:类,接口,数组。

3、基本数据类型

①整型 占用字节数 比特/位 取值范围

byte(字节型) 1 8位 [-128 , 127]

short(短整型) 2 16位 [-32768,32767]

int (整型 ) 4 32位 [-21亿, 21亿]

long(长整型) 8 64位 很大很大

注意:整数数值默认为int类型,如果需要定义一个long类型的变量,当超出int的范围时,需要在该值后加 l或者L

②浮点型

float(单精度) 4

double(双精度) 8

float有效位是7位,double有效位是14位

注意:浮点数默认为double类型,如果需要定义一个float类型的变量,则数值后需要加 f或者F

③字符型(0~65535)

char(字符型) 2 一个字符能存储一个中文汉字

要求:用 ' '将字符括起来

④逻辑型(布尔型)

boolean(布尔类型) 1位

4、注意:

整数默认是int类型,浮点数默认是double。

长整数要加L或者l,单精度的浮点数要加F或者f。

二、数据类型转换

1、定义

boolean类型不参与转换

2、默认转换

A:从小到大

B:byte,short,char --> int long float double

C:byte,short,char之间是平级的,不相互转换,直接转成int类型参与运算。

3、强制转换

A:从大到小

B:可能会有精度的损失,一般不建议这样使用。

C:格式:

目标数据类型 变量名 = (目标数据类型) (被转换的数据);

4、思考题和面试题:

A:下面两种方式有区别吗?

float f1 = 12.345f;

float f2 = (float)12.345;向下类型转换,浮点数默认是double类型

B:下面的程序有问题吗,如果有,在哪里呢?

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;

short s1=3;

short s2=3;

short s3=s1+s2;

char c1=3;

char c2=4;

char c3=c1+c2;

byte、short、char在运算时,会自动向上转型为int型,所以返回的结果是int类型,而接收的类型均不是int,由于类型不匹配,所以报错

byte b4 = 3 + 4;

short s=3+4;

常量进行计算后的值,预编译时能够判断其是否超出范围

int a=1;

int b=2;

int c=a+b;

long l1=3l;

long l2=3l;

long l3=l1+l2;

float f1=2.3f;

float f2=2.3f;

float f3=f1+f2;

double d1=3.7;

double d2=3.9;

double d3=d1+d2;

均不会报错,java进行了优化。

C:下面的操作结果是什么呢?

byte b = (byte)130;

D:字符参与运算

是查找ASCII里面的值

'a' 97

'A' 65

'0' 48

空格 32

System.out.println('a');

System.out.println('a' + 1);

E:字符串参与运算

这里其实是字符串的连接

System.out.println("hello"+'a'+1);

System.out.println('a'+1+"hello");

System.out.println("5+5="+5+5);

System.out.println(5+5+"=5+5");

运行结果:helloa1

98hello

5+5=55

10=5+5

三、转义字符

\’:代表一个单引号

\\:代表一个反斜线字符”\”

\”:代表一个双引号字符

\b:退格 ,是将光标移动到当前字符的前一个字符,并不会删除当前字符。

注意:eclipse当中不识别,需要在DOS环境下运行

\n:换行,将当前位置移到下一行的开头

\r:回车,将当前位置移到本行的本行开头

注意:\n、\r在eclipse没有区别,需要在DOS环境下运行

\t:水平制表位:跳到下一个Tab位置

Java变量与数据类型之三:数据类型与转义字符的更多相关文章

  1. java变量、二进制、数据类型、原码、补码、反码

    1. 变量  1. 他 她 我 你 某人 佚名 旺财 X-man x = 1     您好! 它    (变量就是自然语言中的代词)  2. int age = 15;// 00000000 0000 ...

  2. java变量的声明和数据类型

    一.关键字 java程序语言的关键字只有53个.具体如下: 访问控制:private.protected.public 修饰类.方法.属性和变量:abstract.class.extends.fina ...

  3. Java 变量及基本数据类型

    1.Java变量 1.1 变量的概念 内存中开辟的一块存储空间,用于存放运算过程中需要用到的数据: 该区域有自己的名称(变量名)和类型(数据类型): 该区域的数据可以在同一类型范围内不断变化: 1) ...

  4. Java - 变量常量数据类型

    标识符命名规范 可以有字母数字下划线和美元符组成, hello abc 不能以数字开头 123abc 严格区分大小写 void Void 不能是java的关键字和保留字 class 标识符必须是见名知 ...

  5. Java中关于注释、标识符、变量、常量、数据类型、类型转换、转移字符以及数值型的表现形式的详解

    Java文件的注意事项 在同一个Java文件中,可以定义多个类,但是被public修饰的类只能够有一个,并且此类名要与文件名一致. 在同一个类中,可以定义多个方法,但是名字叫做main的方法只能有一个 ...

  6. JAVA 变量 数据类型 运算符 知识小结

    ---------------------------------------------------> JAVA 变量 数据类型 运算符 知识小结 <------------------ ...

  7. java 变量及数据类型、原码、反码、补码

    Java基础——变量及数据类型 变量的概念 内存中的一个存储区域 变量名+数据类型 可在同一类型范围内不断变化 为什么定义变量: 用于不断的存放同一类型的常量,并可以重复使用 使用变量注意: 变量的作 ...

  8. Java变量及数据类型

    变量及数据类型 变量 变量定义格式:数据类型 变量名 = 初始化值; 基本数据类型 整形数据 package com.ahabest.demo; //输出整形数据的最小值,默认值,最大值,二进制位数 ...

  9. JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

    Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中.用户能够通过指定数据类型和标识符来声明变量.其基本的语法为: DataType identifier; 或 Dat ...

随机推荐

  1. 自定义starter

    https://github.com/deadzq/spring-boot-starter-hello 父子项目 子项目引用父项目中的依赖和配置参数

  2. css添加了原始滚动条要隐藏滚动条的显示

    // 添加伪类 <style> ::-webkit-scrollbar {display:none} </style> <div style=" width:2 ...

  3. (转)Linux 磁盘IO性能测试

    Linux 如何测试 IO 性能(磁盘读写速度) 这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道.数据库属于IO密集型的应用,所以还是先评 ...

  4. 网页表格导入导出Excel

    用JS实现网页表格数据导入导出excel. 首先是JS文件中的代码 (function($){ function getRows(target){ var state = $(target).data ...

  5. Colab使用教程

    目录 有关链接 使用GPU 切换文件夹 参考 有关链接 Google Colabratory Google Drive 使用GPU 以下两种方式都可以: "修改"->&quo ...

  6. /bin/sh^M:bad interpreter: No such file or directory问题

    脚本命令正确无误,但是执行脚本的时候报错“/bin/sh^M:bad interpreter: No such file or directory” 原因:该脚本文件在windows系统中编辑过,引入 ...

  7. android: requestLayout(), invalidate(), postInvalidate() 方法区别

    一.invalidate和postInvalidate 这两个方法都是在重绘当前控件的时候调用的.invalidate在UI线程中调用,postInvalidate在非UI线程中调用.因为androi ...

  8. AndroidStudio导入开源项目提示报错:Gradle sync failed: SSL peer shut down incorrectly

    问题描述: AndroidStudio导入开源项目提示报错:Gradle sync failed: SSL peer shut down incorrectly (1 m 12 s 92 ms) 解决 ...

  9. android中SpannableString之富文本显示效果

    SpannableString其实和String一样,都是一种字符串类型,SpannableString可以直接作为TextView的显示文本,不同的是SpannableString可以通过使用其方法 ...

  10. 【集成模型】Boosting

    0 - 思想 Bagging算法思想是减少预测方差(variance),Boosting算法思想是为了减少预测偏差(bias). Boosting算法思想是将“弱学习算法”提升为“强学习算法”.一般来 ...