java基础专题-从零开始学习基础语法

    xiaoxiao2022-07-04  109

     

    一、标识符

    java对各种变量、方法和类等要素命名时使用的字符序列成为标识符;通俗点,凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则

     

    1.标识符命名规则:

    1)标识符由字符、下划线、美元符或数字组成。

    2)标识符应以字符、下划线、美元符开头

    3)java标识符大小写敏感,长度无限制

    4)约定俗成,java标识符选取应该注意“见名知意”且不能与java语言的关键字(eclipes中带颜色的基本都是关键字)重名

     

    二、关键字

    java中一些赋以特定含义,用作专门用途的关键的字符串成为关键字(keyword);且大多数编辑器都会将关键字用特殊方式标出 所有java关键字都是小写英文

    一些常用关键字:

    三、java的基本数据类型

     

    1.java常量

    java的常量值用字符串表示,区分为不同的数据类型。 如: 整型常量:1234 实型常量:3.14 字符常量:’a’ 逻辑常量:true、false 字符串常量:”HelloWorld”

    注意:

    1)区分字符常量和字符串常量

    字符常量是单引号引起来的单个,字符串常量是双引号引起来的不限长度

    由于java采用Unicode编码,每个字符占两个字节,因而可用天十六进制编码形式表示,当然也可以用一个中文表示(单个中文占用两个字节)

    2)”常量”这个名次还会用在另外其他语境中表示值不可变的变量

     

    2.java变量

    java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 java程序中每一个变量都属于特定的数据类型,在使用前必需对其进行声明,声明格式为: type varName [=value] 例如: int i =100; foloat f=12.3f; double d1,d2,d3=0.123;(声明了三个变量,其中d1,d2是默认值,d3=0.123) String s=”hello”

    从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必需先声明,然后必需进行赋值,才能使用。

     

    1)java变量分类

    按被声明的位置划分:

    局部变量:方法或语句块内部定义的变量,只能在被定义的方法或语句块内使用

    成员变量:方法外部、类的内部定义的变量,可以在整个类中使用,包括类里的方法或语句块内也可以使用

    注意:类外面是不能有变量的声明的

    按所属的数据类型划分:

    基本数据类型变量

    引用数据类型变量

     

    四、运算符

    java语言支持如下运算符:

    算术运算符:+ - * / % ++ --

    关系运算符:> < >= <= == !=

    逻辑运算符:! & | ^ && ||

    位运算符:& | ^ ~ >> << >>>

    赋值运算符:=

    拓展赋值运算符:+ = -= *= /=

    字符串链接运算符:+

    三目条件运算符 ? :

     

     

    1.算数运算符

    注意:

    1)

    位运算符中的!、&、|、^跟罗技运算符相同,只是位运算符是对变量的二进制进行操作,我个人是用不到的,所以不在这里多做介绍

    2)

    ++(—)

    在前时先运算再取值

    在后时先取值再运算

    2.逻辑运算符

    例如:

     

    3.扩展赋值运算符

     

    4.字符串连接符

    “ + ”运算符两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串然后进行连接,例如:

    4 + 5 = 9

    4 + “ab” = “4ab”

     

    5.三目条件运算符

    语法格式: x ? y : z 其中x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值。

     

    五、表达式和语句

     

    1.表达式

    表达式是符合一定语法规则的运算符和操作数的序列,例如: a 5.0 + a (a – b) * c – 4 i < 30 && i  !=0

     

    1)表达式的类型和值

    表达式中的操作数进行运算得到的结果称为表达式的值

    表达式值的数据类型即为表达式的类型

     

    2)表达式的运算顺序

    应按照运算符的优先级从高到低的顺序进行

    优先级相同的运算符按照实现约定的结合方式进行

    我个人觉得运算顺序这块是可以忽略的,首先我的逻辑思维能力不是特别强,另外我的记性也不是特别好,所以如果我需要在表达式中区分优先级的话我会选择加括号。但是我觉得对于一些比较复杂且关键的逻辑运算,如果个人逻辑运算能力加记忆都比较好可以保证不出错的话,善用罗技运算符优先级未尝不是一种不让别人看懂你代码copy的手段。算是一种小小的防护吧,反正我这种人是不会去尝试分析这种代码的,太累

     

    2.分支(条件)语句

    if if … else if … else if … else if if … else if … else if …else

    switch () { case xx: …………… case xx: …………… default: …………… }

    1.java中switch语句只能探测int类型的值(char类型的值也可以,因为他可以转换城int类型)

    2.小心case穿透,所以最好与break连用

    3.多个case可以连用,如下的示例代码也可以这样写(当i=1,2,18都会输出18):

     

    3.循环语句

    for(…;…;…){……} while(…){……}先判断再执行大括号里面的内容,然后再判断是否要继续执行 do{……} whille(…); 先执行大括号里面的内容再判断是否要继续执行

     

     

    4.break & continue语句

    break语句用于终止某个语句块的执行。用在循环体语句中么可以强行退出循环 continue语句用在循环体语句中,用于终止某次循环过程,跳过循环中continue语句下面未执行的循环,开始下一次循环过程

     

    八、方法

    java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式: [修饰符1 修饰符2 …] 返回值类型 方法名 (形式参数列表) { java语句 }

    形式参数:在方法被调用时用于接受外界输入的数据

    实参:调用方法时实际纯给方法的数据

    返回值:方法在执行完毕后返回给调用他的环境的数据

    返回值类型:实现约定的返回值的数据类型,如无返回值,必需给出返回值类型void

    java语言中调用方法:对象名.方法名(实参列表)

    实参的数目、数据类型和次序必需和所调用方法声明的形参列表匹配

    return语句终止方法的运行并指定要返回的数据

    java中进行函数调用传递参数时,遵循值传递的原则:

    基本类型传递的是该数据值本身,引用累心美国传递的是对对象的引用,而不是对象本身

    例子中的方法1,前面定义的数据类型为void, 所以方法中不能有return返回值,方法4中因为有return返回值,所以前面必需定义为返回值的类型,也就是m4前面那个int

     

    九、递归调用

    递归调用是指在方法执行过程中出现该方法本身的调用

    先看一个例子,这是一个简单的递归调用:

    简单分析下:

    1.首先main主方法中输出字符串,内容是test方法当参数等于5的时候的返回值

    2.然后将参数5传入test方法,返回值是:5 * test(4)

    3.再次将参数4传入test方法中,返回值是:4 * test(3)

    4.再将参数3传入test方法中,返回值是:3 * test(2)

    5.再讲参数2传入test方法中:返回值是:2 * test(1)

    6.再将参数1传入到方法中:返回值是:1

    然后程序开始往回走,返回值传入test(1)中得到2*1

    再往回走,将刚刚得到的2*1传入到test(2)中得到3*2*1

    还要往回走,将刚刚得到的3*2*1传入到test(3)中得到4*3*2*1

    还要往回走,将刚刚得到的4*3*2*1传入到test(4)中也就是test(5)的返回值,得到5*4*3*2*1

    最后将test5的返回值传入到我们的主方法输出于语句中5*4*3*2*1=120,那么我们的输出语句输出的应该为120

    这就是简单的递归调用的例子了

    再来看一个例子:

    非递归的写法:

    请自行领悟

    最后奉上java基础语法完整学习路线图,除此之外还有精心整理的其他java学习路线图,学习书籍电子书,阿里巴巴手册,视频教程等即可点此领取:

     

    《Java基础、入门、精通、架构师全套资源》

     

     

    最新回复(0)