Java基础语法(总结篇)
关键字&标识符关键字的概念与特征概念:Java关键字是事先定义好的对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等,关键字不能用作变量名、方法名、类名、包名和参数。 特征:
标识符的概念与规则
凡是可以由自己命名的地方都称为标识符. 例: 项目名,包名,类名 .方法名 ? ? ? ? 2.???命名规范 ①??? 不可使用java关键字和保留字,但是可以包含关键字和保留字. ②??? 可以使用26个字母大小写,数字0-9,$和_. ③??? 可以使用数字,但不可放在首位. ④??? 长度理论上没有限制,但命名最好能反映出其作用,遵循”驼峰形式”,见命知意 ⑤? ? 包名全部小写,类名全部大驼峰式 ⑥? ??变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写 ? ? ? ? ? ? ? ⑦ 常量(特指被 final 修饰的常量)名全部大写,如果是单个字母,需要大写,如果是多个单词,需要用下划线分开。并且都大写 例:写一个ajax的项目实例, 项目名:ajaxtest? ? ? ? 包名:com.liu.ajax? ? ? ?类名:AjaxDemo 常量&变量常量的概念:在程序运行期间。固定不变的量。常量的分类: 1. 字符常量:凡是用单引号引起来的单个字符,就做字符常量。例如:、‘b‘、9’、‘中 4. 浮点数常量:直接写上的数字,有小数点。例如:2.5、-3.14、0.0? 5. 布尔常量:只有两种取值 true? |? false 基本数据类型:? ? ? ? ? ? ?类型? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?字节数?? ? ? ? ? ? ? ? ? ? ??二进制位数 ? ? ? ? ? ? byte (字节型)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8 ? ? ? ? ? ? short(短整型)? ? ? ? ? ? ? ? ? ? ? ? ?char? ? (字符型)? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 16 ? ? ? ? ? ??int?? ?(整型)? ? ? ? ? ? ? ? ? ? ? ? ? ? float? ? (单精度浮点数)? ? ? ? ? ? ? ? ? ?4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 32 ? ? ? ? ???long? (长整型)? ? ? ? ? ? ? ? ? ? ? ? double(双精度浮点数)? ? ? ? ? ? ? ? ? ?8????????????????????????????????? ?64
? ?变量:?程序运行期间,内容可以改变的量。创建一个变量并且使用的格式: ? ? 数据类型? 变量名称;?//创建了一个变量 ? 变量名称 = 数据值;? //赋值,将右边的数据值,赋值交给左边的变量 一步到位的格式:
? 作用域 : 从定义变量的一行开始,一直到直接所属的大括号结束。? ? 数据类型转换当效据类型不一样时,就会发生数据类型转换 自动类型转换(隐式)1.特点:代码不需要进行特殊处理,自动完成 2.规则:数据范围从小到大 long num1 = 100; System.out.println(num1)
? ?// 左边是long类型,右边是默认的int类型,左右不一样 ?// int-->long,符合了数据范围从小到大的要求 ? 强制类型转换(显式)? 1.特点:代码需要进行特殊的格式处理,不能自动完成 2.格式:范围小的类型范围小的变量名=(范围小的类型)原本范围大的数据 ? int num=(int)100L; System.out.print1n(num);
? ?//左边是int类型,右边是long类型,不一样 ?//格式范围小的类型? 范围小的变量名 =(范围小的类型) 原本范围大的数据 ;
例3: byte num4 = 40;//注意!右侧的数值大小不能超过左侧的类型范围
byte num5 = 50; //当byte + byte,会先向上提升称为int类型,所以结果就是--> int + int ,返回类型也应该是int
? ?运算符 :进行特定操作的符号。例如:+?表达式:用运算符连起来的式子叫做表达式。例如:20+5 。? ?又例如:a+b ?四则运算:加+? ? ? 减 -? ? ? 乘 *? ? ? 除? / ? ??取模(取余数):%?只有对于整数的除法来说,取模运算符才有余数的意义。 ? int x = 10;
? ?算术运算符? ? ? ? ?四则运算当中的加号“+”有常见的三种用法:1.对于数值来说,+ 就是加法。 2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。 3.对于字符串String来说,+ 代表字符串连接操作。? ?() 小括号的优先级最高 例3:
? ? 自增运算符:++
例如:?? a++;? ?先使用a值,再执行a = a + 1 ;?
int a = 1; int b = 2; b = a++; //在这一步,a的值还没有改变,所以是将a=1的值赋给了b,然后再进行改变。 System.out.println("a:"+a); //a:2 System.out.println("b:"+b); //b:1
? 自减运算符:- -
例如:?? ++a; 先执行a = a + 1 ; 再使用a值。
int a = 1; int b = 2; b = --a; System.out.println("a:"+a); System.out.println("b:"+b);
?
?赋值运算符赋值运算符是指为变量或常量指定数值的符号。如可以使用?“=” 将右边的表达式结果赋给左边的操作数。 Java 支持的常用赋值运算符,如下表所示: ? ? ?比较运算符比较运算符用于判断两个数据的大小,例如:大于、等于、不等于。比较的结果是一个布尔值( true 或 false )。 Java 中常用的比较运算符如下表所示:
?逻辑运算符主要用于进行逻辑运算,连接两个Boolean值,代表两个条件。 Java 中常用的逻辑运算符如下表所示: 我们可以从“投票选举”的角度理解逻辑运算符: 1、?与:要求所有人都投票同意,才能通过某议题 2、?或:只要求一个人投票同意就可以通过某议题 3、?非:某人原本投票同意,通过非运算符,可以使其投票无效 4、?异或:有且只能有一个人投票同意,才可以通过某议题 ? 当使用逻辑运算符时,我们会遇到一种很有趣的?“短路”?现象? ? >> 如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。 譬如:( 1 > 2?) && ( 1 < 3 )?中,如果能确定左边 1 > 2?运行结果为 false,则系统就认为已经没有必要执行右侧的 1 < 3 啦。 ? 条件运算符条件运算符( ? :?)也称为 “三元运算符”。
? 语法形式:布尔表达式 ? 表达式1 :表达式2运算过程:如果布尔表达式的值为?true?,则返回?表达式1?的值,否则返回?表达式2?的值 例如 : ? ? ?因为,表达式 8>5 的值为 true ,所以,返回:?8大于5 ? 方法????所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。一般情况下,定义一个方法的语法是:?? 访问修饰符? 返回值类型? 方法名(参数列表){ 方法体 } 其中: 1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略?,其中 public 表示该方法可以被其他任何代码调用 2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void ;?如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值 3、 方法名:定义的方法的名字,必须使用合法的标识符 4、 参数列表:传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开? ? 根据方法是否带参、是否带返回值,可将方法分为四类:? ? 无参无返回值方法如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。 方法的使用分两步: 第一步,定义方法 例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
? 第二步,调用方法 当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 ?对象名.方法名();??来实现 例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( )?方法输出信息 ? ? 运行结果为:??welcome to imooc. ? ? 无参带返回值方法如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。 例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果
? 在 calSum( ) 方法中,返回值类型为 int 类型,因此在方法体中必须使用 return 返回一个整数值 调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。如下:第6行 ? ?运行结果为:?两数之和为:17 ? 不容忽视的“小陷阱”:1、 如果方法的返回类型为 void ,则方法中不能使用 return 返回值!
2、 方法的返回值最多只能有一个,不能返回多个值
3、 方法返回值的类型必须兼容,例如,如果返回值类型为 int ,则不能返回 String 型值
? ?带参无返回值方法有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。 例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。 我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。 ? 我们先来看一个带参数,但没有返回值的方法:
? 上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。 ? ? 调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值 ? ?例如: ?? ? 运行结果为:?欢迎您,爱慕课! ? 很多时候,我们把定义方法时的参数称为形参,目的是用来定义方法 需要传入参数的个数和类型;把调用方法时的参数称为实参,是传递给方法真正被处理的值。 ? ? 一定不可忽视的问题: ? 1、 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应 ? ?? ? 2、 调用方法时,实参不需要指定数据类型,如? ? ? 3、 方法的参数可以是基本数据类型,如 int、double 等,也可以是引用数据类型,如 String、数组等? ? ? ? ? ? ? ? ? ??第10行,Array.toString()方法将数组转换为字符串输出 ? ?4、 当方法参数有多个时,多个参数间以逗号分隔 ? 带参带返回值方法? 如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。 ? 例如: 下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果 ?? 调用带参带返回值的方法: ?? ? 运行结果为:?欢迎您,爱慕课! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |