概念:Java关键字是事先定义好的对Java的 编译器 有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等, 关键字不能用作变量名、方法名、类名、包名和参数。
凡是可以由自己命名的地方都称为标识符.
例: 项目名 ,包名 ,类名 .方法名
2. 命名规范
① 不可 使用java关键字和保留字,但是可以包含关键字和保留字.
② 可以使用26个字母大小写,数字0-9,$和_.
③ 可以使用数字,但不可放在首位.
例:写一个ajax的项目实例,
项目名:ajaxtest 包名:com.liu.ajax 类名:AjaxDemo
1. 字符常量:凡是用单引号引起来的 单个字符 ,就做字符常量。例如:、‘b'、9’、‘中
2. 字符串常量:凡是用双引号引起来的部分,叫做字符串常量。例如:"abc"、"Hello”、“123"
3. 整数常量:直接写上的数字,没有小数点。例如:100、200、0、-250
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.对于float和long类型来说,字母后缀F 和 L不要丢掉。
3.没有进行赋值的变量,不能直接使用;一定要赋值之后,才能使用。
作用域 : 从定义变量的一行开始,一直到直接所属的大括号结束。
当效据类型不一样时,就会发生数据类型转换
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类型,不一样
//格式范围小的类型 范围小的变量名 =(范围小的类型) 原本范围大的数据 ;
1.强制类型转换一般不推荐使用,因为有 可能发生精度损失、数据溢出。
2.byte / short / char这三种类型都可以发生数学运算,例如加法“+”.
3.byte/short/char这三种类型在运算的时候,都会被首先 向上提升成为int类型 ,然后再计算。符合ASCII编码表。
例3: byte num4 = 40;//注意!右侧的数值大小不能超过左侧的类型范围 byte num5 = 50; //当byte + byte,会先向上提升称为int类型,所以结果就是--> int + int ,返回类型也应该是int int result1 = num4 + num5; System.out.println(result1);//90
表达式: 用运算符连起来的式子叫做表达式。例如:20+5 。 又例如:a+b
四则运算:加+ 减 - 乘 * 除 /
int x = 10; int y = 3; int resultl = x / y ; System.out.println(result1);//3 int result2 = x % y ; System.out.println(result2);//余数,模,1
1.对于数值来说,+ 就是加法。
2.对于字符char类型来说,在计算之前,char会被提升成为int,然后再计算。
char类型字符,和int类型数字,之间的对照关系表:ASCII、Unicode
3.对于字符串String来说,+ 代表字符串连接操作。 () 小括号的优先级最高
例3: String str = "Java"; //String + int --> String System.out.println(str2+20);//Java20
例如: 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 中常用的比较运算符如下表所示:
1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型
2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型
主要用于进行逻辑运算, 连接两个Boolean值,代表两个条件。
Java 中常用的逻辑运算符如下表所示:
我们可以从“投票选举”的角度理解逻辑运算符:
1、 与:要求所有人都投票同意,才能通过某议题
2、 或:只要求一个人投票同意就可以通过某议题
3、 非:某人原本投票同意,通过非运算符,可以使其投票无效
4、 异或:有且只能有一个人投票同意,才可以通过某议题
当使用逻辑运算符时,我们会遇到一种很有趣的 “短路” 现象 >> 如果根据左边已经可以判断得到最终结果,那么右边的代码将不再执行,从而节省一定的性能。
譬如:( 1 > 2 ) && ( 1 < 3 ) 中,如果能确定左边 1 > 2 运行结果为 false , 则系统就认为已经没有必要执行右侧的 1 < 3 啦。
条件运算符 ( ? : ) 也称为 “三元运算符”。
运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值
例如 :
因为,表达式 8>5 的值为 true ,所以,返回: 8大于5
一般情况下,定义一个方法的语法是:
访问修饰符 返回值类型 方法名(参数列表){
方法体
}
其中:
1、 访问修饰符:方法允许被访问的权限范围, 可以是 public 、protected、private 甚至可以省略 , 其中 public 表示该方法可以被其他任何代码调用
2、 返回值类型:方法返回值的类型, 如果方法不返回任何值,则返回值类型指定为 void ; 如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值
3、 方法名:定义的方法的名字,必须使用合法的标识符
4、 参数列表:传递给方法的参数列表, 参数可以有多个,多个参数间以逗号隔开, 每个参数由参数类型和参数名组成 ,以空格隔开
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
例如:下面代码定义了一个方法名为 show ,没有参数,且没有返回值的方法,执行的操作为输出 “ welcome to imooc. ”
注意 :
1、 方法体放在一对大括号中,实现特定的操作
2、 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名(); 来实现
例如:在下面的代码中,我们创建了一个名为 hello 的对象,然后通过调用该对象的 show( ) 方法输出信息
运行结果为: welcome to imooc.
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
例如:下面的代码,定义了一个方法名为 calSum ,无参数,但返回值为 int 类型的方法,执行的操作为计算两数之和,并返回结果
运行结果为: 两数之和为:17
有时方法的执行需要依赖于某些条件,换句话说,要想通过方法完成特定的功能,需要为其提供额外的信息才行。
例如,现实生活中电饭锅可以实现“煮饭”的功能,但前提是我们必须提供食材,如果我们什么都不提供,那就真是的“巧妇难为无米之炊”了。
我们先来看一个带参数,但没有返回值的方法:
上面的代码定义了一个 show 方法,带有一个参数 name ,实现输出欢迎消息。
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
例如:
运行结果为: 欢迎您,爱慕课!
一定不可忽视的问题:
2、 调用方法时,实参不需要指定数据类型,如
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法。
例如:
下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果
运行结果为: 欢迎您,爱慕课!