IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java 基本数据类型&变量类型 -> 正文阅读

[Java知识库]Java 基本数据类型&变量类型

一、Java 的两大数据类型:

内置数据类型
引用数据类型

1.1、内置数据类型

Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。

数据类型占位最小值最大值默认值例子
byte8位-128(-2^7)127(2^7-1)0byte a = 100
short16位-32768(-2^15)32767(2^15 - 1)0short = 100
int32位-2,147,483,648(-2^31)2,147,483,647(2^31 - 1)0int b = 100
long64位-9,223,372,036,854,775,808(-2^63)9,223,372,036,854,775,807(2^63 -1)0Llong a = 100L
float32位0.0ffloat f1 = 234.5f
double64 位0.0ddouble d5 = 12.9867; double d1 = 7D ;double d4 = 8.D;
boolean1位falseboolean one = true
char16 位\u0000(十进制等效值为 0)\uffff(即为 65535)char 数据类型可以储存任何字符char letter = ‘A’
String (or any object)null

1.2、引用类型

在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,
对象、数组都是引用数据类型。
所有引用类型的默认值都是null。

1.3、Java 常量

在 Java 中使用 final 关键字来修饰常量
例子:final double PI = 3.1415927;

二、类型转换

2.1、自动类型转换

低 -----------------------------------------------------> 高
byte,short,char—> int —> long—> float —> double

char c1='a';//定义一个char类型
int i1 = c1;//char自动类型转换为int

数据类型转换必须满足如下规则:

  1. 不能对boolean类型进行类型转换。

  2. 不能把对象类型转换成不相关类的对象。

  3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  4. 转换过程中可能导致溢出或损失精度,例如:

int i =128;   
byte b = (byte)i;

2.2、强制类型转换

int i1 = 123;
byte b = (byte)i1;//强制类型转换为byte

2.3、隐含强制类型转换

1、 整数的默认类型是 int。
2、小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。

三、符号 字符含义

\n	换行 (0x0a)
\r	回车 (0x0d)
\f	换页符(0x0c)
\b	退格 (0x08)
\0	空字符 (0x0)
\s	空格 (0x20)
\t	制表符
\"	双引号
\'	单引号
\\	反斜杠
\ddd	八进制字符 (ddd)
\uxxxx	16进制Unicode字符 (xxxx)

四、变量类型

java语言支持的变量类型有:
类变量:独立于方法之外的变量,用 static 修饰。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。

public class Variable{
    static int allClicks=0;    // 类变量
 
    String str="hello world";  // 实例变量
 
    public void method(){
 
        int i =0;  // 局部变量
 
    }
}

一下主要记录实例变量和类变量;对于局部变量不做介绍。因为局部变量就是平常经常定义使用的变量。

4.1、实例变量

1、实例变量声明在一个类中,但在方法、构造方法和语句块之外;
2、当一个对象被实例化之后,每个实例变量的值就跟着确定;
3、实例变量在对象创建的时候创建,在对象被销毁的时候销毁;
4、实例变量的值应该至少被一个方法、构造方法或者语句块引用,使得外部能够通过这些方式获取实例变量信息;
5、实例变量可以声明在使用前或者使用后;
6、访问修饰符可以修饰实例变量;
7、实例变量对于类中的方法、构造方法或者语句块是可见的。一般情况下应该把实例变量设为私有。通过使用访问修饰符可以使实例变量对子类可见;
8、实例变量具有默认值。数值型变量的默认值是0,布尔型变量的默认值是false,引用类型变量的默认值是null。变量的值可以在声明时指定,也可以在构造方法中指定;
9、实例变量可以直接通过变量名访问。但在静态方法以及其他类中,就应该使用完全限定名ObejectReference.VariableName。

import java.io.*;
public class Employee{
   // 这个实例变量对子类可见
   public String name;
   // 私有变量,仅在该类可见
   private double salary;
   //在构造器中对name赋值
   public Employee (String empName){
      name = empName;
   }
   //设定salary的值
   public void setSalary(double empSal){
      salary = empSal;
   }  
   // 打印信息
   public void printEmp(){
      System.out.println("名字 : " + name );
      System.out.println("薪水 : " + salary);
   }
 
   public static void main(String[] args){
      Employee empOne = new Employee("RUNOOB");
      empOne.setSalary(1000.0);
      empOne.printEmp();
      /*
		$ javac Employee.java 
		$ java Employee
		名字 : RUNOOB
		薪水 : 1000.0
	*/
   }
}

4.2、类变量

1、类变量也称为静态变量,在类中以 static 关键字声明,但必须在方法之外。
2、无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
3、静态变量除了被声明为常量外很少使用,静态变量是指声明为 public/private,final 和 static 类型的变量。静态变量初始化后不可改变。
4、静态变量储存在静态存储区。经常被声明为常量,很少单独使用 static 声明变量。
5、静态变量在第一次被访问时创建,在程序结束时销毁。
6、与实例变量具有相似的可见性。但为了对类的使用者可见,大多数静态变量声明为 public 类型。
7、默认值和实例变量相似。数值型变量默认值是 0,布尔型默认值是 false,引用类型默认值是 null。变量的值可以在声明的时候指定,也可以在构造方法中指定。此外,静态变量还可以在静态语句块中初始化。
8、静态变量可以通过:ClassName.VariableName的方式访问。
9、类变量被声明为 public static final 类型时,类变量名称一般建议使用大写字母。如果静态变量不是 public 和 final 类型,其命名方式与实例变量以及局部变量的命名方式一致。

import java.io.*;
 
public class Employee{
    //salary是静态的私有变量
    private static double salary;
    // DEPARTMENT是一个常量
    public static final String DEPARTMENT = "开发人员";
    public static void main(String[] args){
    salary = 10000;
        System.out.println(DEPARTMENT+"平均工资:"+salary);//开发人员平均工资:10000.0
    }
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:34:18  更:2021-08-18 12:35:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 5:06:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码