javaWord文档下载推荐.docx
《javaWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javaWord文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
4、main方法中定义的变量必须先赋值,然后才能输出
5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等
2-9.Java中的自动类型转换
在Java程序中,不同的基本数据类型的数据之间经常需要进行相互转换(自动转换)
自动类型转换是需要满足特定的条件的:
1.
目标类型能与源类型兼容,如double型兼容int型,但是char型不能兼容int型
2.
目标类型大于源类型,如double类型长度为8字节,int类型为4字节,因此double类型的变量里直接可以存放int类型的数据,反过来就不行。
2-10.Java中的强制类型转换(语法:
(数据类型)数值)
2-11.java常量的使用(语法:
final常量名=值;
)常量名一般使用大写字符
例:
finalStringSEX="
男"
;
2-12.如何在java中使用注释
一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的1/3以上。
因此,注释是程序源代码的重要组成部分。
Java中注释有三种类型:
单行注释、多行注释、文档注释
文档注释:
/**...*/多行注释:
/*...*/单行注释:
//
3-2.java中的算术运算符
Java中常用的算术运算符:
其中,++
--
既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴。
++在左边先自增再赋值,++在右边先赋值再自增。
3-3.java中的赋值运算符
Java支持的常用赋值运算符,如下表所示:
3-4.java中的比较运算符(比较运算符用于判断两个数据的大小,例如:
大于、等于、不等于。
比较的结果是一个布尔值(true或false)。
)
Java中常用的比较运算符如下表所示:
注意哦:
1、>
、<
、>
=、<
=只支持左右两边操作数是数值类型
2、==、!
=两边的操作数既可以是数值类型,也可以是引用类型
3-5.java中的逻辑运算符
逻辑运算符主要用于进行逻辑运算。
Java中常用的逻辑运算符如下表所示:
3-7.java中的条件运算符
条件运算符(?
:
)也称为“三元运算符”。
语法形式:
布尔表达式?
表达式1:
表达式2
运算过程:
如果布尔表达式的值为
true
,则返回
表达式1
的值,否则返回
表达式2
的值
3-8.java中的运算符的优先级
所谓优先级,就是在表达式中的运算顺序。
Java中常用的运算符的优先级如下表所示:
级别为1的优先级最高,级别
11的优先级最低。
4-1.java条件语句之if
4-2.Java条件语句之if...else(
当条件成立时,则执行if部分的代码块;
条件不成立时,则进入else部分。
4-3.Java条件语句之多重if(if(){}elseif(){}elseif(){}else{})
4-4.Java条件语句之嵌套if(嵌套if语句,只有当外层if的条件成立时,才会判断内层if的条件。
If(条件1){if(条件2){代码块1}else{代码块2}}else{代码块3};
4-6.java条件语句之switch(当需要对选项进行等值判断时,使用switch语句更加简洁明了)
执行过程:
当switch后表达式的值和case语句后的值相同时,从该位置开始向下执行,直到遇到
break语句或者switch语句块结束;
如果没有匹配的case语句则执行default块的代码。
1.switch后面小括号中表达式的值必须是整型或字符型
2.case后面的值可以是常量数值,如1、2;
也可以是一个常量表达式,如2+2;
但不能是变量或带有变量的表达式,如a*2
3.case匹配后,执行匹配块里的程序代码,如果没有遇见
break
会继续执行下一个的case块的内容,直到遇到
break语句或者switch语句块结束
4.可以把功能相同的case语句合并起来,如
5.default块可以出现在任意位置,也可以省略
4-7.java循环语句之while(Java常用的3种循环while、do...while、for)
while语法:
while(判断条件){循环操作};
(特点:
先判断,后执行)
<
1>
判断while后面的条件是否成立(true/false)
2>
当条件成立时,执行循环内的操作代码
,然后重复执行<
、<
,
直到循环条件不成立为止
4-8.java循环语句之do...while语法:
do{循环操作}while(判断条件);
1>
、先执行一遍循环操作,然后判断循环条件是否成立
2>
、如果条件成立,继续执行<
、<
,直到循环条件不成立为止
特点:
先执行,后判断
由此可见,do...while语句保证循环至少被执行一次!
4-9.java循环之for语法:
for(循环变量初始化;
循环条件;
循环码变量变化){循环操作}
、执行循环变量初始化部分,设置循环的初始状态,此部分在整个循环中只执行一次
、进行循环条件的判断,如果条件为true,则执行循环体内代码;
如果为false,则直接退出循环
3>
、执行循环变量变化部分,改变循环变量的值,以便进行下一次条件判断
4>
、依次重新执行<
3>
4>
,直到退出循环
相比while和do...while语句结构更加简洁易读
需要留心的几个小细节:
1for关键字后面括号中的三个表达式必须用“;
”隔开,三个表达式都可以省略,但“;
”不能省略。
a.省略“循环变量初始化”,可以在for语句之前由赋值语句进行变量初始化操作,如
b.省略“循环条件”,可能会造成循环将一直执行下去,也就是我们常说的“死循环”现象,如:
在编程过程中要避免“死循环”的出现,因此,对于上面的代码可以在循环体中使用break强制跳出循环(关于break的用法会在后面介绍)。
c.省略“循环变量变化”,可以在循环体中进行循环变量的变化,如:
2f.or循环变量初始化和循环变量变化部分,可以是使用“,”同时初始化或改变多个循环变量的值,如:
3.循环条件部分可以使用逻辑运算符组合的表达式,表示复杂判断条件,但一定注意运算的优先级
4-11.java循环跳转语句之break
例如,使用循环输出1--10的数值,其中,如果数值大于2,并且为3的倍数则停止输出。
实现代码:
4-12.java循环跳转语句之continue
continue
的作用是跳过循环体中剩余的语句执行下一次循环。
例如,打印
1--10之间所有的偶数,使用continue语句实现代码为:
4-14.Java循环语句之多重循环
如下所示:
6-1java数组:
int[]scores={78,84,43,99};
数组中的元素都可以通过下标来访问,下标从0开始。
例如,可以通过
scores[0]获取数组中的第一个元素78,scores[2]就可以取到第三个元素43啦!
Java中操作数组只需要四个步骤:
1、声明数组语法:
数据类型[
]数组名;
或者数据类型数组名[
];
其中,数组名可以是任意合法的变量名,如:
2、分配空间简单地说,就是指定数组中最多可存储多少个元素
语法:
数组名=new数据类型[数组长度];
其中,数组长度就是数组中能存放元素的个数,如:
话说,我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:
3、赋值分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向scores数组中存放学生成绩
4、处理数组中数据我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值
在Java中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如
它等价于:
6-5使用循环操作Java中的数组
实际开发中我们经常使用循环控制数组成员的操作。
其中,数组名.length用于获取数组的长度
1、数组下标从0开始。
因此scores[3],表示数组中的第4个元素,而并非第3个元素
2、数组下标的范围是0至数组长度-1
,如果越界访问,就会报错
6-7.使用Arrays类操作Java中的数组
Arrays中常用的方法:
1、排序语法:
Arrays.sort(数组名);
可以使用sort()方法实现对数组的排序,只要将数组名放在sort()方法的括号中,就可以完成对该数组的排序(按升序排列),如:
2、将数组转换为字符串语法:
Arrays.toString(数组名);
可以使用toString()方法将一个数组转换成字符串,该方法按顺序把多个数组元素连接在一起,多个元素之间使用逗号和空格隔开
6-8.使用foreach操作数组语法:
我们分别使用for和
foreach语句来遍历数组
6-9.Java中的二维数组
1.声明数组并分配空间
或者
2、赋值二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从0开始
也可以在声明数组的同时为其赋值
3、处理数组
二维数组的访问和输出同一维数组一样,只是多了一个下标而已。
在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。
需要了解的:
在定义二维数组时也可以只指定行的个数,然后再为每一行分别指定列的个数。
如果每行的列数不同,则创建的是不规则的二维数组
Int[][]num=newint[3][2];
定义一个三行两列的数组
7-1.如何定义Java中的方法一般情况下,定义一个方法的语法是:
访问修饰符返回值类型方法名(参数列表){方法体};
1、访问修饰符:
方法允许被访问的权限范围,可以是public、protected、private甚至可以省略
,其中public表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴
2、返回值类型:
方法返回值的类型,如果方法不返回任何值,则返回值类型指定为void;
如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用return语句返回值
3、方法名:
定义的方法的名字,必须使用合法的标识符
4、参数列表:
传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
根据方法是否带参、是否带返回值,可将方法分为四类:
无参无返回值方法;
无参带返回值方法;
带参无返回值方法;
带参带返回值方法
7-2.Java中无参无返回值方法的使用
如果方法不包含参数,且没有返回值,我们称为无参无返回值的方法。
方法的使用分两步:
第一步,定义方法例如:
下面代码定义了一个方法名为show,没有参数,且没有返回值的方法,执行的操作为输出“welcometoimooc.”
1.方法体放在一对大括号中,实现特定的操作
2.方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式
第二步,调用方法当需要调用方法执行某个操作时,可以先创建类的对象,然后通过对象名.方法名();
来实现
例如:
在下面的代码中,我们创建了一个名为hello的对象,然后通过调用该对象的show()
方法输出信息
例:
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
//创建对象,对象名为hello
HelloWorldhello=newHelloWorld();
//调用方法
hello.showMyLove();
}
//无参无返回值的方法
publicvoidshowMyLove(){
System.out.println("
我爱慕课网!
"
);
}}
7-3.Java中无参带返回值方法的使用
如果方法不包含参数,但有返回值,我们称为无参带返回值的方法。
下面的代码,定义了一个方法名为calSum,无参数,但返回值为int类型的方法,执行的操作为计算两数之和,并返回结果
在calSum()方法中,返回值类型为int类型,因此在方法体中必须使用return返回一个整数值。
调用带返回值的方法时需要注意,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。
1.如果方法的返回类型为void,则方法中不能使用return返回值!
2.方法的返回值最多只能有一个,不能返回多个值
3.方法返回值的类型必须兼容,如果返回值类型int,则不能返回String
7-5.Java中带参无返回值方法的使用
上面的代码定义了一个show方法,带有一个参数name,实现输出欢迎消息。
调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值
运行结果为:
欢迎您,爱慕课!
1.调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应
2..调用方法时,实参不需要指定数据类型,如
3.方法的参数可以是基本数据类型,如int、double等,也可以是引用数据类型,如String、数组等
4.当方法参数有多个时,多个参数间以逗号分隔
7-6.Java中带参带返回值方法的使用
下面的代码,定义了一个show方法,带有一个参数name,方法执行后返回一个String类型的结果
调用带参带返回值的方法:
(其中show为方法名)
7-8.Java中方法的重载
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,如下所示4个方法名称都为show,但方法的参数有所不同,因此都属于方法的重载:
当调用被重载的方法时,Java会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
1.必须是在同一个类中2.方法名相同
3.方法参数的个数、顺序或类型不同4.与方法的修饰符或返回值没有关系
1-3.java对象(适用对象的步骤)
1.创建对象:
类名对象名=new类名();
test.hello=newtest();
2.使用对象:
引用对象的属性:
对象名.属性hello.score=78;
引用对象的方法:
对象名.方法名();
hello.showtop3(scores);
1-7.Java中的static使用之静态变量
Java中被static修饰的成员称为静态成员或类成员。
它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。
静态成员可以使用类名直接访问,也可以使用对象名进行访问。
使用static可以修饰变量、方法和代码块。
例如,我们在类中定义了一个静态变量hobby,操作代码如下所示:
1-9.Java中的static使用之静态方法
main方法就是静态方法。
静态方法的使用如:
1、
静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。
如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
2.在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
3.静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法
1-10.Java中的static使用之静态初始化块
Java中可以通过初始化块进行数据赋值。
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。
由于静态初始化块只在类加载时执行一次,所以当再次创建对象hello2时并未执行静态初始化块。
2-4.java中的this关键字
1.this关键字代表当前对象
This.属性操作当前对象的属性;
this.方法调用当前对象的方法
2.封装对象的属性的时候,经常会用到this关键字。
2-5.什么是Java中的内部类
内部类(InnerClass)就是定义在另外一个类里面的类。
与之对应,包含内部类的类被称为外部类。
内部类的主要作用如下:
1.内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类
2.内部类的方法可以直接访问外部类的所有数据,包括私有的数据
3.内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便
内部类可分为以下几种:
成员内部类,静态内部类,方法内部类,匿名内部类
2-6.ava中的成员内部类
内部类中最常见的就是成员内部类,也称为普通内部类。
我们来看如下代码:
成员内部类的使用方法:
1.Inner类定义在Outer类的内部,相当于Outer类的一个成员变量的位置,Inner类可以使用任意访问控制符,如public、protected、private等
2.Inner类中定义的test()方法可以直接访问Outer类中的数据,而不受访问控制符的影响,如直接访问Outer类中的私有属性a
3.
定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去new一个内部类对象,即:
内部类对象名=外部类对象.new内部类();
4.编译上面的程序后,会发现产生了两个.class文件
1外部类是不能直接使用内部类的成员和方法滴
可先创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
2如果外部类和内部类具有相同的成员变量或方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,可以使用this关键字。
2-7.Java中的静态内部类