首页 > 代码库 > 第4篇-JAVA基础
第4篇-JAVA基础
第4篇-JAVA基础
每篇一句 :世界上本没有完美,但是我们从未放弃追求完美
初学心得: 乐于挥霍的时间,都不能算作浪费
(笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-01| JAVA基础 Ⅳ]
程序运行流程
(1) 顺序结构
(2) 分支结构
(3) 循环结构
(4) break 与 continue关键字
(5) 数组
(6) 方法
1.顺序结构
如果代码里没有流程控制,程序是至上而下一行一行执行的
一条语句执行完之后继续执行下一条语句,直到程序的最后
2.分支结构
顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构
JAVA有两种分支结构:● if 语句 ● switch 语句
(1):if 语句,一个 if 语句包含一个布尔表达式和一条或多条语句
if语句三种格式:1.语句格式一:if(条件表达式){ 2. 执行语句; 3. } 4.语句格式二:if(条件表达式){ 5. 执行语句; 6. }else{ 7. 执行语句; 8. } 9.语句格式三:if(条件表达式){ 10. 执行语句; 11. }else if (条件表达式){ 12. 执行语句; 13. } 14. …… 15. else 16. { 17. 执行语句; 18. }
if 语句的用语法如下: 如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码
1. if(布尔表达式) { 2.//如果布尔表达式为true将执行的语句 3. }if语句代码
1. /** 2. *if语句代码 3. **/ 4. //定义一个Demo类 5.public class Demo { 6.//定义主方法 7. public static void main(String args[]){ 8. int a = 10; //定义一个变量 9. if( a < 100 ){ 10. System.out.print("这是 if 语句"); //输出语句 11. } 12. } 13.}if…else语句:if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行
if…else 的用法:1. if(布尔表达式){ 2. //如果布尔表达式的值为true 3.}else{ 4. //如果布尔表达式的值为false 5. }if else语句代码如下:
1./** 2.*if else语句代码 3.*// 4.//定义一个Demo2类 5.public class Demo2 { 6.//定义一个主方法 7. public static void main(String args[]){ 8. int b = 30; //声明一个变量并赋值 9. if( b < 20 ){ 10. System.out.print("这是 if 语句"); 11. }else{ 12. System.out.print("这是 else 语句"); 13. } 14. } 15.}
(2):switch 语句
switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
case只是用来为switch选择一个执行代码的入口,如果一旦进入一个入口之后,后面的case实际上已经失去了判断的意义,
JAVA在执行的时候就会把这个case之后的case相当于删除了,所以就会一直往下执行,直到遇到break
所以读者可以发现, 每一个case后面没有{}这个符号来表示一个代码块
switch语句选择的类型只有四种:byte、short、int 、char (java5版本之前)还支持 enum(jdk5), String(jdk7)
case之间与default没有顺序,先执行第一个case,都没有匹配的case值执行default。
结束switch语句的两种情况:遇到break,switch语句执行结束
如果匹配的case或者default没有对应的break,那么程序会从第一次匹配的case语句开始继续向下执行
运行可以执行的语句,直到遇到break或者switch结束为止
switch语法格式:
1.switch(表达式){ 2. case 表达式可能的结果值1: 3. 执行语句; 4. break; 5. case 表达式可能的结果值2: 6. 执行语句; 7. break; 8. ... 9. default: 10. 执行语句; 11. break; 12.}
switch语句代码如下:
1./** 2.*switch代码 3.**/ 4.//定义一个Demo3类 5.public class Demo3 { 6.//定义一个主方法 7. public static void main(String args[]){ 8. char grade = ‘C‘; 9. //switch语句 10. switch(grades){ 11. case ‘A‘ : 12. System.out.println("优秀"); 13. break; 14. case ‘B‘ : 15. System.out.println("良好"); 16. break; 17. case ‘C‘ : 18. System.out.println("及格"); 19. case ‘D‘ : 20. System.out.println("你还需要努力学习"); 21. break; 22. default : 23. System.out.println("未知等级"); 24. } 25. System.out.println("你的等级是 " + grade); //输出语句 26. } 27.}
3.循环结构
JAVA中有三种主要的循环结构:● while 循环 ● do…while 循环 ● for 循环
用于处理需要重复执行的操作,根据判断条件的成立与否,决定程序段落的执行次数,而这个程序段落称为循环体(1):while 循环,只要布尔表达式为 true,循环体会一直执行下去,while是最基本的循环,它的结构为:
1.while( 布尔表达式 ) { 2. //循环内容 3.}while循环代码如下:
1./** 2.*while循环 3.**/ 4.//定义一个Demo4类 5.public class Demo4 { 6.//定义一个主方法 7. public static void main(String args[]) { 8. int c = 5; //定义一个变量 9. // while循环体 10. while( c < 10 ) { 11. System.out.print("c的值为:" + c ); //输出c的值 12. x++; //计数器 13. System.out.print("\n"); // 输出换行 14. } 15. } 16.}(2):do…while 循环:do…while 循环和 while 循环相似,不同的是 do…while 循环至少会执行一次
do…while 循环结构:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了
如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false1.do { 2. //代码语句 3.}while(布尔表达式);do…while 循环代码
1./** 2.*do…while 循环代码 3.**/ 4.//定义一个Demo5类 5.public class Demo5 { 6.//定义一个主方法 7.public static void main(String args[]){ 8. int d = 10; //定义一个变量 9. //do…while 循环体 10. do{ 11. System.out.print("d的值为: " + d ); //输出d的值 12. d++; //计数器 13. System.out.print("\n"); 14. }while( d < 20 ); 15. } 16.}(3).for循环:1, for循环里面的3个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体
然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
2, while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就在内存中释放,而while循环使用的变量在循环结束后还可以继续使用。
3, 最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环for循环执行的次数是在执行前就确定的,语法格式如下:
1.for(初始化表达式(1);循环条件表达式(2);循环后的操作表达式(3)){ 2. 执行语句;(4) 3.} 4.for循环执行顺序:(1) → (2) → (4) → (3) → (2) → (4) → (3)for循环代码
1./** 2.*for循环代码 3.*// 4.//定义一个Demo6类 5.public class Demo6 { 6.//定义一个主方法 7. public static void main(String args[]) { 8. //for循环体 9. for(int e = 10; e < 20; e++) { 10. System.out.print("e的值为 : " + e);//输出e的值 11. System.out.print("\n"); //输出换行 12. } 13. } 14.}4.break 与 continue关键字
break语句;break:终止该层循环
continue语句;continue:跳过该层循环
①:若这两个语句离开应用范围,存在是没有意义的。
②:这个两个语句后面都能有语句,因为执行不到。
③:continue语句是跳过本次循环,继续下次循环。
④:标签的出现,可以让这两个语句作用于指定的循环break 关键字:break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块
break 跳出最里层的循环,并且继续执行该循环下面的语句
break 的用法很简单,就是循环结构中的一条语句:break;continue 关键字:continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代
在 for 循环中,continue 语句使程序立即跳转到更新语句
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句
continue 就是循环体中一条简单的语句:continue;
5.数组
笔者将讲解JAVA数组的声明、创建和初始化,并给出其对应的代码
数组概念:一组能够储存相同数据类型值得变量的集合
数组的好处:数组里的每个元素都有编号,编号从0开始;依次递增,方便操作这些元素
使用Java数组:必须先声明数组,再给该数组分配内存, JAVA语言中提供数组是用来存储固定大小的同类型元素声明一维数组
一维数组:可以理解为一列多行、类型相同的数据,其中每个数据被称为数组元素
一维数组的声明方式:1.1.int x[];(不推荐使用) 2.2.int [] x = new int[3]; 3.3.int x = new int[]{3,5.7}; 4.4.int[] x; (推荐使用) 5.5.int[] x={3,5,7}; 6.6.int a[5]; 非法数组,java语言声明数组的时候不能指定其长度(元素的个数)一维数组的初始化:
JAVA中的数组必先初始化才可以使用,所谓初始化就是为数组的数组元素分配内存,并为每个数组元素赋值
数组初始化的两种方式:
1.静态初始化:初始化时由我们自己指定每个数组元素的初始值,由系统决定需要的数组长度;
格式:数组名 = new 数组类型[]{元素1,元素2,元素3…元素n}; 简化语法:数组名 = {元素1,元素2,元素3…元素n};
2.动态初始化:初始化时由我们指定数组的长度,由系统为数组元素分配初始值;
格式:数组名 = new 数组类型[数组长度];声明二维数组:
二维数组:(其实是一个一维数组,它的每一个元素又是一个一维数组),可以看做是一张表格
在数组中再存放数组,外层数组看做是行,内层数组看做列;动态初始化,静态初始化
初始化二维数组声明方式:1.//动态初始化,定义了一个二维数组,其中有3个一维数组,每一个一维数组中有2个元素 2.int[][] a = new int[3][2]; 3.//静态初始化 4.int[][] a = new int[][]{{1,2},{3,4},{5,6}}; 5.int[][] a = {{1,2},{3,4},{5,6}};使用 二维数组:
1.int[] [] arr = {{3,1,5},{2,6},{8}};元素值5的表示方式为:arr[0][2] = 5;
第二个一维数组的长度表示方式:int len = arr[1].length;
对二维数组的遍历使用for的嵌套循环。
对于其他多维数组,几维就用几层for嵌套,但通常情况数组最多用到三维,因为效率已经大大降低了使用数组常见操作:
JAVA语言的数组索引是从0开始的,也就是说数组里的第一个元素的索引是0,第二个元素的索引是1
1.给数组元素赋值
2.数组名[索引] = 数组类型的值 ;
3.访问数组元素
4.数组类型 变量 = 数组名[索引];
5.得到数组的长度
6.int len = 数组名.length; //length是数组的属性
7.遍历数组数组操作常见问题
1.(ArrayIndexOutOfBoundsException)表示数组脚标越界异常 2.(NullPointerException)表示空引用异常
6.方法
笔者将讲解:方法含义和定义格式,方法重载
什么是方法?一段可重复使用的代码段;程序中完成独立功能的一段代码的集合
方法的优点 :● 1. 使程序变得更简短而清晰 ● 2. 有利于程序维护
● 3. 可以提高程序开发的效率 ● 4. 提高了代码的重用性
JAVA中定义方法的格式为:1.[修饰符] 返回值类型 方法名([参数类型 形式参数1,参数类型 形式参数2,……]){ 2. 执行语句; [return 返回值;] 3.} 4.参数列表(参数的类型 ,参数的个数,参数的顺序)方法内容介绍:
形式参数:在方法被调用时用于接收外界输入的数据
实参:调用方法时实际传给方法的数据
返回值:方法在执行完毕后返还给调用它的环境的数据
返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回类型 void
方法签名:方法名 和 方法的参数列表(能区别方法)
java语言中调用方法:对象名.方法名(实参列表)
实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配
return 语句终止方法的运行并指定要返回的数据方法的重载(Overload)
什么是方法的重载?:
在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可
方法重载的特点:与返回值类型无关,只看参数列表
记住方法重载方式的小技巧:两同,一不同
同一个类中方法名相同;参数列表不同:(参数个数,参数的类型,参数顺序)编程的命名规则:
1.必须以字母、’_’或’$’开头
2.可以包括数字,但不能以它开头
3.方法名不能使用关键字和保留字
4.单词的首字母大写,采用驼峰式;由有实际意义的名词或名词短语构成
5.方法名规范:第一个单词的首字母小写,采用驼峰式
初学基础Ⅲ难点: ★★★★★
希望每一篇文章都能够对读者们提供帮助与提升,这乃是每一位笔者的初衷
感谢您的阅读 欢迎您的留言与建议
新浪官方微博: @中國熱點影視傳媒
Github博客: https://github.com/jeep711/jeep711.github.io
Blog Garden:http://www.cnblogs.com/JEEP711/
W3C/Blog:http://www.w3cschool.cn/jeep711blog/
CSDN/Blog:http://blog.csdn.net/jeep911
51CTO/Blog:http://jeep711.blog.51cto.com/
码云:http://git.oschina.net/JEEP711/jeep711.github.io
邮箱: jeep711@qq.com,JEEP-711@outlook.com
本文出自 “JEEP711” 博客,转载请与作者联系!
第4篇-JAVA基础