java的基本数据类型

简介: java的基本数据类型常量和变量   Java常量:用文本串表示,可以区分为不同类型   整数常量123 实数常量2.12  字符常量‘c’   逻辑常量true false   字符串常量  “hello” 常量:在程序运行期间其值保持不变的变量。
java的基本数据类型

常量和变量
  Java常量:用文本串表示,可以区分为不同类型
  整数常量123 实数常量2.12

  字符常量‘c’
  逻辑常量true false
  字符串常量  “hello
 
常量:在程序运行期间其值保持不变的变量。
  final定义常量——用符号表示常量
  final double PI = 3.14159; // PI是实数类型常量

变量

  定义:值在运行时可以改变的量
  每个变量属于特定的数据类型,使用前要先声明,然后赋值,然后才能使用
    变量的定义和初始化         int x = 9;
    变量有一个名字,在内存中占存储单元,存储单元中存放变量的值(区分变量的名和变量的值)
 
数据类型
(1)整数类型
  特点:无小数部分;允许负数   byte、short、int、long(L)
    Java:整数的范围与Java代码所在机器无关
    Java中整数类型的三种表示形式:
      十进制整数:如,2,-6;
      八进制整数:以0开头,如02;
      十六进制整数:以0x开头,如Ox5317
  注意:这里没有二进制!!!

(2)字符类型
   用‘’表示字符常量
    char c1 = ‘a’;   char c2 = ‘人’
  char :16位;使用Unicode编码
  可用十六进制编码形式表示
    5317 4EAC 6B22 8FCE 4F60 (16进制)
    使用‘\’将其后的字符转换成其他含义
      ‘\n’表示回车;
      ‘\u5317’代表编码为5317 (16进制)的字符:‘北’
System.out.print('\u5317');
System.out.print('\u4eaC');
System.out.print('\u6B22');
System.out.print('\u8FCE');
System.out.print('\u4F60');
//输出:北京欢迎你
  区分字符和字符串

(3)浮点类型
  Java中的实数类型 float(4字节)、double(8字节,双精度)
  两种表示方法:
    十进制形式  如3.14,.314   314.0
    科学计数法,如:5e-3F
  默认为double型,若声明一个float型,需要在数字后面加上f或F
    double a = 12.3;       float f = 12.3f;
float f = 12.3;
System.out.println(f);//错误!提示精度缺失!
//java中12.3默认我double类型。将其赋值给float类型的变量f,可能造成ing度缺失,所以报错!!!

double pi = 3.1415926;
int p = (int)pi;
System.out.println(p);//p=3
  注意:计算机中无法精确表示实数

(4)布尔类型 boolean
    用于判断逻辑,包含:false和true
    注意:只能取true和false,不能以0或非0整数来代替
 

(5)基本类型数据之间的转换
<1>类型的兼容转换
float f = 1.0f;
double d = f;
<2>强制类型转换: (类型指示符)表达式
            double pi = 3.1415926;
            int p = (int)pi;//p=3
转换规则:
基本数据类型转换规则小结
  容量小的转换成容量大的(隐式的自动转换)
    byte short char->int->long->float->double
    byte short char互相之间不转换,用时全部转换成int类型
  容量大的类型转换成容量小的类型时,要加强制转换符,但可能降低精度或造成溢出
  多种类型混合运算时,系统自动将所有类型转换成容量最大的类型,再进行计算
  对于一个整数,编译器当作int型(默认)
  对于一个小数,编译器当作double型(默认)
  boolean类型和其他类型不能互相转换
 
数据类型大小、范围、默认值如下:
数据类型            大小(位)       范围                                                 默认值 

byte(字节) 8 -128 - 127 0
shot(短整型) 16 -32768 - 32768 0
int(整型) 32 -2147483648-2147483648 0
long(长整型) 64 -9233372036854477808-9233372036854477808 0
float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f
double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d
char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’ 使用的Unicode值  表示的,格式是‘\uXXXX’。XXXX表示一个十六进制的整数。如:‘A’、‘9’、‘0’等。
boolean(布尔型) 1 true/false false

实例:
int i1 = 123; 
int i2 = 456;
double d1 = (i1+i2)*1.2;//系统将转换为double型运算

float f1 = (float)((i1+i2)*1.2);//需要加强制转换符

byte b1 = 1; //整形常量赋值且未超出范围,可以直接赋值

byte b2 = 2;//整形常量赋值且未超出范围,可以直接赋值

byte b3 = b1+b2;//错误!!!!系统将转换为int型运算,需要强制转换符改为(byte) (b1+b2);

System.out.println(b3);
double d2 = 1e200;
float f2 = (float)d2;//会产生溢出

System.out.println(f2);
 
 float f3 = 1.23;//错误!!!要换成1.23f
 long l1 = 123;
 long l2 = 30000000000;//错误!!!数制超出了int的范围,必须加L
 float f = l1+l2+f3;//系统将转换为float型计算

 long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)

  

原码+补码+反码
原码:本身的值。
原码符号位不变->其他位取反,得到反码->再加1 得到补码。

补码减1,得到反码->反码符号位不变,其他位按位取反 ->得到原码。


需要注意的事项:
double d1=1/3;//这里d1的值是0
1/3是两个整数相除,首先做的是整数运算,结果是0。直接赋给d1,所以d1=0;
需要做如下修改就可以:
public class Test
{
	public static void main(String[] args)
	{
		double d1=1/3;
		System.out.println(d1);
		
		double d2=1/3d;
		System.out.println(d2);
	}
}
结果:
 
 
目录
相关文章
|
3月前
|
Java
当Java数据类型遇上“爱情”,会擦出怎样的火花?
当Java数据类型遇上“爱情”,会擦出怎样的火花?
55 1
|
2月前
|
Java
java基础(8)数据类型的分类
Java数据类型分为基本数据类型(8种)和引用数据类型。基本类型包括byte, short, int, long, float, double, boolean, char。每种类型有固定占用空间大小,如int占用4字节。字符编码如ASCII和Unicode用于将文字转换为计算机可识别的二进制形式。
74 2
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
54 1
|
3月前
|
存储 Java
Java数据类型:你究竟有多少面孔?
Java数据类型:你究竟有多少面孔?
38 1
|
3月前
|
存储 算法 Java
我与Java数据类型的那场“风花雪月”
我与Java数据类型的那场“风花雪月”
46 0
|
3月前
|
存储 自然语言处理 Java
Java数据类型:为何它如此“撩人”?
Java数据类型:为何它如此“撩人”?
44 0
|
3月前
|
存储 算法 Java
从菜鸟到大神,Java数据类型是如何改变我的人生的?
从菜鸟到大神,Java数据类型是如何改变我的人生的?
32 0
|
16天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
41 4
|
15天前
|
存储 消息中间件 NoSQL
使用Java操作Redis数据类型的详解指南
通过使用Jedis库,可以在Java中方便地操作Redis的各种数据类型。本文详细介绍了字符串、哈希、列表、集合和有序集合的基本操作及其对应的Java实现。这些示例展示了如何使用Java与Redis进行交互,为开发高效的Redis客户端应用程序提供了基础。希望本文的指南能帮助您更好地理解和使用Redis,提升应用程序的性能和可靠性。
31 1
|
30天前
|
存储 Java 关系型数据库
[Java]“不同族”基本数据类型间只能“强转”吗?
本文探讨了不同位二进制表示范围的计算方法,重点分析了Java中int和char类型之间的转换规则,以及float与int类型之间的转换特性。通过具体示例说明了显式和隐式转换的条件和限制。
35 0
[Java]“不同族”基本数据类型间只能“强转”吗?
下一篇
无影云桌面