Java 第2章 基本数据类型与运算 2021.9.14

本文深入讲解了Java编程中的Unicode字符集编码,介绍了标识符和关键字的命名规则,详细划分了基本数据类型如整型、浮点型、字符型和布尔型,以及它们的输入输出方法。此外,还重点阐述了算术、关系、逻辑和位运算符,以及赋值和条件运算符的应用。
摘要由CSDN通过智能技术生成

第2章 基本数据类型与运算

2.1 标识符与关键字

2.1.1 Unicode字符集

  • Unicode字符集编码:通用八位编码字符集的简称
  • 为每种语言中的每个字符设定了统一并且唯一的二进制编码
  • 十六位二进制数字编码(四位十六进制数),最多编码65536个字符

2.1.2 标识符

  • 标识符:JAVA程序中各种名字
  • 类名、方法名、数组名、符号常量名、标号名
  • 命名规则:
    • 不能以数字开头
    • 字母、下划线、$、数字等
    • 不可以是关键字和保留字
    • 可以是汉字?

2.1.3 关键字

关键字也是语言中的词汇(Token)

2.2 基本数据类型

2.2.1 变量与常量

1.常量

  • 常量分为符号常量直接量两种
  • 符号常量在程序运行过程中其值不可以改变,符号常量一般用大写字母

2.变量

  • 变量在程序中用来储存数据

  • 变量名用小写字母。多个词连接时除第一个外首字母大写

  • 变量在用前需要声明

  • 变量声明格式:

    type varName [=value][,varName[=value]...]
        
    int age = 19 , age2 = 90;
    int age,age2;
    
  • 没有给变量进行赋值的话,那么其实这个变量相当于没有定义

  • JAVA时强类型语言,只要声明变量就必须定义类型

  • 局部变量:定义在方法中

    成员变量:定义在类中,方法外

    public class TestVar04{
        int b = 20;
        public static void main(String[] args){
            System.out.println(a);//NO
            int a = 10;
            System.out.println(a);//YES
            System.out.println(b);//YES
            {
                int c = 40;
                System.out.println(C)//YES
                int a = 50;//属于变量的重复定义
            }
            System.out.println(c);//NO
        }
        public void eat(){
            System.out.println(b);//YES
            System.out.println(a);//NO
            int a = 30;//不是变量的重复定义
            System.out.println(a);//YES
        }
    }
    

2.2.2 基本数据类型

  • 在计算机中,不同类型的数据,其储存形式和处理方式不同,所以要对数据区分类型
  • JAVA语言本身定义的数据类型成为基本类型
  • 基本数据类型:
    • 数值型:
      • 整形:字节byte、短整型short、基本整型int、长整型long
      • 浮点型:单精度float和双精度double
    • 字符型:char
    • 布尔型:boolean

1、整型数

  • 整型数可以用二进制、八进制、十进制和十六进制表示
    • 二进制:0b开头
    • 八进制:0开头,由数字1至7表示
    • 十进制:
    • 十六进制:0x或0X开头
  • 默认类型为int型
  • 表示长型整数,需要在数字后面加L或l
  • 给byte或short型变量赋值时不要超出数据范围

2、浮点型数

  • 可以用十进制和指数形式表示
  • 1.23*10^5可以写成1.23E5.用E或e表示指数部分
  • 浮点型常量默认为双精度数
  • 浮点数后加F或f表示单精度数,加D或d表示双精度数
  • 浮点数有8位有效数字,而双精度为16位

3、字符型数

  • 字符常量是一个字符,占两个字节(16位),表示时用单引号引起
  • 转义字符

4、布尔型数

  • 又称逻辑型数

  • 只有两个常量:true和false,用于表示“真”和“假”

  • public class TestVar09{
        public static void main(String[] args){
            //创建一个布尔类型的变量
            boolean flag1 = true;
            System.out.println(flag1);
            boolean flag2 = false;
            System.out.println(flag2);
            boolean flag3 = 5==9;
            System.out.println(flag3);
            boolean flag4 = 5<9;
            System.out.println(flag4);
        }
    }
    

2.2.3 基本类型数据输入输出

1、输入

  • 可以Sanner类的对象及其方法进行基本数据类型数据的输入

  • 先创建Scanner类的对象:

    Scanner input = new Scanner(System.in);
    
  • 输出数据时使用:

    System.out.println(输出的数据)
    
  • 利用Scanner类中的方法可以从键盘读入基本类型的数据:

    类型方法
    bytenextByte()
    shortnextShort()
    intnextInt()
    lingnextLong()
    booleannextBoolean()
    floatnextFloat()
    doublenextDouble()
  • 从键盘获得一个字符:

    • 方法一:利用Scanner类的next()方法读取字符串,再从串中取出字符

      Scanner sc = new Scanner(System.in);
      String s = sc.next();
      char c = s.charAt(0)
    • 方法二:利用System类in属性直接调用read()方法读入字符

      char c;
      try
      {
          c = (char)System.in.read;
      }
      catch(Excption e)
      {}
      

2、输出

  • System.out中的方法:print, println, printf

    • 调用print()方法时必须带且只能带有一个基本数据类型的参数,它输出数据后不换行

    • 调用println()方法时可以不带参数,如果不带参数则输出一个换行;如果带参数只能带一个基本数据类型的参数,输出参数的值并换行

    • 如果用print()或println()一次输出多个数据,则应将多个数据变成一个数据后再调用这两个方法输出

      System.out.println("Average Score = "+average);
      
      //用print()写成等价语句:
      System.out.print("Average Score = ");
      System.out.print(average);
      System.out.print("\n");
      
    • printf()用于有格式的数据输出

      printf(格式控制字符串,输出项表列);
      

      “格式控制字符串”由普通字符和格式控制组成。普通字符原样输出,格式控制字符主要有下面的字符:

      • %d:输出int型数据
      • %c:输出char型数据
      • %f:输出浮点型数据,小数部分最多保留六位
      • %s:输出字符串型数据
      • %md:输出int型数据占m位
      • %m.nf:输出浮点型数据占m位,小数点后保留n位数字

2.3 运算符和表达式

2.3.1 算术运算符

%:求余数,结果按a%b = a-a/b*b计算

  • 结论:余数的符号取决于前面的数的符号

2.3.2 关系运算符

==, !=, >, >=, <, <=(前两个优先级低)

  • 关系运算的结果是逻辑值
  • 关系算符的结合性是从左向右

2.3.3 逻辑运算符

逻辑运算是一种连接运算,可以将多个关系表达式连接成一个表达式

优先级从高到低有:! , && , ||

  • ! 的结合性从右向左,&&,||的结合性从左向右

2.3.4 位运算符

七个:&(位与)、|(位或)、^(位异或)、~(位非)、<<(位左移)、>>(位右移)、>>>(用零扩展的右移)

1、位与运算

2、位或运算

3、位异或运算

4、位非运算

5、位左移运算

  • 移出的位舍弃,右侧空位补0
  • 左移n位相当于*2^n
  • 位移运算比乘2运算快

6、位右移运算

  • 左侧空出位补符号(有符号右移)
  • 右移n位相当于/2^n
  • 位移运算比除2运算快

7、用零扩展的位右移运算

  • 用零扩展的位右移位运算符移位时,空出高位用0补充,而>>运算则用原来的高位值被充

2.3.5 赋值运算符

=

自反赋值运算符:比如+=等

2.3.6 条件运算符

“ ?: ”:三目运算符

  • 逻辑或关系表达式?表达式1:表达式2
  • 有些情况下,可以用条件运算符代替if-else语句

2.3.7 其他运算符

  • new:为数组分配和调用构造方法创建对象
  • instanceof:判断一个对象是否是一个类的实例
  • ():表达式和方法定义的调用
  • []:下标运算符,用于定义数组和访问数组元素
  • . :分量运算符,可以通过访问该运算符访问对象中的成员

2.3.8 表达式

1、表达式

  • 由操作数和运算符组成表达式
  • 考虑:运算符的优先级和综合性、操作数的数据类型转换方法

2、类型转换

  • 方式(2种)
    • 1、自动转换/隐式转换
      • 表达式在计算过程中,参与运算的操作数会根据操作数的类型进行自动转换
      • 自动转换按照数值精度从“低”到“高”
    • 2、强制转换/显示转换
      • 形式:变量 = 表达式
      • 例子:(double)(1/3)
      • 注意:(double)a/b和(double)(a/b)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值