海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java教程:数据类型

未分类
2020-08-03 17:49:11
1822677238@qq.com

手机扫码查看

2020java教程:数据类型

数据类型

java中的变量具有严格的数据类型区分。(强类型语言)
在java语言中吗,任何一个值,都有其对应的类型的变量
java中的数据类型

基本数据类型 – 整数、小数、布尔、字符
引用数据类型 – 字符串、数组、对象

基本数据类型(整数)

类型 字节 取值范围(二进制) 取值范围(十进制)
byte 1 -2^7 ~ 2^7-1 -128~127
short 2 -2^15~2^15-1 -32768-32767
int 4 -2^31~2^31-1 -2147483648~2147483647
long 8 -2^63~2^63-1 -9223372036854775808~9223372036854775807

 

注意:int 为整数的默认类型,如需为long类型赋值,需要在值的后面追加 L

 

基本数据类型(小数)

类型 字节 负数取值范围 正数取值范围
float 4 -3.4E+38~-1.4E-45 1.4E-45~3.4E+38
double 8 -1.7E+308 ~ -4.9E-324 4.9E-324 ~ 1.7E+308

 

浮点型数值采用科学计数法表示:

2E3 等价于 2 * 10 ^ 3 (结果: 2000.0 )
3E5 等价于 3 * 10 ^ 5 (结果: 300000.0 )
注意: double 为浮点数的默认类型,如需为 float 类型赋值,需要在值的后面追加 F

基本数据类型(布尔)

类型 字节 取值范围 描述
boolean 1 true/false 真 或 假

 

可直接赋值 true / false
也可赋值一个结果为 true / false的表达式
注意:java中的boolean不能参与算数运算
基本数据类型(字符)

类型 字节 取值范围(无符号数) 字符编码
char 2 0~65535 Unicode字符集(万国码)

 

Unicode字符集支持ASCII编码(美国标准信息交换码)
Unicode中每个字符都对应一个十进制整数,从而可以使用多种方式赋值

字符赋值: char c1=’A’;通过 ‘’ 描述为字符赋值
整数赋值: char c2=65;通过十进制数65在字符集中对应的字符赋值
进制赋值: char c3=’\u0041’;通过十六进制数 41 在字符集 中所对应的字符赋值

转义字符
\n 换行符
\t 缩进(制表位)
\\ 反斜线
\’ 单引号
\” 双引号

引用数据类型(字符串)
类型 取值范围 字符编码
Strng 任何 “” 之间的字面值 Unicode字符序列
用法: String str=”str”;

类型转换
1.自动类型转换

两种类型相互兼容
目标类型大于源类型
short s=123;
int i=s; //自动转换成功,编译通过

2.强制类型转换

两种类型相互兼容

目标类型小于 源类型
short s=123;
byte b=(byte)s;//强换:(目标类型)值

强制类型转换规则
整数长度足够,数据完整
int i=100;
byte b=(byte)i;//b=100

整数长度不够,数据截断
int i=10000;
byte b=(byte)i;//b=16(符号位变化,可能变为负数)

小数强转整数,数据截断
double d=2.5;
int i=(int)d;//i=2;(小数位舍掉)

字符整数互转,数据完整
char c=65;
int i=c;//i=65;

boolean的取值为 true/false,不可与其他类型转换

表达式
使用运算符连接的变量或字面量,并可以得到一个最终结果。

例如:

int a=5;
int b=7;
b-a;

自动类型提升
进行算数运算时:

两个操作数有一个为 double ,计算结果提升为 double 。
如果操作数中没有 double ,有一个为 float ,计算结果提升为 float 。
如果操作数中没有 float ,有一个为 long ,计算结果提升为 long 。
如果操作数中没有 long ,有一个为 int ,计算结果提升为 int 。
如果操作数中没有 int ,均为 short 或 byte ,计算结果仍旧提升为 int 。
特殊:任何类型与 String 相加(+)时,实为拼接,其结果自动提升为 String



运算符
1.算数运算符:两个操作符进行计算

操作符 描述
+ 相加 int x=5;int z=7;x+z;
相减 int x=5;int z=7;x-z;
* 相乘 int x=5;int z=7;x*z;
/ 除 int x=5;int z=7;x/z;
% 模,取余 int x=5;int z=7;x%z;
++ 递增,变量值+1 int x=5;x++;
递减,变量值-1 int x=5;x--;

 

2.赋值运算符:等号右边赋值给等号左边

操作符 描述
= 赋值 int x=5;
+= 相加后赋值 int x+=5;
-= 相减后赋值 int x-=5;
*= 相乘后赋值 int x*=5;
/= 除后赋值 int x/=5;
%= 取余后赋值 int x%=5;

 

3.关系运算符:两个操作数进行比较

操作符 描述
> 大于 int x=5;int z=7;x>z;
< 小于 int x=5;int z=7;x<z;
>= 大于等于 int x=5;int z=7;x>=z;
<= 小于等于 int x=5;int z=7;x<=z;
== 等于 int x=5;int z=7;x==z;
!= 不等于 int x=5;int z=7;x!=z;

 

4.逻辑运算符:两个boolean类型的操作数或表达式进行逻辑比较

操作符 描述 描述
&& 并且 两个操作数,同时为真,结果为真
II 或者 两个操作数,有一个为真,结果为真
! 非,取反 意为“不是”,真即是假,假即是真

 

5.三元运算符:将判断后的结果赋值给变量

操作符 语义 描述
? : 表达式 ? 结果1 : 结果2 当表达式结果为真,获得结果1
当表达式结果为假,获得结果2

 

a%b==0 ? true : false;

控制台输入

程序运行中,可在控制台(终端)手动录入数据,再让程序继续运行
导包语法:import 包名.类名;//将外部class文件功能引入到自身文件中。
使用顺序:

导入 java.util.Scanner,或者 java.util.*;

声明 Scanner 类型的变量。

使用 Scanner 类中对应的函数(区分类型)

.nextInt();//获得整数
.nextDouble();//获得小数
.next();//获得字符串
.next().charAt(0);//获得单个字符

注:如果输入了不匹配的数据,则会产生 java.util.InputMismatchException

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注