Java基础语法汇总

Java基础语法

1、Java体系与特性:

体系:JavaSE、JavaEE、JavaME
特性:
(1)是一种纯面向对象的编程语言
(2)一种与平台无关(跨平台)的语言。它提供了在不同平台下运行的解释环境
(3)一种健壮的语言,吸收了C/C++语言的优点
(4)有较高的安全性。(自动回收垃圾机制,强制类型检查,取消指针)

2、Java的跨平台原理:
3、Java技术的两大核心机制:JVM和GC
4、JVM可以理解为一个可以运行java字节码的虚拟计算机系统

(1)它有一个解释器组件,可以实现java字节码和计算机操作系统的通信。
(2)对于不同的运行平台,有不同的JVM。
JVM屏蔽了底层运行平台的差别,实现了”一次编译,随处运行”。

5、垃圾回收器(GC)
JVM提供一个系统线程,用于追踪存储空间的分配情况,检查和释放那些可以被释放的空间。

垃圾回收器在java程序运行过程中自动启用,程序员无法精确控制和干预。
垃圾回收–不再使用的内存空间应当进行回收。

6、JDK(Java Development Kits):

Java开发工具集,包含了JRE和JavaAPI(应用程序编程接口):包括Java编译器(javac.exe)、Java运行时解释器(java.exe)、Java文档化工具(Javadoc.exe)以及其他工具及资源。

7、JRE:

Java运行环境

8、JDK的下载安装以及环境变量的配置

JDK的下载安装以及环境变量配置

9、Java语句分类:

(1):结构定义语句
(2):功能执行语句:必须以英文分号结尾 ;

10、变量

就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为“变量”。

11、变量的分类:

按照数据类型可以划分为:

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

按照被声明的位置划分:

  • 局部变量:方法或者语句块内部定义的变量。
  • 成员变量:方法外部、类的内部定义的变量。

注意:类的外部不可以有变量声明

12、数据类型:

基本数据类型:

  • 整型:byte、short、int、long
  • 浮点型:float、double
  • 字符型:char
  • 布尔型:boolean

引用数据类型:

  • 字符串
  • 接口
  • 数组
13、标识符

Java对类、包、方法、参数和变量等要素命名时使用的字符序列称为标识符。规则如下:【硬性要求:不遵守就会报错】

  • 由数字、字母、下划线、美元符号组成。
  • 不能以数字开头
  • 区分大小写
  • 长度无限制
  • 不能使用Java中的保留关键字
    特别注意:在Java中命名是要做到见名知意。
14、命名规范:【软性要求:】
  • 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
  • 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
  • 变量名规范:全部小写。
  • 常量名规范:全部大写,多个单词要用下划线(_)隔开。
15、数据类型转换:
  • 布尔类型不能转换成任意其他数据类型
  • 自动类型转换:数据范围小的数据类型自动转换成数据范围大的数据类型
    byte、short、int->float->long->double
    注意点:byte、short、int不会相互转换,它们三者在进行运算的时候都会先转换成int类型,再进行运算。
  • 强制类型转换:数据范围大的数据类型强制转换成数据范围小的数据类型。这里必须加上强制类型转换符,
    注意点:强制类型转换可能造成精度降低和数据溢出。
16、定义浮点类型的数据时,需要在数据值后面加个F。(原因:我们在使用浮点数时,默认类型是double。)

float f = 13.0F;

17、定义long类型的数据时,需要在数据值后面加个L。(原因:我们在使用整型时,默认类型是int)

Long a = 2200000000L;

18、char类型:

【1】使用单引号引住一个字符 char a =‘A’;
【2】可以进行算数运算。 System.out.println(++a);
【3】可以进行数字类型的强制转换 System.out.println(int(a));
当一个char类型的数与int类型的数相加时,返回的数据为int类型。(原因:是因为char的数据范围小于int的数据范围),但是如果一个char类型的数据自加,那么它返回的是char类型的数。

19、ASCII表三个需要记的 0->48、A->65、a->97
20、方法关键要素:
  • 访问修饰符:
    (1)private(私有):只有同一个类下可以访问
    (2)default(默认):同一个类下或包下可以访问
    (3)public(公共):都可以访问
    (4)protected(被保护):同一个类下或包下或不同包的子类可以访问
  • 返回值类型:(void)表示没有返回值
  • 方法名称:
  • 参数列表:
21、算数运算符:+、-、*、/、%
22、赋值运算符:=、+=、-=、*=、/=、%=
23、关系运算符:==、>、<、<=、>=
24、逻辑运算符:
  • &(与):&的两边都为true时才为true。
  • |(或):|的两边至少有一个为true才为true。
  • (异或):异或的两边分别为一真一假才为true。两边的结构相同时,为false。
  • !(非):与原来的布尔值相反
  • 短路与(&&):&&的两边都为true时,才为true(如果左边为false,那么右边式子不必执行)。
  • 短路或(||):||的两边至少有一边为true,才为true(如果左边的值为true,那没右边式子不必执行)。
  • 短路&&、短路||与&、|的区别:
    (&、|)不管结果如何两边的式子都要执行完,而(短路&&、短路||)因情况而定。
25、字符串连接符(+)

只要+的两边有一边是字符串,得到的结果都将是字符串。

26、三目运算符:

((条件判断)?(表达式1):(表达式2);条件判断为真,则输出表达式1,否则输出表达式2 )

27、转义字符:

\n、\r(回车)、\t(水平制表,跳到下一个TAB位置)、\、\’、\”

28、类Scanner

Scanner input = new Scanner(System.in);
String str1 = input.next();
String str2 = input.nextLine();
next()与nextLine()的区别:next()返回的是一个字符串类型的数值,但是如果整行字符串中有出现空格,那么next()只能获取到空格之前的值,而nextLine()可以获取到整行字符串。

29、执行结构:
  • 顺序结构:
  • 分支结构:
    (1)If-esle
    (2)switch
    Switch的三要素:case值、语句块、break
    Switch的注意事项:
    1、表达式的返回值必须是下述的几种类型之一: int、byte、short、String、char
    2、case的值必须是常量,case的子句的取值不可以重复
    Ps:这里的常量可以是:字符串常量、整数常量、浮点数常量、字符常量
    3、default子句是可选的
    4、break语句用来在执行一个case分支后使程序跳出switch语句块,如果case后面没有break,那么语句将一直执行下去,直到遇到break才结束或者直到程序结束。
  • 循环结构:在循环条件满足的情况下,反复执行特定的代码
    循环语句分类:
    (1)while循环:先判断再执行语句块
    格式: while(条件判断){循环语句块}
    (2)for循环:
    格式: for(初始化参数,条件判断,更新循环变量){循环语句块}
    (3)do/while循环:先执行语句块,再判断(至少执行1次)
    格式:do{循环语句块}while(条件判断)
    while与do/while的区别:
    【建议】在循环次数知道的情况下,使用for循环
    在循环次数不清楚的情况下,使用while循环
30、break和continue语句

break:直接终止本轮循环。即不在执行break后面的语句。直接跳出循环
continue:用于跳过本轮的该次循环,continue后面的语句依然执行
3、退出多重循环的方法:给最外层的for循环取别名,break后面+别名

31、判断用户输入的类型

根据输入的类型,可以使用对应的hasNext()方法来判断你输入的数据是否符合。

32、数组

数组就是可以存放多个同类型数据的容器。
数组里的元素是按顺序排列的。

数组创建

(1)数据类型[] 数组名称 = new 数据类型[数组长度]; 创建动态数组
(2)数据类型[] 数组名称 = {数据1,数据2,数据3…数据n}; 创建静态数组

访问数组元素

通过数组下标来访问数字元素或者操作数组元素,数组的下标从0开始
对于未赋值的数组元素具有初始值,int类型的数据默认值为0,String类型为null,float(double)类型为0.0,char类型为、\u0000,boolean类型为:false

4、获取数组的长度的方法为:数组名称.length

5、数组遍历,可以使用for循环遍历

6、数组异常:
(1)空指针异常
(2)数组未赋值
(3)数组越界
(4)注意:数组在创建之后,长度就是固定不变的。

1、冒泡排序方法:
外层循环次数:数组的长度-1;
内层循环次数:数组的长度-1-i (变量的初始值为0)

2、二分查找法:
(1)前提:数组数据是有序排列
(2)当要查找的数据在中间数据的左边时->maxIndex = centerIndex-1;
(3)当要查找的数据在中间数据的右边时->minIndex = centerIndex+1;

3、多维数组:
创建格式:数据类型[][] 数组名称 = new 数据类型[长度][];
访问格式 数据类型[外层数组元素下标][内层数组元素下标]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值