当前位置 : 主页 > 编程语言 > java >

Java语法

来源:互联网 收集:自由互联 发布时间:2022-07-04
一,变量 概念:计算机内存中的一块存储空间,是存储数据的基本单元 1.1 变量的定义 方式一: // 声明并定义了指定类型的变量(先定义后赋值) 数据类型 变量名 ; 变量名 = 值 ; 例如

一,变量

概念:计算机内存中的一块存储空间,是存储数据的基本单元

1.1 变量的定义

方式一:

// 声明并定义了指定类型的变量(先定义后赋值)
数据类型 变量名;
变量名 = ;
例如:
int age; 声明定义了一个int类型的变量age
age = 25;为age变量赋值为25

方式二:

// 声明并定义了指定类型的变量同时进行赋值(定义的同时赋值)
数据类型 变量名 = ;
例如:
double height = 180; 声明定义了一个double类型的变量height并赋值为180

方式三:

// 多个相同数据类型的变量同时声明赋值
数据类型 变量名1 = ,变量名2,变量名3 = ,...;
// 同时定义3个人的年龄分别为21,24,22
int age1 = 21,age2 = 24,age3 = 22;


注:

  • 变量在使用前必须先赋值
  • 变量可以被多次赋值,赋值后新值会覆盖旧值
  • 变量不能重复定义
  • 必须先定义变量,才能使用
  • 变量只能在定义它的代码块中使用,一旦出了定义它的代码块这个变量就从内存中释放了

  • 二,数据类型

    Java中的数据类型分为:

  • 基本数据类型
  • 引用数据类型

  • 2.1 基本数据类型(四类八种)

    2.1.1 整数类型

    byte:字节,1个字节,范围:-128 ~ 127

    short:短整型,2个字节,范围:-32768 ~ 32767

    int:整型,4个字节,默认整型

    long:长整型,8个字节

    注:

  • 值的大小不能超过类型的范围
  • 如果 long 型的变量接收超过 int 范围的数据时,需要在数据末尾加上“l”或者“L”

  • 2.1.2 浮点类型

    float:单精度浮点类型,4个字节

    double:双精度浮点类型,8个字节,默认的浮点类型

    注:

    1. 对 float 类型的变量进行赋值时,如果值是小数需要加上“F”或者“f”

    2.1.3 布尔类型

    boolean:1个字节,只有两值 true 、 false

    注:

  • 布尔值不能参与算数运算
  • 布尔值可以参与关系运算、逻辑运算

  • 2.1.4 字符类型

    char:2个字节,表示单个字符,用一对单引号括起来

    注:

  • char 类型的变量可以接收一个汉字
  • char 中不能存储空字符

  • 2.1.5 转义字符

    如果在程序中要输出一个单引号,直接定义 char c = ‘’’,会报错。

    我们需要对中间的单引号进行转换。

    转义字符:\

    常见的转义动作:

    1.\\
    2.\'
    3.\"
    4.\t:一个制表符
    5.\n:一个换行符


    2.2 引用数据类型

    2.2.1 字符串类型

    概念:任何双引号括起来的字面值,例如 “abc” 都是字符串

    String:它在 java.lang 语言包中,在该类中,定义了一系列的用于操作字符串的功能

    定义:

    String 变量名 = "值";


    三,运算符

    3.1 算数运算符

  • +:求和,如果参与运算的数据中有字符串,那么 “+” 就是拼接,且拼接后的结果仍为字符串
  • -:求差
  • *:求积
  • /:求商
    注:整数之间的除法可能会有精度损失
  • %:取模运算,求余数
    注:
  • a % b,如果 a < b,那么结果是 a
  • a % b,结果是范围是[0,a),包含 0,不包含 a
  • a % b ,结果的正负与 a 的正负一致
  • ++:自增1 --:自减1
    注:
  • 自增、自减运算分为前置和后置
    1. 前置:++a、–b
    2. 后置:a++、b–
  • 在单独运算时,前置和后置没有区别;如果在复合运算中,
    1. 前置:先执行自增(减),再执行其他操作
    2. 后置:先执行其他操作,再执行自增(减)


  • 3.2 赋值运算符

  • =
  • +=:
  • int a = 3;
    a = a + 4;
    // 等价于 a += 4;

  • -=
  • *=
  • /=
  • %=

  • 3.3 关系(比较)运算符

    关系运算的运算结果都是布尔值



    1. ==:比较参与运算的两个数据是否相等
    2. !=:比较参与运算的两个数据是否不等
    3. >
    4. <
    5. >=
    6. <=


    3.4 逻辑运算符

    逻辑运算的运算结果都是布尔值,参与运算的表达式的结果也必须是布尔值

  • &:逻辑与,并且
  • 逻辑:表达式两边只要出现了false,整个表达式的结果就是false

  • |:逻辑或,或者
  • 逻辑:表达式两边只要有true,整个表达式的结果就是true

  • !:逻辑非,取反
  • ^(了解):异或
  • 逻辑:表达式两边同为true或者false,结果为false;表达式两边不一样结果为true

    注:

  • 多个布尔值参与逻辑运算仍遵循上述的特点
  • &&:如果表达式的左边是false,那么整个表达式的结果就是false,因此表达式的右边不再运算
  • ||:如果表达式的左边是true,那么整个表达式的结果就是true,因此表达式的右边不再运算

  • 3.5 三元(目)运算符

    ? :

    格式:

    表达式1?表达式2:表达式3

    逻辑:表达式1必须是一个条件表达式,当表达式1的结果为true时,执行表达式2;反之,执行表达式3。

    3.6 位运算(了解)

  • 将十进制的数转换成二进制的数,再根据 &、|、^ 针对每一位进行逻辑运算,其中将 1 视为true, 0 视为false。
  • 左移:a << b , 相当于 a * 2 的 b 次方

  • 四,类型转换

    问:不同数据类型之间是否可以运算?

    答:可以的,但是需要遵循自动类型转换的规则

    4.1 自动类型转换

    范围小的数据类型与范围大的数据类型运算,结果会自动转换成范围大的数据类型。

    规则:

    double > float > long > int > short > byte

    注:

  • char 值 与 十进制数 可以根据 ASCII 码表进行转换
    48 - 57 :‘0’ - ‘9’
    65 - 90 :‘A’ - ‘Z’
    97 - 122 : ‘a’ - ‘z’
  • byte b1 = 33;// 不会报错,33是一个常量

    int i = 33;
    byte b2 = i;// 报错,i是一个int类型的变量



    4.2 强制类型转换

    格式:

    范围小的数据类型 变量名 = (范围小的数据类型)范围大数据类型的数据;

    注:

  • byte、short、char 类型的变量在运算时,会自动转换成 int 类型
  • 自增、自减中自带强制类型转换
  • +=、-= 等赋值运算符也自带强制类型转换
  • 基本数据类型的强制类型转换慎用
  • int类型 和 char 类型 可以通过强制类型转换做交换,根据 unicode 码表
    unicode 码表:称为 万国码 ,是一个前128位与ASCII码表完全相同,且收录了世界各国各地文字的码表



  • 注:

    1. byte、short、char 类型的变量在运算时,会自动转换成 int 类型

    2. 自增、自减中自带强制类型转换

    3. +=、-= 等赋值运算符也自带强制类型转换

    4. 基本数据类型的强制类型转换慎用

    5. int类型 和 char 类型 可以通过强制类型转换做交换,根据 unicode 码表

    unicode 码表:称为 万国码 ,是一个前128位与ASCII码表完全相同,且收录了世界各国各地文字的码表



    上一篇:Java8-Stream流(中间操作)map
    下一篇:没有了
    网友评论