2、基本语法

2、基本语法

2.1 关键字与保留字

关键字:被Java语言赋予了特殊含义,用做专门用途的字符串(单词),关键字中所有字母都为小写

image-20220312131514343

2.2 标识符

Java 对各种 变量、 方法和 类等要素命名时使用的字符序列称为标识符

  • 标识符由数字,字母,下划线组成
  • 不可以以数字开头
  • 不可以使用关键字和保留字

命名规范

包名:全部小写 xxxyyyzzz

类名、接口名:XxxYyyZzz 所有单词首字母大写

变量,方法名:xxxYyyZzz 第一个单词首字母小写

常量名:XXX_YYY_ZZZ 全部大写,单词用 _ 隔开

2.3 变量

变量的概念:
 内存中的一个存储区域
 该区域的数据可以在同一类型范围内不断变化
 变量是程序中最基本的存储单元。包含**变量类型、变量名 **和 存储的值

变量的作用:
 用于在内存中保存数据
使用变量注意:

​  Java中每个变量必须先声明,后使用
​  使用变量名来访问这块区域的数据
​  变量的作用域:其定义所在的一对{ }内
​  变量只有在其作用域内才有效
​  同一个作用域内,不能定义重名的变量

变量的声明与赋值:

  • <数据类型> <变量名> = <初始化值>

    int[] arr = {};

变量的分类

  • 数据类型

    对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间

    变量传递:基本类型传递值,引用类型传递地址String是不可变的)

    image-20220312133003084

  • 按声明的位置分

     方法体外,类体内--成员变量;
     方法体内 --局部变量。
    局部变量定义时必须初始化赋值
    局部变量可以与成员变量重名,局部覆盖全局的值)

    image-20220312133315283

8大基本数据类型

整数类型:byte,short,int,long

byte,short,int,long --- 1,2,4,8 字节(1字节=8bit位=2^8)

浮点类型:float,double

4字节,单精度(7位有效数字) , 8字节,双精度

字符类型:char

char a = 'w' (2字节) ,允许使用转义字符 ' \ ' 来转变位特殊字符型常量

\b退格,\n换行,\r回车,\t制表,"双引号,'单引号,\反斜线

每个字符对应一个Unicode码,可以进行运算

布尔类型:boolean

只允许取值true和false,无null

不可以使用0或非 0 的整数替代false和true,这点和C语言不同。

在编译之后都使用java虚拟机中int数据类型来代替:true用1表示,false用0表示


基本数据类型转换

  • 自动类型

    容量小的类型自动转换为容量大的数据类型。

    image-20220312135015874

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

  • byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。

  • boolean类型不能与其它数据类型运算。

  • 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类型的值将自动转化为字符串(String)类型。


强制类型转换

  • 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。

    -- 使用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。

  • 通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。

  • boolean类型不可以转换为其它的数据类型。

例:

long a = 1; int b = (int) a;

String a = “43”; int i = Integer.parseInt(a);

进制

  • 所有数字在计算机底层都以 二进制形式存在。

  • 对于整数,有四种表示方式:

image-20220312140553045

二进制

  • Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位

  • 二进制的整数有如下三种形式:
    原码:直接将一个数值换成二进制数。最高位是符号位
    负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
    负数的补码:其反码加1。

  • 计算机以二进制补码的形式保存所有的整数。

    正数的原码、反码、补码都相同

    负数的补码是其反码+1


2.4 运算符

算术运算符,赋值运算符,比较运算符(关系运算符),逻辑运算符,位运算符,三元运算符

  • 算术运算符:

    image-20220312141711645
  • 赋值运算符

    当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理

    扩展赋值运算符: +=, -=, *=, /=, %=


  • 比较运算符

    image-20220312141849683
  • 逻辑运算符

    image-20220312141936675

    • “&”和“&&”的区别:
       单&时,左边无论真假,右边都进行运算;
       双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算

    • “|”和“||”的区别同理,||表示:当左边为真,右边不参与运算


  • 位运算符

    image-20220312142903230
  • 三元运算符

    image-20220312143237234
    • 表达式1 和表达式2为 为 同种类型

    • 三与 元运算符与if-else 的联系与区别:

      • 三元运算符可简化if-else语句

      • 三元运算符要求必须返回一个结果

      • if后的代码块可有多个语句


2.5 程序流程控制

流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。

  • 顺序结构
     程序从上到下逐行地执行,中间没有任何判断和跳转。
  • 分支结构
     根据条件,选择性地执行某段代码。
     有if…else和switch-case两种分支语句。
  • 循环结构
     根据循环条件,重复性的执行某段代码。
     有while、do…while、for三种循环语句。
     注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。

return,break,continue对比:

  • return 并非专门用于结束循环的,它的功能是结束一个方法。当一个方法执行到一个return语句时,这个方法将被结束。

  • break 用于switch 语句和 循环语句中。(终止本层循环)

  • continue 只能用于 循环语句中。(终止本次循环)

很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同于goto的。
Java不支持goto语句

posted @   simp1e1  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示