关于java:一文带你秒懂变量和数据类型这应该是全网讲的最详细的了

27次阅读

共计 4584 个字符,预计需要花费 12 分钟才能阅读完成。

变量的基本概念

  • 当须要在程序中记录单个数据内容时,则声明一个变量即可,而申明变量的实质就是在内存中申请一个存储单元,因为该存储单元中的数据内容能够产生扭转,因而得名“变量”。
  • 因为寄存的数据内容大小不一样,导致所需存储单元的大小不一样,在 Java 语言中应用数据类型加以形容,为了便于下次访问还须要给该变量指定一个名字,用于记录该变量对应的存储单元。

    集体整顿了一些材料,有须要的敌人能够间接点击支付。

Java 基础知识大全

22 本 Java 架构师外围书籍

从 0 到 1Java 学习路线和材料

1000+ 道 2021 年最新面试题

变量的申明和应用

数据类型 变量名 = 初始值;
其中 = 初始值能够省略,然而;不能省略

package com.lagou.Day02;

/**
 * 编程实现变量的申明和应用
 */
public class VarTest {public static void main(String[] args) {
        // 1. 申明一个变量并初始化 数据类型 变量名 = 初始值
        int age = 18;
        // 2. 打印变量的数值 + 字符串连接符 用于将两边的内存拼接 / 链接起来后果还是字符串
        System.out.println("age -" + age);//age -18
    }
}

变量应用的注意事项

Java 是强类型语言,变量在应用前必须申明来指明其数据类型。
变量在应用之前必须初始化
变量不能反复申明

package com.lagou.Day02;

/**
 * 编程实现变量的申明和应用
 */
public class VarTest {public static void main(String[] args) {
        // 1. 申明一个变量并初始化 数据类型 变量名 = 初始值
        int age = 18;
        // 2. 打印变量的数值 + 字符串连接符 用于将两边的内存拼接 / 链接起来后果还是字符串
        System.out.println("age -" + age);//age -18

        System.out.println("------------------------");
        // 应用变量之前须要申明
        //System.out.println("name -" + name); 谬误:找不到符号

        // 应用变量之前须要初始化
        //String name;
        //System.out.println("name -" + name); 谬误:可能未初始化

        String name = "科比";
        System.out.println("name -" + name);//name - 科比
    
        // 变量不能反复申明
        //int age = 19;
    }
}

标识符的命名规定

  • 由数字、字母、下划线以及 $ 等组成,其中数字不能结尾
  • 不能应用 Java 语言的关键字,所谓关键字就是 Java 语言用于示意非凡含意的单词
  • 辨别大小写,长度没有限度但不宜过长。
  • 尽量做到见名知意,反对中文但不举荐应用。
  • 标识符能够给类 / 变量 / 属性 / 办法 / 包起名字。

    变量输入输出的案例实现

    package com.lagou.Day02;
    
    import java.util.Scanner;
    
    /**
     * 编程实现变量的输入输出
     */
    // 导入 Java 目录中 Util 目录的 Scanner 类
    public class VarIOTest {public static void main(String[] args) {
          //1. 申明两个变量用于记录姓名和年龄信息
          String name;
          int age;
    
          //2. 提醒用户从键盘输入姓名和年龄信息并放入到变量中
          System.out.println("请输入您的姓名和年龄信息:");
          // 创立一个送啊米奇读取一个字符串数据放入变量 name 中
          Scanner sc = new Scanner(System.in);
          // 通过扫描器读取一个字符串数据放入变量 name 中
          name = sc.next();
          // 通过扫描器读取一个整数数据放入变量 age 中
          age = sc.nextInt();
    
          //3. 打印变量的数值
          System.out.println("name =" + name);
          System.out.println("age =" + age);
    
          /**
           * 输入
           * 请输入您的姓名和年龄信息:
           * kobe
           * 20
           * name = kobe
           * age = 20
           */
      }
    }
    

    数据类型的分类

    在 Java 语言中数据类型次要分为两大类:

(1)根本数据类型(记住)

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

(2)援用数据类型(理解)

数组、类、接口、枚举、标注

罕用的进制

在日常生活中采纳十进制进行数据的形容,逢十进一,十进制权重是:100、101、10^2、…

在计算机的底层采纳 0 和 1 组成的二进制序列进行数据的形容,逢二进一,二进制的权重是 20、21、2^2、…
二进制中的最高位 (最右边) 用于代表符号位,若该位是 0 则示意非正数,若该位是 1 则示意正数。
八进制和十六进制其实都是二进制的简写

正十进制转换为二进制的形式一

正十进制转换为二进制的形式
a. 除 2 取余法,应用十进制整数一直地除以 2 取出余数,直到商为 0 时将余数逆序排序。
0b/0B 能够作为二进制的前缀
45- 二进制 101101:是 64 位的二进制。

正十进制转换为二进制的形式二

拆分法,将十进制整数拆分为若干个二进制权重的和,有该权重上面写 1,否则写 0

正二进制转换成十进制的形式

加权法,应用二进制中的每个数字乘以以后位的权重再累加起来。

负十进制转换为二进制的形式

先将十进制的绝对值转换为二进制,而后进行按位取反再加 1.
正数的须要补码:按位取反,再加 1

负二进制转换为十进制的形式

先减 1 再按位取反,合并为十进制整数后增加负号

单个字符所能示意的整数范畴

在计算机中单个字节示意八位二进制位,其中最高 (最右边) 代表符号位,应用 0 代表非正数,应用 1 代表正数,具体示意的整数范畴如下:

整数类型的概念

Java 语言中形容整数数据的类型有:byte、short、int、long,举荐 int 类型。

整数类型的编程应用(上)

package com.lagou.Day02;

/**
 * 编程实现整数类型的申明和应用
 */
public class IntTest {public static void main(String[] args) {

        //1. 申明一个 byte 类型的变量并初始化
        byte b1 = 25;
        System.out.println(b1);//25

        //byte b2 = 250;// 超过 byte 的范畴
        //250 这样间接写进去的整数数据叫做间接量 / 常量 / 字面值 默认 int 类型

        short s1 = 250;
        System.out.println(s1);//250 short 3 万多

        int i1 = 250250;
        System.out.println(i1);//21 亿多
    }
}

整数类型的编程应用(下)

在 Java 程序中间接写出的整数数据叫做间接量 / 字面量 / 常量,默认为 int 类型。若心愿表白更大的间接量,则在间接量的前面加上 l 或者 L,举荐 L。

//int i1 = 2502505006;// 谬误:整数太大,默认为 int 类型,这个数据本身曾经出错,无奈示意
        //int i1 = 2502505006L;// 谬误:不能兼容的类型:从 long 转换到 int 可能会有损失

        // 申明一个 long 类型到变量并初始化
        long g1 = 2502505006L;
        System.out.println(g1);

若形容比 long 类型还打到数据,则应用 java.math.BigIntger 类型

整数类型的口试考点

package com.lagou.Day02;

/**
 * 面试题
 */
public class IntTest01 {public static void main(String[] args) {
        int i = 25;
        //byte b = i; 谬误:不兼容的类型:从 int 转换到 byte 可能会损失精度
    }
}

浮点类型的概念

  • Java 语言中用于形容小数数据的类型:float 和 double,举荐 double 类型
  • 其中 float 类型在内存空间占 4 个字节,叫做单精度浮点数,能够示意 7 位有效数字,范畴:-3.403E38~3.403E38
  • 其中 double 类型在内存空间占 8 个字节,叫做双精度浮点数,能够示意 15 位有效数字,范畴:-1.798E308~1.798E308.

    浮点类型的编程应用

    package com.lagou.Day02;
    
    public class DoubleTest {public static void main(String[] args) {
         //1. 申明一个 float 类型的变量并初始化
         // 谬误:不兼容的类型:从 double 转换到 float 可能会有损失;默认是 double
         //float f1 = 3.1415926;
     }
    }
    

    布尔类型的概念和编程应用

    Java 语言中用于形容虚实信息类型:boolean,数值只有 true 和 false
    布尔类型在内存空间中所占大小没有明确的规定,能够认定为是 1 个字节。
    package com.lagou.Day02;

    package com.lagou.Day02;
    
    /**
     * 编程实现布尔类型的应用
     */
    public class BooleanTest {public static void main(String[] args) {
         //1. 申明一个 boolean 类型的变量并初始化
         boolean b1 = true;
         //2. 打印变量的数值
         System.out.println(b1);
     }
    }
    

    字符类型的概念

    Java 语言中用于形容单个字符的数据类型:char 类型。如:‘a’、’ 中’等。
    其中 char 类型在内存空间中占 2 个字节并且没有符号位,示意的范畴是:0-65535,因为实现生存中很少有数据可能被单个字符形容,因而当前的开发中更多的应用由多个字符串组成的字符串,应用 String 类型加以形容,如:‘hello’、’ 科比’等
    计算机的底层只辨认 0 和 1 组成的二进制序列,对于字符’a’这样的团来说不满足该规定,因而该数据无奈间接在计算机中存储,但现实生活中存在这样的图案数据须要计算机存储,为了使得该数据可能存储起来就能够给该数据指定一个编号,而后将编号存储起来即可,该编号就叫做 ASCII。

    字符类型和编号的应用

    package com.lagou.Day02;
    
    public class CharTest {public static void main(String[] args) {
         char c1 = 'a';
         System.out.println(c1);//a
         System.out.println((int)c1);//97
     }
    }
    

    记住:‘0’=48;‘A’=65

    Unicode 字符集的概念和应用

    Java 字符类型采纳 Unicode 字符集编码,Unicode 是世界通用的定长字符集,所有的字符都是 16 位。

    转义字符的概念和应用

    特殊字符的应用

    主动类型转换的概念和应用

    Java 语言中根本数据类型之间的转换形式:主动类型转换和强制类型转换。
    其中主动类型转换次要指的是从小类型到大类型之间的转换

强制类型转换的概念和应用

大类型到小类型
指标类型 变量名 = (指标类型)源类型变量名;

package com.lagou.Day02;

public class Demo04 {public static void main(String[] args) {
        byte b1 = 10;
        short s1 = 20;

        b1 = (byte) s1;
        System.out.println(b1);//20
    }
}

最初

感激看到这里,感觉对你有帮忙记得点个赞!

正文完
 0