您现在的位置是:首页 > 正文

Java02 变量和运算符

2024-04-01 02:26:23阅读 4

Java02 变量和运算符

2.1 Java代码的基本格式

//类的定义
修饰符 class 类名{
    public static void main(String[] args){
       // 代码
        System.out.println("Hello World!");
    }
}
  • 现阶段,可以将一个类理解成Java程序(.java文件)

  • Java代码可以 分为 结构定义语句功能执行语句

    • 结构定义语句

      • //结构语句
        修饰符 class 类名{
            public static void main(String[] args){
         
            }
        }
        
    • 功能执行语句(实现具体功能的代码)

      • // 代码 ---> 功能执行语句
        System.out.println("Hello World!");
        
      • 每一行功能执行语句(代码)都必须要以 英文“ ; ” 结尾

      • 不要将 英文“ ; ” 写出 中文“;”

  • Java代码要严格区分大小写( 比如 class 关键字 不能写出 Class)

  • 写代码经量保证代码可读性、工整性(比如大街上的帅哥和屌丝你更愿意看哪一个?)

    • public class HelloWorld{
          public static void main(String[] args){
             // 代码
              System.out.println("Hello World!");
          }
      }
      
    • public class HelloWorld{public static void main(String[] args){
             // 代码
        System.out.println("Hello World!");
       }
      }
      

2.2 Java注释

概念:对某一部分代码的解释说明,在程序执行的时候不会去进行执行。比如:产品的说明书、电影的旁白。

  1. 单行注释 (" // " 两个反斜杠)

    //单行注释
    System.out.println("你好!");	
    
  2. 多行注释

    /*
    多行注释1
    多行注释2
    */
    
  3. 文档注释

    /**
    *文档注释
    *
    */
    
  4. 注释嵌套

    • 多行能嵌套单行
    • 多行不能嵌套多行

2.3 标识符

  1. 概念:总的来说,就是你可以自己定义名字的,(名字)就是标识符,比如包名、类名…

  2. 标识符定义的规则:

    1. 由数字、字母、下划线和特殊符号($)组成
    2. 不能以数字开头
    3. 不能使用Java内置关键字
    4. 严格区分大小写
  3. 案例:

    1. 合法标识符
    name1
    name_s
    name$
    Age_sex
    _name
    
    1. 不合法标识符
      123name     //不能以数字开头
      Class	     //不能是关键字
      98.3	     //不能是数字开头也不能包含特殊符号“.”
      Hello World //不能包含空格特殊字符
    
  4. 表示书写规范(你可以不遵循,但是容易被鄙视哦!亲!

    1)包名所有字母一律小写。例如:cn.itcast.test。
    (2)类名和接口名每个单词的首字母都大写。例如:ArrayListIterator。
    (3)常量名所有字母都大写,单词之间用下画线连接。例如:DAY_OF_MONTH。
    (4)变量名和方法名的第一个单词首字母小写,从第二个单词开始每个单词首字母大写。例如:lineNumber、getLineNumber。
    (5)见名知意,在程序中,应该尽量使用有意义的英文单词定义标识符,使得程序便于阅读。例如,使用userName定义用户名,password定义密码。
    
  5. 关键字注意实现

    (1)所有的关键字都是小写。
    (2)不能使用关键字命名标识符。
    (3)const和goto是保留的关键字,虽然在Java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
    (4)true、false和null虽然不属于关键字,但它们具有特殊的意义,也不能作为标识符使用。
    

2.4 变量

  1. 概念:在程序运行期间,会产生一些临时数据,这些临时数据会存放在内存中,如果想要使用这些内存中的临时数据,就需要用某标识去指向内存中的单元格。这种用于 指向内存单元的标识符,我们就称之为变量。

  2. 变量定义格式:

    // 数据类型 变量名 = 数据
    String name = "张三"
    

2.5 数据类型

Java中 数据类型 可以分为两大类

  • 基本数据类型

    1. 数值型
      1. 整数类型
        1. byte (字节型,1字节)
        2. short(短整型 ,2字节)
        3. int (整型,4字节)
        4. long (长整型,8字节)
      2. 浮点数类型
        1. float(单精度,4字节)
        2. double (双精度,8字节)
    2. 字符型
      1. char (字符型,1字节)
    3. 布尔型(boolean)
      1. true (真,1字节)
      2. false (假,1字节)
  • 引用数据类型

    1. 类(class)
    2. 接口(interface)
    3. 字符串(String)

image-20230224005408419

  • 类型转换

    1. 自动类型转换(隐式类型转换),不会有 数据丢失的情况

      1. 两种数据类型要彼此兼容(数值不能转字符)

      2. 目标类型范围 > 原类型范围

        byte b = 3;
        int x = b;  
        
    2. 强制类型转换(显式类型转换),会有数据丢失情况发生==>格式: 目标类型 变量 = (目标类型)值

      1. 两种类型不彼此兼容

      2. 目标类型范围 < 原类型范围

        int num = 40000;
        byte b = (byte)num;
        System.out.println(b);//64 ==> 数据精度丢失
        

2.6 运算符

  • 算术运算符()

    • 运算符 运算 范例 结果
      + 正号 +3 3
      - 负号 b=4;-b -4
      + 5+5 10
      - 6-4 2
      * 3*4 12
      / 5/5 1
      % 取模(即算术中的求余数) 7%5 2
      ++ 自增(前) a=2;b=++a; (a+=1; b=a) a=3;b=3;
      ++ 自增(后) a=2;b=a++;(b=a; ;a+=1) a=3;b=2;
      自减(前) a=2;b=–a; a=1;b=1;
      自减(后) a=2;b=a–; a=1;b=2;
  • 赋值运算符

    • 运算符 运算 范例 结果
      = 赋值 a=3;b=2; a=3;b=2;
      += 加等于 a=3;b=2; a+=b (a=a+b); a=5;b=2;
      -= 减等于 a=3;b=2; a-=b (a=a-b) ; a=1;b=2;
      *= 乘等于 a=3;b=2;a*=b; a=6;b=2;
      /= 除等于 a=3;b=2;a/=b; a=1;b=2;
      %= 模等于 a=3;b=2;a%=b; a=1;b=2;
  • 复合赋值运算符

    • 运算符 运算 范例 结果
      == 等于 4 == 4 true
      != 不等于 4 != 3 true
      < 小于 4 < 3 false
      > 大于 4 > 3 true
      <= 小于或等于 4 <= 3 false
      >= 大于或等于 4 >= 3 true
  • 逻辑运算符

    运算符 运算 范例 结果
    & true & true true
    & true & false false
    & false & false false
    & false &true false
    | true | true true
    | true | false true
    | false| false false
    | false| true true
    ^ 异或 true ^ true false
    ^ 异或 true ^ false true
    ^ 异或 false ^ false false
    ^ 异或 false ^ true true
    ! !true false
    ! !false true
    && 短路与 true && true true
    && 短路与 true && false false
    && 短路与 false && false false
    && 短路与 false && true false
    || 短路或 true || true true
    || 短路或 true || false true
    || 短路或 false|| false false
    || 短路或 false|| true true
  • 运算符优先级(数字越小,优先级越高)

    • 优先级 运算符
      1 . [] ()
      2 ++ – ~ ! (数据类型)
      3 * / %
      4 + -
      5 << >> >>>
      6 < > <= >=
      7 == !=
      8 &
      9 ^
      10 |
      11 &&
      12 ||
      13 ? :
      14 = *= /= %= += -= <<= >>= >>>= &= ^= |=

2.7 案例

案例1

随意给输入一个三位数整数,打印显示它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:

例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1

案例2

获取一个四位数的个位,十位,百位,千位

网站文章

  • (译)Effective Kotlin系列之遇到多个构造器参数要考虑使用Builder(二)

    (译)Effective Kotlin系列之遇到多个构造器参数要考虑使用Builder(二)

    翻译说明: 原标题: Effective Java in Kotlin, item 2: Consider a builder when faced with many constructor par...

    2024-04-01 02:26:15
  • Transformers from an Optimization Perspective

    Transformers from an Optimization Perspective

    Transformers from an Optimization Perspective

    2024-04-01 02:26:07
  • SpringBoot

    SpringBoot

    Spring 的诞生是为了简化 Java 程序的开发的,而 Spring Boot 的诞生是为了简化 Spring 程序开发的。Spring Boot 就是 Spring 框架的脚手架,它就是为了快速...

    2024-04-01 02:25:25
  • 项目阶段一:用户注册和登陆

    项目阶段一:用户注册和登陆

    项目阶段一:用户注册和登陆的实现。 需求 1:用户注册 需求如下: 1)访问注册页面 2)填写注册信息,提交给服务器 3)服务器应该保存用户 4)当用户已经存在----提示用户注册 失败,用户名已存在...

    2024-04-01 02:25:19
  • 浅析ARMv8体系结构:异常处理机制

    浅析ARMv8体系结构:异常处理机制

    异常处理指的是处理器在运行过程中发生了外部事件,导致处理器需要中断当前执行流程转而去处理异常事件的一种机制。在Intel处理器的术语中,中断与异常被分开来描述,但在ARMv8体系结构中,异常和中断统一被称为异常处理。

    2024-04-01 02:24:34
  • Python-pyinstaller:No such file or directory 解决方案

    Python-pyinstaller:No such file or directory 解决方案

    Python-pyinstaller:No such file or directory 解决方案

    2024-04-01 02:24:27
  • 原型模式-学习设计模式

    做个笔记引用https://blog.csdn.net/lovelion/article/details/7424623/** *接口类 */interface OfficialDocument ex...

    2024-04-01 02:24:18
  • python之生成器、迭代器

    python之生成器、迭代器

    python之生成器、迭代器一、生成器创建生成器的方法二、迭代器一、生成器使用列表推导的前提是将所有数据都存入内存,若是数据特别大,则内存消耗会很大,使用生成器可以在循环遍历列表的时候动态生成下一个元...

    2024-04-01 02:23:36
  • php版canvas,HTML5 Canvas

    php版canvas,HTML5 Canvas

    canvas 元素用于在网页上绘制图形。什么是 Canvas?HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。 (推荐学习:html教程)画布是一个矩形区域,您可以控制...

    2024-04-01 02:23:28
  • 在Linux下交叉编译生成windows程序

    在Ubuntu环境下,利用mingw32,交叉编译windows程序,以便在windows下运行。

    2024-04-01 02:23:21