一、Java基本语法

Java基础知识图解
Java基础知识图解

1、基础入门

1-1 关键字

关键字(keyword)的定义和特点:

  • 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
  • 特点:关键字中所有字母都为小写
  • 官方地址:
    https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

在这里插入图片描述
在这里插入图片描述

1-2 标识符(Identifier)

  • 标识符:
    • Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
    • 技巧:凡是自己可以起名字的地方都叫标识符。
  • 定义合法标识符规则:
    • 由26个英文字母大小写,0-9 ,_或 $ 组成 数字不可以开头。
    • 不可以使用关键字和保留字,但能包含关键字和 保留字。
    • Java中严格区分大小写,长度无限制。
    • 标识符不能包含空格。
  • Java中的名称命名规范:
    • 包名:多单词组成时所有字母都小写:xxxyyyzzz
    • 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
    • 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个 单词首字母大写:xxxYyyZzz
    • 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

1-3 变量

下图为变量的分类(按数据类型):
在这里插入图片描述

  • 在方法体外,类体内声明的变量称为成员变量。
  • 在方法体内部声明的变量称为局部变量。

下图为变量的分类(按声明位置):
在这里插入图片描述

  • 注意:二者在初始化值方面的异同:

同:都有生命周期
异:局部变量除形参外,需显式初始化。

基本数据类型转换

  • 自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容 量大小排序为:

在这里插入图片描述

  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的 那种数据类型,然后再进行计算。
  • byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。 boolean类型不能与其它数据类型运算。
  • 当把任何基本数据类型的值和字符串(String)进行连接运算时(+),基本数据类 型的值将自动转化为字符串(String)类型。

字符串类型:String
String不是基本数据类型,属于引用数据类型

强制类型转换

  • 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使 用时要加上强制转换符:(),但可能造成精度降低或溢出,格外要注意。
  • 通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可 以实现把字符串转换成基本类型。
    • 如: String a = “43”; int i = Integer.parseInt(a);
  • boolean类型不可以转换为其它的数据类型

1-4 运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

① 算术运算符

在这里插入图片描述
算术运算符的注意问题:

  • 如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是 负数则不可忽略。此外,取模运算的结果不一定总是整数。
  • 对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只 保留整数部分而舍弃小数部分。 例如:int x=3510;x=x/1000*1000; x的 结果是?
  • “+”除字符串相加功能外,还能把非字符串转换成字符串. 例如: System.out.println(“5+5=”+5+5);

② 赋值运算符

  • 符号:=
    • 当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
    • 支持连续赋值。
  • 扩展赋值运算符: +=, -=, *=, /=, %=

③ 比较运算符(关系运算符)

在这里插入图片描述

  • 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
  • 比较运算符“==”不能误写成“=” 。

④ 逻辑运算符

在这里插入图片描述

⑤ 位运算符

在这里插入图片描述

  • 位运算是直接对整数的二进制进行的运算

⑥ 三元运算符

(条件表达式)?表达式1:表达式2;

1-5 运算符的优先级:

在这里插入图片描述

2、数组

2-1 数组的概念

  • 数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。

  • 数组的常见概念

    • 数组名
    • 下标(或索引)
    • 元素
    • 数组的长度
  • 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括
    基本数据类型引用数据类型

  • 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。

  • 数组的长度一旦确定,就不能修改。

  • 我们可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。

  • 数组的分类:

    • 按照维度:一维数组、二维数组、三维数组、…

    • 按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)

2-2 一维数组的使用

  • 一维数组的声明方式:

    type var[] 或 type[] var;
    例如:

    • int a[];

    • int[] a1;

    • double b[];

    • String[] c; //引用类型变量数组

  • Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法

数组元素的引用:

  • 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
  • 数组元素的引用方式:数组名[数组元素下标]
    • 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
    • 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3];
      可引用的数组元素为a[0]、a[1]、a[2]
  • 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长 度(元素个数)
    • 数组一旦初始化,其长度是不可变的

数组元素的默认初始化值

  • 数组是引用类型,它的元素相当于类的成员变量,因此数组一经 分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。
    例如:
    public class Test {
    public static void main(String argv[]){
    int a[]= new int[5];
    System.out.println(a[3]); //a[3]的默认值为0
    }
    }

  • 对于基本数据类型而言,默认初始化值各有不同

  • 对于引用数据类型而言,默认初始化值为null(注意与0不同!)

在这里插入图片描述

2-3 多维数组的使用

在这里插入图片描述
在这里插入图片描述

2-4数组中涉及的常见算法

数组中涉及的常见算法

  1. 数组元素的赋值(杨辉三角、回形数等)
  2. 求数值型数组中元素的最大值、最小值、平均数、总和等
  3. 数组的复制、反转、查找(线性查找、二分法查找)
  4. 数组元素的排序算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值