首页 > 编程语言 >JAVA对象、类和基本数据类型

JAVA对象、类和基本数据类型

时间:2024-03-22 10:31:35浏览次数:22  
标签:JAVA 变量 构造方法 对象 数据类型 Main

变量和标识符

数学名词:

变数或变量,是指没有固定的值,可以改变的数。变量以非数字的符号来表示,一般用拉丁字母。变量和常数是相反的。变量的用处在于能一般化描述指令的方式

计算机解释:

变量就是系统为程序分配的一块内存单元,用来储存各种类型的数据。根据所储存的数据类型不同,有各种不同类型的变量。变量名代表这块内存中的数据

变量分类:

按所属的数据类型划分:基本数据类型变量引用数据类型变量

案被声明的位置划分:

局部变量:方法或语句块内部定义的变量

成员变量:方法外部、类的内部定义的变量

JAVA对包、类、方法、参数和变量等要素命名时使用的字符序列称为标识符

JAVA标识符命名规则:

  1. 有字母(a-z或A-Z)、数字(1-9)、下划线(_)和美元符号($)组成
  2. 不能以数字开头
  3. 区分大小写
  4. 长度无限制
  5. 不能使JAVA中的关键字或者保留字

JAVA对象和类

JAVA作为一种面向对象语言。支持以下概念:

多态、继承、封装、抽象、类、对象、实例、方法、消息解析

对象:对象是类的实例,有状态和行为。

:类是一个模板,它描述一类对象的行为和状态。

JAVA中的对象

深入了解什么是对象,看周围真实的世界,又发现身边有很多的对象,比如:人、车、动物等等。这些对象都有自己的状态和行为,拿人来举例子,人的状态有:名字、肤色、国籍,行为有:运动、交流、吃。对比现实对象和软件对象,它们很相似。

软件对象也有状态和行为,状态就是属性,行为通过方法体现

软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。

JAVA中的类

类可以看成是创建JAVA对象的模板

一个类可以包含以下类型变量:

public class Main {
//    成员变量
   int age;
//   类变量
    public static String color;
//   方法
   void barking(){
//       局部变量
       String breed;
    }
    void hungry(){}
    void sleeping(){}
}
//一个类可以有多个方法,其中barking()、hungry()、sleeping()都是Main类的方法
  • 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
  • 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
  • 类变量:类变量也声明在类中,方法体之外,但必须声明为 static 类型。

构造方法

每个类都有构造方法,如果没有为类定义构造方法,JAVA编译器会默认为该类提供一个默认的构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

示例:

public class Main{
   public Main(){
   }

   public Main(String name){
      // 这个构造器仅有一个参数:name
   }
}

创建对象

对象事根据类创建的,在JAVA中,使用关键字new来创建(定义)一个新的对象

  • 声明:声明一个对象,包括对象名称和对象类型
  • 实例化:使用关键字 new 来创建对象
  • 初始化:使用 new 创建对象时,会调用构造方法初始化对象.

示例:

public class Main {
    public Main(String name) {
//        这个构造函数参数:name
        System.out.println(name);
    }
    public static void main(String[] args){
        Main main = new Main("Main");
    }
}

JAVA的基本数据类型

八种基本数据类型

JAVA的两大数据类型:内置数据类型、引用数据类型

内置数据类型:

字节(byte)型:

计算机文件大小的基本计算单位

1个字节(byte)= 8个位(Bit)

注:Bit是“位”或“比特”,是计算机运算的基础;二进制中的一位,是二进制最小信息单位,二进位可以用来表示一个简单的正,负的判断,有两种状态的开关

在内存计算过程中,字节少的数据运算速度更快;在硬盘储存中,字节少的数据类型也可充分存入更多的数据

  • byte数据类型是8位、有符号的,以二进制补码表示的整数
  • 最小值是-128
  • 最大值是127
  • 默认值是0
  • byte类型用在大型数组中节约空间

短整(short)型:

  • short数据类型是16位、有符号的以二进制补码表示的整数
  • 最小值是-32768
  • 最大值是32767
  • short数据类型也可以像byte那样节省空间。一个short变量是int型变量所占空间的二分之一
  • 默认值是0

整数(int)型:

  • int数据类型是32位’有符号的以二进制补码表示的整数
  • 最小值是-2147483648
  • 最大值是2147483647
  • 默认值是0
  • 一般的整数变量默认为int类型

长整(long)型:

  • long数据类型是64位、有符号的以二进制补码表示的整数
  • 最小值是-9223372036854775808
  • 最大值是9223372036854775807
  • 这种类型主要使用在需要比较大整数的系统上
  • 默认值是0L

单精度浮点(float)型:

  • float数据类型是单精度、32位、符合IEEE 754 标准的浮点数
  • float在储存大型浮点数组的时候可节省内存空间
  • 默认值是0.0f
  • 浮点数不能用来表示精确的值

双精度浮点(double)型:

  • double数据类型是双精度、64位符合 IEEE 754 标准的浮点数
  • 浮点数的默认类型是double类型
  • double同样不能用来表示精确的值
  • 默认值是0.0d

布尔(Boolean)型:

  • Boolean数据类型表示一位的信息
  • 只要两个取值:true,false
  • 这种类型只作为一种标志来记录true或false情况
  • 默认值是false

字符(char)型:

  • char类型是一个单一的16位Unicode字符
  • 最小值是‘\u0000’(为0)
  • 最大值是‘\uffff’(为65535)
  • char数据类型可以存储任何字符

引用数据类型

  • 引用类型变量由类的构造函数创建,可以使用它们访问所引用的对象。这些变量在声明时被指定为一个特定的类型,比如Employee、Pubby等。变量一旦声明后,类型就不能被改变了。
  • 对象、数组都是引用数据类型。
  • 所有引用类型的默认值都是null。
  • 一个引用变量可以用来引用与任何与之兼容的类型。

基本数据类型的声明

声明变量的格式

(1)声明变量    类型 变量名

(2)声明的同时给变量赋值    类型 变量名 = 值

(3)给已声明过的变量赋值    变量名 = 值

标签:JAVA,变量,构造方法,对象,数据类型,Main
From: https://blog.csdn.net/m0_65721434/article/details/136895658

相关文章

  • Java面试相关问题
     一.MySql篇1优化相关问题1.1.MySql中如何定位慢查询? 慢查询的概念:在MySQL中,慢查询是指执行时间超过一定阈值的SQL语句。这个阈值是由long_query_time参数设定的,它的默认值是10秒1。也就是说,如果一条SQL语句的执行时间超过了long_query_time所设定的时间,那么这条SQL......
  • JAVA基本数据类型转换、关键字、转义字符
    基本数据类型转换自动类型转换:容量小的类型自动转换成容量大的数据类型byte,short,它们在计算时会转换int类型如果把int转换成float值,或者long转换成double值,不需要强制转换,但可能丢失精度publicclassMain{publicstaticvoidmain(String[]args){byteb......
  • 深入解析Mybatis-Plus框架:简化Java持久层开发(十二)
    ......
  • Java使用数据库连接池
    一、原生JDBC操作数据库的步骤(1)加载数据库驱动。(2)获取数据库连接。(3)预编译SQL语句。(4)执行SQL。(5)获取结果集。(6)释放资源。示例代码如下:publicclassJDBCTest{    publicstaticvoidmain(String[]args)throwsClassNotFoundException,SQLException......
  • Day01 文学生也想学java之今天我也许学能学会Markdown
    Day01文学生也想学java之今天我也许学能学会Markdown1.标题一级标题:#+(空格)+标题内容二级标题:##+(空格)+标题内容......(以此类推)2.字体helloworld!:前后两个*helloworld!:前后一个*helloworld!:前后三个*helloworld!:前后两个~3.引用这是一句引用:引用=>+(空格)4.分割线---+......
  • 毕业设计课题:实验室课程管理系统,基于java+SSM+mysql
          一、前言介绍     如今互联网发展迅猛,大量的信息都是通过网络这一渠道来传播,所以利用网络渠道来传播知识是非常有前景的。线上管理系统的主要目的是对实验室课程信息进行更有效的管理,光靠现有的管理方式是远远不够的,因此开发实验室课程管理系统是有必要的......
  • 毕业设计课题:少儿编程管理系统,基于java+SSM+mysql
          一、前言介绍     21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企事业单位都有自己的系统,由从今传统的管理模式向互联网发展,如今开发自己的系统是理所当然的。那么开发少儿编程管理系统意义和用处有哪些呢? ......
  • Jackson进行JSON序列化/反序列化添加Java 8的日期和时间库支持
     添加依赖包<!--Jackson进行JSON序列化/反序列化添加Java8的日期和时间库支持--> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-jsr310</artifactId> <version>2.13.0</version> ......
  • 对象Constructor构造函数解析详解
    构造函数解析构造函数解析示例,code如下。定义实体类:packagecom.gientech.constructor;publicclassPerson{privateStringname;privateintid;privateintage;privateStringsex;publicPerson(){}publicPerson(String......
  • 忽略空属性复制对象
    importorg.apache.commons.lang3.StringUtils;importorg.springframework.beans.BeanUtils;importorg.springframework.beans.BeanWrapper;importorg.springframework.beans.BeanWrapperImpl;importjava.util.HashSet;importjava.util.Set;publicclassBeanUt......