Java基础学习之关键字和变量数据类型的那些事

目录
  • 一. 关键字
  • 二. 变量
    • 2.1 变量的定义
    • 2.2 变量的分类
      • 1. 按照数据类型分类
  • 三. 字符编码
  • 补充:变量的声明和初始化
  • 总结

一. 关键字

Java中的关键字是由特定的单词组成,单词全为小写字母,每个都有特殊的含义,其实Java关键字也就那几十个,这个不需要背,以后都会知晓:

将以上关键字分类大概是这样的:

tips:

值得注意的是goto,以前的时候还在用,现在作为Java的保留字,已经不用了,但是还是存在的,保留下来而已。

Java中需要我们自定义的名字叫做标识符。比如方法名,类名等都是需要我们自己定义。唯一注意的就是标识符的命名规则:

一个合法的标识符只能由数字,字母,下划线,$组成,不能有其它符号,开头不能以数字开头,严格区分字母的大小写,并且不能有空格,不可使用关键字,但是可以包含关键字。

二. 变量

2.1 变量的定义

变量就是可以变化的量,是内存当中的一小块存储数据的区域空间,用来存储数据的。

这块区域空间会进行相同数据类型范围内的变化,此外变量也是程序中最小的存储单元。它包含数据类型,变量名称以及变量的值。

使用变量的几点注意事项:

  • Java中的变量必须先声明后使用。
  • 使用变量名去访问这块区域数据。
  • 变量的作用域作用在{}中,且只在其中有效。
  • 同一个作用域内,变量名不可重复定义。

什么是变量的作用域?

作用域呢,就是描述变量的有效作用范围,只要是在这个范围里面变量就是可以被访问的。
变量的作用域只需要记住一句话就行了:出了大括号{}就不起作用了。

2.2 变量的分类

1. 按照数据类型分类

程序中需要处理许多数据,每一个数据都有它所属的数据类型,,对于不同数据都有其对应的数据类型,就是在内存中分配了所对应大小的内存空间。

并且不同数据所开辟的内存大小也会不一样。按照数据类型分类,Java可以分为基本数据类型引用数据类型。

基本数据类型有八种,分三大类,数值型(包括整型与浮点型),字符型与布尔型,它们是:

byte,short,int,long,float,double,char,boolean

注意:字符串类型不是基本的数据类型,是属于引用数据类型比如“1”,字符类型使用单引号’a’。

整数类型byte,short,int,long使用

在Java变量的定义是这样的:数据类型 变量名 = 字面值,Java中的整型常量默认类型是int类型的,在声明long型时需要在常量后面加入L或者小写的l。

它们的区别就是所占的字节不同,也就是表示的范围也是不同的,范围如下:

变量声明,只要在范围内都是可以的:

/**
 * @author 爪哇斗罗(javaDouLuo)
 * @date 2022/7/2
 */
public class Demo02 {

	public static void main(String[] args) {
		// 变量声明,只要在范围内都是可以的
		byte b = 127;
		short s = 123;
		int i = 199;
		long l = 21L;
	}
}

浮点型float,double使用

浮点型就是带小数点的,但是两者的精度有限float属于单精度,所以精度难以满足需求,double属于双精度,精度要比float要高。

Java中声明浮点类型的数据时float数据类型后需要加入f

浮点数精度问题

在使用浮点数的时候可能会导致精度的丢失,比如这段代码:

public class DataType {
    public static void main(String[] args) {
        //浮点数精度丢失
        float f1 = 221342423242434f;
        float f2 = f1 + 1;
        System.out.println(f1 == f2);//true
    }

发现结果为true,所以在实际开发中不要使用浮点数进行运算操作,最标准的话是使用BigDecimal对象类型进行运算。

boolean类型

关于布尔类型,只有true和false两个值,通常是作为程序判断的标志。

什么是字节

了解字节之前看看什么是二进制,现在的计算机只会识别二进制指令,也就是0与1。

只认识01010101011101010....这种的,计算机识别0与1的时候是通过底层交流电的开闭来告诉辨别指令的。

所谓的1个字节占8个比特位(1byte=8bit)而一个比特位存放的就是0或者1。

1Byte = 8bit
1KB =1024Byte
1MB = 1024KB
1G = 1024MB
1T = 1024G

基本数据类型的转换

基本数据类型之间的转换分为显式转换隐式转换,布尔类型不可进行类型的转换。

  • 范围从低到高为隐式转换,反之需要显式转换。
  • 转换时应该注意精度问题。
  • byte short char需要进行显式转换。
 public static void main(String[] args) {
        int a = 128;
        byte i = (byte)a;
        System.out.println(i);
 }

这段代码输出结果是-128,因为在转换时要注意到内存溢出的问题,因为128已经超过byte所表示的范围。

三. 字符编码

因为计算机只认识二进制数据,但是我们日常中说的语言比如汉字,英语等。这些计算机并不会认识,它们之间也没有任何转换的关系。

为了让计算机能够识别现实中的文字,于是人为的将现实中的文字与二进制的关系所对应起来。

根据某种格式进行编码,这种对照转换关系就是字符编码。

比如最初只支持英文,所以最先出现的字符编码就是ASCII码。比如’a’对应的字符编码是97,对应的二进制就是【01100001】,'A’对应的是65,'0’对应的是48。

将字符’a’通过ASCII进行解码变为【01100001】,反之就是编码。当解码与编码使用的是不是统一的编码对照表就会出现乱码。

Java中的char基本数据类型,它占了两个字节,只能存储一个汉字或者一个数字,不管存的是什么其实底层本质就是数字。

也就是说char与数值之间可以进行常量之间的运算,就是表示字符的时候运算的是ASCII对应的值。

public class DataType {
    public static void main(String[] args) {
        char a = '1';
        char b = '国';
        char c = 'A' + 1;
        char d = 'a';
        System.out.println(a);//1
        System.out.println(b);// 国
        System.out.println((int)b);// 22269
        System.out.println((int)c);// 66
        System.out.println((int)d);//97
	}
}

补充:变量的声明和初始化

测试变量的定义

1. 变量的声明和赋值格式: 数据类型  变量名 = 变量值

2. 注意点:

① java是强类型的语言,声明的每个变量,一定要指名其变量类型。

② 变量一定需要在赋值之后才可以使用

③ 变量需要先声明,后赋值。

④ 变量都有其作用域,超出作用域范围后,就失效。

⑤ 在同一个作用域范围内,不可以定义同名的变量

class VariableTest {
    public static void main(String[] args) {
        //myNumber = 1;
        //变量的声明
        int myNumber;
        //变量的赋值
        myNumber = 1;

        //变量的声明和赋值同时进行
        int count = 2;

        System.out.println(myNumber + 1);
        //编译不通过
        //System.out.println(age);
        //编译不通过:在同一个作用域范围内,不可以定义同名的变量
        //int count = 3;
        count = 3;//重新赋值
        System.out.println(count);

        int age = 20;
        System.out.println(age);
    }

    public void method(){
        int age = 10;
        System.out.println(age);
    }
}

总结

到此这篇关于Java基础学习之关键字和变量数据类型的文章就介绍到这了,更多相关Java关键字和变量数据类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java的关键字与保留字小结

    JAVA常用关键字及其用法简要说明 Abstract: 抽象的 一个Java语言中的关键字,用在类的声明中来指明一个类是不能被实例化的,但是可以被其它类继承.一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现 break: 一个Java的关键字,用来改变程序执行流程,立刻从当前语句的下一句开始执行从.如果后面跟有一个标签,则从标签对应的地方开始执行 case: Java语言的关键字,用来定义一组分支选择,如果某个值和switch中给出的值一样,就会从该分支开始执行. catc

  • Java关键字、标识符、常量、变量语法详解

    一.关键字 关键字:被Java语言赋予特定含义的单词.组成关键字的字母全部小写.注:goto和const作为保留字存在,目前并不使用.main并不是关键字. 二.标识符 标识符:就是给类,接口,方法,变量等起名字时使用的字符序列. 组成规则:英文大小写字母.数字字符.$和_ 注意事项:不能以数字开头.不能是Java中的关键字.区分大小写 我们通常会给下面的这些东西起一个标识符: 包.类或者接口.方法和变量.常量 三.注释 单行注释的格式: //注释文字 多行注释的格式: /* 注释文字 */ 文

  • 全面解析Java支持的数据类型及Java的常量和变量类型

    基本数据类型 变量就是用来储存值而保留的内存位置.这就意味着当你创建一个变量时就会在内存中占用一定的空间. 基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中.因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字字母. Java 中有两种有效地数据类型: 原始数据类型 引用数据类型 原始数据类型 Java 支持 8 种原始数据类型.原始数据类型是由该语言预先定义的并用关键词命名的.下面让我们深入学习一下这 8 种数据类型. 字节型(byte) 字节型

  • Java基础学习之关键字和变量数据类型的那些事

    目录 一. 关键字 二. 变量 2.1 变量的定义 2.2 变量的分类 1. 按照数据类型分类 三. 字符编码 补充:变量的声明和初始化 总结 一. 关键字 Java中的关键字是由特定的单词组成,单词全为小写字母,每个都有特殊的含义,其实Java关键字也就那几十个,这个不需要背,以后都会知晓: 将以上关键字分类大概是这样的: tips: 值得注意的是goto,以前的时候还在用,现在作为Java的保留字,已经不用了,但是还是存在的,保留下来而已. Java中需要我们自定义的名字叫做标识符.比如方法

  • Java基础学习笔记之数组详解

    本文实例讲述了Java基础学习笔记之数组.分享给大家供大家参考,具体如下: 数组的定义于使用 1:数组的基本概念 一组相关变量的集合:在Java里面将数组定义为引用数据类型,所以数组的使用一定要牵扯到内存分配:想到了用new 关键字来处理. 2:数组的定义格式 区别: 动态初始化后数组中的每一个元素的内容都是其对应数据类型的默认值,随后可以通过下标进行数组内容的修改: 如果希望数组定义的时候就可以提供内容,则采用静态初始化的方式: a:数组的动态初始化(声明并初始化数组): 数据类型 数组名称

  • Java基础学习之接口详解

    目录 概述 定义格式 含有抽象方法 含有默认方法和静态方法 含有私有方法和私有静态方法 基本的实现 实现的概述 抽象方法的使用 默认方法的使用 静态方法的使用 私有方法的使用 接口的多实现 抽象方法 默认方法 静态方法 优先级的问题 接口的多继承 其他成员特点 概述 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量.构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8),私有方法 (JDK 9). 接

  • Java基础学习之实参和形参

    关于变量的赋值: 如果变量是基本数据类型,此时赋值的是变量所保存的数据值. 如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值. public class ValueTransferTest { public static void main(String[] args) { System.out.println("***********基本数据类型:****************"); int m = 10; int n = m; System.out.println(&

  • Java基础学习之字符串知识总结

    一.前言 字符串是多个字符连接起来组合成的字符序列.字符串分为可变的字符串和不可变的字符串两种. (1)不可变的字符串:当字符串对象创建完毕之后,该对象的内容(上述的字符序列)是不能改变的,一旦内容改变就会创建一个新的字符串对象.Java中的String类的对象就是不可变的. (2)可变的字符串:StringBuilder类和StringBuffer类的对象就是可变的:当对象创建完毕之后,该对象的内容发生改变时不会创建新的对象,也就是说对象的内容可以发生改变,当对象的内容发生改变时,对象保持不变

  • Java基础学习之运算符相关知识总结

    1.算术运算符 +表示加法运算符 -表示减法运算符 *表示乘法运算符 /表示除法运算符 %表示取模/取余运算符 package com.lagou.Day03; /** * 算术运算符 */ public class Demo01 { public static void main(String[] args) { //1.声明两个int类型的变量并初始化 //int ia = 6;ib = 2;//表示声明两个int类型的变量ia和ib,不推荐使用 int ia = 6; int ib = 2

  • Java基础学习之ArrayList类概述与常用方法

    目录 一.ArrayList类概述 二.ArrayList类常用方法 三.ArrayList存储字符串并遍历 四.ArrayList存储学生对象并遍历 五.ArrayList存储学生对象并遍历升级版 一.ArrayList类概述 什么是集合: 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点: 底层是数组实现的,长度可以变化 泛型的使用: 用于约束集合中存储元素的数据类型 二.ArrayList类常用方法 构造方法 方法名 说明 public ArrayL

  • Java基础之final关键字作用案例

    final关键字的作用 final关键字可以用来修饰引用.方法和类. 1.final关键字修饰类 当用final关键字修饰一个类后,这个类不能被继承.代码示例如下:  所以当定义一个类时,需要想好该类将来是否会被继承. 2.final关键字修饰方法 当用final关键字修饰一个方法后,这个方法不能被重写.代码示例如下:  注意:一个类的private方法会隐式的被指定为final方法. 3.final关键字修饰变量 final关键字修饰的变量初始化后不能再被修改.代码示例如下: 如果是引用类型的

  • Java基础之static关键字的使用讲解

    static关键字 在Java中,static是静态修饰关键字.用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static关键字的作用 方便在没有创建对象的情况下来进行调用方法或者变量.被static关键字修饰的方法或者变量不需要依赖对象来进行访问,只要类被加载了,就可以通过类名去访问. 1.static修饰成员方法 static修饰的方法称为静态方法

  • Java基础之super关键字浅析

    目录 一.定义 二.应用 2.1    应用范围 2.2    用法 2.2.1    在子类中调用父类的属性或方法 2.2.2    在子类中指代父类构造器 附:super实际使用示例 总结 本文重点介绍super关键字,在Java中的作用以及用法. 一.定义 它是一个指代变量,用于在子类中指代父类对象. 二.应用 2.1    应用范围 只能用于子类的构造函数和实例方法中,不能用于子类的类(静态)方法中.原因是super指代的是一个父类的对象,它需要在运行时被创建,而静态方法是类方法,它是类

随机推荐