美文网首页
Java 中的常量、变量的定义及使用

Java 中的常量、变量的定义及使用

作者: 笔头还没烂 | 来源:发表于2023-03-24 15:54 被阅读0次

一、相关概念

  1. 标识符
    (1)标识符的命名规则
    • 标识符可以由字母、数字、下划线(_)和美元符号($)组成,不能以为数字开头;
    • 标识符严格区分大小写;
    • 标识符不能是 Java 关键字和保留字;
    • 标识符的命名最好能反映出作用;
  2. 关键字
  3. 变量
    (1)变量的三个元素:变量类型、变量名和变量值
    (2)变量名的命名规则
    • 满足标识符命名规则;
    • 符合驼峰法命名规范;
    • 尽量简单,做到见名知意;
    • 变量名的长度没有限制;
      (3)类的命名规则:
    • 满足 Pascal 命名法规范;
  4. 数据类型
    (1)基本数据类型(8种3大类):
    • 数值型
      • 整数类型(byte、short、int、long)
      • 浮点类型(float、double)
    • 字符型(char)
    • 布尔型(boolean):true、false 3基本数据类型.png
      (2)引用数据类型:类(class)、接口(interface)、数组

变量声明

  • 格式:数据类型 变量名;
  • 例:
  • int n; 声明整型变量n
  • long count; 声明长整型变量count

赋值

  • 使用“=”运算符进行赋值
  • “=”叫做赋值运算符,将运算符右边的值赋值给左边的变量。
  • 例 int n; 定义int型变量n
  • n=3; 将3赋值给n
  • 可以在定义变量的同时给变量赋值,即变量的初始化。
  • 例:int n = 3;

基本数据类型的存储

  • 数据类型分为基本数据类型和引用数据类型
  • 引用数据类型包括数组和类等
  • 类定义的变量又叫对象
  • 按照作用范围分为:
    • 类级、对象实例级、方法级(局部变量)、块级
    • 内存分为:栈、堆、常量池等区域,不同作用范围的数据分别存放在内存的不同区域。

      如 int n = 100;该语句会先在内存的栈区中开辟一块空间,将数值100存储到该空间中;n可以理解为对该空间起的一个别名。 4内存的区域划分与数据存储.png
  1. 类型转换

    • 类型转换分为自动类型转换和强制类型转换

    • 自动类型转换又叫隐式类型转换 5自动类型转换顺序.png
    • 强制类型转换

    • 如果A类型的数据表示范围比B类型大,则将A类型的值赋值给B类型时需要强制类型转换

      • 如:double d = 123.4;
        float f = (float)d;
      • 强制数据类型转换的格式:(数据类型)数值
      public class TypeExchange {
          public static void main(String[] args) {
              //char类型和int类型之间的转换
              char c = (char)65536;
              int n;
              n = c;//隐式类型转换
              c = (char)n;
      
              //整型和浮点型的类型转换问题
              int x = 100;
              long y = x;
              x = (int)y;
              float f = 1000000000000L;
              System.out.println("f="+f);
              float f1 = 103948583923948L;
              System.out.println("f1="+f1);
          }
      }
      

      运行结果如下:

      f=1.0E12
      f1=1.03948585E14

  2. 常量
    (1)用final修饰的变量

  • 用 final 修改的变量不能被修改
  • 变量名一般用大写来表示
    如:格式如: final int N = 5;
    (2)字面值(常量和变量实际表示的数值)
    • Java 中有三种表示整数的方法:十进制、八进制和十六进制 6字面值.png
      • 整型字面值

        • 八进制:以0开头,包括0-7的数字,如:037、056;
        • 十六进制表示:以0x或0X开头,包括0-9的数字,及字母a-f,A-F,a表示数字10,以此类推!如:0x12,0xabcf,0XABCFF
      • 浮点型字面值

        • 浮点型字面值默认情况下表示 double 类型,也可以在值后加d或D

          • 如:123.43d 或123.43D
          • 如表示float 类型,则需要在字面值后加f或F
          • 如:23.4f 或 23.4F
          public class FloatDemo {
              public static void main(String[] args) {
                  //定义一个单精度浮点型变量,存放1234.328
                  float f = 1234.328f;
                  System.out.println("f="+f);
                  //定义一个双精祺浮点型变量,存放5623.456
                  double d = 5623.464;
                  System.out.println("d="+d);
                  //将整型赋值给浮点型
                  double d1 = 123;
                  System.out.println("d1="+d1);
                  //变量间的赋值
                  double d2 = d;
                  System.out.println("d2=" +d2);
              }
          }
          

          运行结果如下所示:

          f=1234.328

          d=5623.464

          d1=123.0

          d2=5623.464

      • 字符型字面值

        • 字符型字面值用单引号内的单个字符表示。

          • 如:'a','b','$'
          • 单引号中必须只有一个字符
          • 如何定义字符型变量?
          • char a = 'a';
          • char ch=65;
          public class CharDemo {
              public static void main(String[] args) {
                  //定义一个变量存放字符'a'
                  char a = 'a';
                  System.out.println("a = " + a);
                  char ch = 65535;
                  //char类型定义的数据范围是0~65535,当值超出这个范围,则需做类型的强制转换,否则会报错。
                  char ch1= (char) 65536;
                  System.out.println("ch=" + ch);
                  char c = '\u005d';
                  System.out.println("c="+c);
              }
          }
          

          运行结果如下:

          a = a
          ch=�
          c=]

          结论:

          • 整型和浮点型是可以互相转换的;
          • 整型和浮点型互相转换的依据是 ASCII 码表。

          ASCII 码

          • ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)
          • 基于拉丁字母的一套电脑编码系统
          • 主要用于显示现代英语和其他西欧语言

          ASCII 码表示

          • 使用7位或8位二进制数组合来表示128或256种可能的字符。
          • 7位二进制数组合——标准ASCII码;标准ASCII 码表示大小写字母、标点符号、美式英语中的控制字符等。
          • 8位二进制数组合(后128位)——扩展ASCII 码。扩展ASCII码表示特殊符号,外来语言的字母等。

          Unicode编码

          • ASCII 码是美国标准信息交换码,ASCII码不能支持所有的语言;
          • Unicode编码又称为统一码、万国码。Unicode 编码的目标是支持世界上所有的字符集。
          • 如:char c = '\u005d';
          • Unicode 表示法,在值前加前缀\u

          转义字符

          public class VarDemo {
              public static void main(String[] args) {
                  //定义两个整型变量x,y
          //        int x=3,y=5;
                  int x,y;
                  x=3;y=5;
                  System.out.println("x="+x);
                  System.out.println("y="+y);
                  //关于换行的问题
                  System.out.print(""+x+'\t'+y+'\n');
                  //System.out.println();//换行
                  System.out.println(x+","+y);
                  //定义一个汉字的字符
                  char ch = '爱';
                  System.out.println(ch);
                  char 人 = '我';//不建议中文作为变量名
                  System.out.println(人);
                  //用科学计数法表示浮点型数据
                  double d = 1.23E5;
                  float f = 1.23e5f;
                  double d1 = .2;
                  System.out.println("d="+d);
                  System.out.println("f="+f);
                  System.out.println("d1="+d1);
              }
          }
          

          运行结果如下:

          x=3
          y=5
          3 5
          3,5


          d=123000.0
          f=123000.0
          d1=0.2

          转义字符 描述
          \uxxxx 四位16进制数所表示的字符
          \' 单引号字符
          \" 双引号字符
          \\ 反斜杠字符
          \r 回车
          \n 换行
          \t 横向跳格
          \b 退格
      • 布尔类型字面值

        • 布尔值只能定义为 true 和 false
        • 例:boolean b = true;
      • 字符串类型字面值

        • 字符串不属于基本数据类型,它是类!
        • 字符串字面值表示:双引号引起来的0个或多个字符。
        • 如:String s = "";
        public class StringDemo {
            public static void main(String[] args) {
                //定义一个空字符串
                String s1 = "";
                System.out.println("s1="+s1);
                //定义一个字符串,内容是 Hello
                String s2 = "Hello";
                System.out.println("s2="+s2);
                //定义一个包含unicode字符的字符串
                String s3 = "A\u005d\u005fB";
                System.out.println("s3="+s3);
                //定义一个包含空格的字符串
                String s4="Hello   java!";
                System.out.println("s4="+s4);
            }
        }
        

        运行结果如下:

        s1=
        s2=Hello
        s3=A]_B
        s4=Hello java!

相关文章

  • Kotlin 变量,常量,注释

    定义变量,常量 声明普通变量Kotlin 中定义变量,常量跟Java中有很大区别, kotlin中必须使用var,...

  • Java初级笔记No.1(更新中)

    2018.7.24 1、java中使用关键字final来定义常量; 2、java中的变量包括类变量,实例变量,局部...

  • Swift初体验 变量&常量&元组

    一、变量和常量01 变量和常量的定义在swift中变量使用var来修饰,常量使用let来修饰,变量可以修改而常量不...

  • 初探php

    常量与变量 变量:$; 常量:const;可以使用define定义常量;

  • 初学Swift 小总结

    Swift 01 Swift最基本的语法变化 Swift 变量&常量 变量使用 let 定义常量,定义后的常量不能...

  • val和var的区别

    val定义的是常量类似于Java中的final,而var定义的是变量,非final. 永远优先使用val,当没有办...

  • jmeter组件分类及执行顺序

    point jmeter中组件执行顺序: 1、配置元件:相当于Java中的常量和变量定义,可以跨线程组使用。HTT...

  • swift的基础语法(一)

    常量&变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 注意: 在真实使用过...

  • 12月23号java第一课

    JAVA中数值分为三种变量, 常量.变量.字面量。 其中常量是不可变量使用 final 来修饰, 变量:只要没有 ...

  • Kotlin入门语法

    变量:var常量: val Java 常用变量定义 Code->Convert to Java以后Kotlin...

网友评论

      本文标题:Java 中的常量、变量的定义及使用

      本文链接:https://www.haomeiwen.com/subject/vttgrdtx.html