首页 > 编程语言 >java中的常量和变量

java中的常量和变量

时间:2024-10-19 09:09:44浏览次数:6  
标签:10 java 进制 System 原码 println out 变量 常量

一、java中的常量

1.定义:在java程序运行过程中其值不能发生改变的量

2.分类:

1、字面值常量
            整数常量 表示所有的整数,包括负数  10  -8
            小数常量 表示所有的小数 1.23  -3.14
            布尔常量 true  false
            空常量 null
            字符常量 表示由单引号括起来的单个字符 'a' '刘'

3.常见的单位转换和进制转换

常见的单位转换:
        1byte = 8bit
        1kb = 1024byte
        1mb = 1024kb
        1gb = 1024mb
        1tb = 1024gb
        1pb = 1024tb

   整数10的二进制表现形式:00001010

   java针对整数常量,提供4种表现形式:
        二进制:由0,1构成,逢2进1,由0b开头
        八进制:由0,1,2,3,4,5,6,7构成,逢8进1,由0开头
        十进制:由0,1,2,3,4,5,6,7,8,9构成,逢10进1,默认就是10进制
        十六进制:由0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f构成,逢16进1,由0x开头

   进制之间的转换:
        1、其它进制转10进制 规律:每一位上的系数乘上自身进制的幂次方之和
            12345【10进制】 -> 【10进制】?12345
            12345 = 10000 + 2000 + 300 +40 + 5
                  = 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
                  = 10000 + 2000 + 300 + 40 + 5
                  = 12345

        2、10进制转其它进制 规律:除基取余,直到商为0,余数翻转
           需求:把52分别表示成二进制,八进制,十六进制

        3、10进制与2进制之间的快速转换:8421码

           1    1   1   1   1   1   1   1
          128  64   32  16  8   4   2   1


          10110011 -> 128 + 32 + 16 + 2 + 1

        4、其它进制到其它进制 举例:2进制转8进制
            方案1:先转10进制,再转目标进制
                10011-> 16 + 2 + 1 = 19
                19/8= 2...3
                2/8 = 0...2
            方案2:先转2进制,若转8进制,每3位一组合,转10进制拼接;若转16进制,每4位一组合,转10进制拼接
                举例:10011【2进制】 -> 【8进制】023
                        010-> 2   011-> 3
                     10011【2进制】 -> 【16进制】0x13
                        0001-> 1   0011-> 3

        举例:-7 + 3 = -4
        java针对2进制而言,负数和正数的表现形式不一样的,并且在计算机底层计算过程中,数据都是采用补码进行计算的
        要想知道一个数值的补码,就必须先知道该数值的反码,要想知道一个数值的反码,就必须先知道该数值的原码。
            原码:
                正数的原码与二进制值保持一致,最高位为0;
                负数的原码数值位与正数一致,最高位是1。
                举例:
                               符号位   数值位
                        -7的原码:1     0000111
                        3的原码: 0     0000011
            反码:
                正数的反码与原码保持一致;
                负数的反码,再原码的基础上,符号位不变,数值位按位取反
                举例:
                               符号位   数值位
                        -7的反码:1     1111000
                        3的反码: 0     0000011
            补码:
                正数的补码与原码保持一致;
                负数的补码,再反码的基础之上,末位+1
                举例:
                               符号位   数值位
                        -7的补码:1     1111001
                        3的补码: 0     0000011

                    11111001
                +
                    00000011
                  --------------
            补码:   11111100
            最终计算机是最终原码转10进制之后的结果
                    符号位    数值位
            补码:    1      1111100
            反码:    1      1111011
            原码:    1      0000100
            -------------------------
                     -4

四、使用和测试

public class ConstantDemo1 {
    public static void main(String[] args) {
//        System.out.println(10);
//        System.out.println(3.14);
//        System.out.println(true);
//        System.out.println('a'); // 字符
//        System.out.println("qwe"); // 字符串

        //需求:输出不同进制下的100
        //java控制台中默认输出的整数结果都是转10进制之后的结果
        System.out.println(0b100); // 1*2^2 = 4
        System.out.println(0100); // 1*8^2 = 64
        System.out.println(100); // 100
        System.out.println(0x100); // 1*16^2 = 256
    }
}

二、变量

1.定义:指的是在Java运行过程中,其值可以发生改变的量

2.格式:数据类型 变量名 = 初始化值;

3.变量的基本数据类型

数据类型:
        基本数据类型:
            整数类型:    所占的字节数       可表示的范围
                byte        1               -2^7 ~ 2^7-1
                short       2               -2^15 ~ 2^15-1
                int         4               -2^32 ~ 2^32-1
                long        8               -2^63 ~ 2^63-1
            小数类型:
                float       4
                double      8
            布尔类型:
                boolean     1
            字符类型:
                char        根据具体的编码来定,不同的编码下,java中一个字符所占的字节数是不同的
        引用数据类型:【后面会说】

4.使用规则

使用变量的注意事项:
        1、变量要进行初始化赋值,才可以进行使用
        2、在同一作用域下,变量名不能重复,可以大小写不一样,严格区分大小写的。
        3、java中整数默认是int类型,要想定义一个long类型的变量,需要在值的末尾加上L或者l,推荐使用L
        4、java中小数默认是double类型,要想定义一个float类型的变量,需要在值的末尾加上F或者f,推荐使用F

5.测试使用

public class DataTypeDemo1 {
    public static void main(String[] args) {
        //数据类型 变量名 = 初始化值;
        //定义一个byte类型的变量
        byte b1 = 100;
//        b1 = 120;
//        byte b1;
//        byte B1 = 110;
        System.out.println(b1); // 直接打印这个变量,实际上打印的是该变量存储的值

        //定义一个short类型的变量
        short s1 = 200;
        System.out.println(s1);

        //定义一个int类型的变量
        int i1 = 300;
        System.out.println(i1);
//        int i2 = 30000000000;
        long i2 = 30000000000L;
        System.out.println(i2);

        //定义一个float类型的变量
        float f1 = 12.34F;
        System.out.println(f1);
        //定义一个double类型的变量
        double d1 = 33.45;
        System.out.println(d1);

        //定义一个布尔类型的变量
        boolean b2 = true;
        System.out.println(b2);

        //创建一个字符变量
        char c1 = 'a';
        System.out.println(c1);


    }
}

标签:10,java,进制,System,原码,println,out,变量,常量
From: https://www.cnblogs.com/ndmtzwdx/p/18475482

相关文章

  • Java最全面试题->Java基础面试题->JavaWeb面试题->Cookie/Session面试题
    Cookie/Session下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图哪里不会点哪里什么是Cookie?HTTPCookie(也叫WebCookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求......
  • Nodejs java python php基于微信平台的二次元手办商场小程序
    目录项目介绍具体实现截图设计方法和思路技术介绍小程序框架以及目录结构介绍java类核心代码部分展示其他小程序项目推荐系统测试详细视频演示源码获取项目介绍小程序选用微信开者与Nodejsjavapythonphp语言,应用uniapp框架,MySQL为后台数据库。系统主要包括用户......
  • java Nodejs python php云台音乐网站系统 微信小程序
    目录项目介绍具体实现截图技术介绍HBuilderX协同过滤算法java类核心代码部分展示其他springboot项目推荐详细视频演示源码获取项目介绍云台音乐微信小程序的设计基于现有的智能手机上运行,可以实现服务端;首页、个人中心、用户管理、音乐分类管理、歌曲信息管理、音......
  • 【2024最新版】Win10下 Java环境变量配置----适合入门小白
    首先,你应该已经安装了Java的JDK了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html)笔者安装的是jdk-8u91-windows-x64接下来主要讲怎么配置Java的环境变量,也是为了以后哪天自己忘记了做个备份(注:win10的......
  • java代码生成器(controller,service,mapper)
    packagecom.cn.codeGenerator;importjava.awt.*;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.sql.*;importjava.util.ArrayList;importjava.util.List;publicclassCodeGenerator{privatestaticfinalStri......
  • java Nodejs python php微信小程序的校园跑腿系统628
    目录项目介绍具体实现截图技术介绍HBuilderX协同过滤算法java类核心代码部分展示其他springboot项目推荐详细视频演示源码获取项目介绍伴随着社会以及科学技术的发展,小程序已经渗透在人们的身边,小程序慢慢的变成了人们的生活必不可少的一部分,紧接着网络飞速的发展,小......
  • IoT平台软件:Google Cloud IoT二次开发_JavaSDK使用指南
    JavaSDK使用指南1.环境准备在开始使用GoogleCloudIoT的JavaSDK之前,需要确保您的开发环境已经配置好相关的依赖和工具。以下是环境准备的步骤:1.1安装Java确保您的系统中安装了最新版本的Java开发工具包(JDK)。您可以通过以下命令检查Java版本:java-vers......
  • Java 中的访问权限
    文章目录前言一、Java中的四种访问权限级别1.public(公共访问权限):2.protected(受保护访问权限):3.默认访问权限(也称为包访问权限或友好访问权限):4.private(私有访问权限):二、访问权限的重要性总结前言在Java编程中,访问权限的控制是非常重要的一部分,它决定了类、方法......
  • 【Java SE 】类和对象详解
     ......
  • JavaWeb基于ssm的校园一卡通密钥管理系统(001)
    获取源码请滑到最底部访问官网项目配套调试视频和相对应的软件安装包1、项目描述具体请看视频演示2、项目开发工具开发工具:Idea或Eclipse数据库:MysqlJar包仓库:Maven前端框架:Vue2后端框架:SSM3、项目图片4、演示视频JavaWeb基于ssm的校园一卡通密钥管理系统(001)......