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);
	}
}
结果:
 
 
目录
相关文章
|
14天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
17 0
|
1月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
16 0
|
1月前
|
存储 算法 Java
Java基本数据类型
Java基本数据类型
22 1
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
94 3
|
1月前
|
存储 Java
Java基本数据类型
Java基本数据类型
7 0
|
1月前
|
存储 缓存 Java
JAVA基本数据类型的包装类
JAVA基本数据类型的包装类
15 0
|
1月前
|
存储 Java
JAVA基本数据类型
JAVA基本数据类型
13 0
|
1月前
|
存储 Java 索引
Java数据类型
Java数据类型
13 0
|
1月前
|
安全 Java
java-基本数据类型的类封装
java-基本数据类型的类封装
14 0
|
1月前
|
存储 Java
Java数据类型
Java数据类型
12 2