Java基础(流程控制语句、方法、数组)
来源:互联网 发布:电力系统短路计算软件 编辑:程序博客网 时间:2024/04/27 23:21
<1>流程控制语句:
条件语句( if
和switch
):
if
和三元运算符的区别: 三元运算符作为运算符必须有一个结果;三元运算符可以实现的,if
都可以实现,反之不成立。
switch(变量) { case:要执行的语句; break;…default:要执行的语句; }
注意事项:switch
变量数据类型可以是 char byte short int
或引用数据类型,不能为long
. case
后面必须是常量且不能相同;最后一个break
可以省略; default
也可以写在case
前面,这样程序会从default
开始执行,直到遇到第一个break
. **switch
结束运行只有两种情况:遇到break
或右大括号;
if
和 switch
使用区别:if
一般用于某个区间值;switch
用于固定值.
循环语句(for
循环和while
循环):
for
循环: 执行完毕后,里面的变量会释放,不能再继续使用;变量提早从内存释放,可以提高内存使用效率;for
循环中判断条件语句结果必然是Boolean
类型; while
循环: 执行完毕后,初始化变量还可以继续使用; do while
循环相对于while
循环,它会至少执行一次;
注意事项: if ,while, for
循环有时条件不满足,不会执行,这时需要记得有return语句.
break, continue, return
区别: break:
只用于switch
或循环中,用于跳出循环语句; continue:
只用于循环内部终止本次循环,继续执行下次循环; return:
用于结束方法;
控制跳转语句标号:用于多层循环,可以跳出指定循环;
标号: 标记某个循环对其控制,标号组成规则为合法的标识符;
Ps:
下面break
可以跳出外部for
循环
public static void main(String[] args) { outer: for (int i = 0; i <= 10; i++ ) { System.out.println("i = " + i); inner: for (int j = 0; j <= 10; j++ ) { System.out.println("j = " + j); break outer; //跳出外部for循环 } } }}
<2>方法:
定义在类中具有特殊功能的一段小程序.定义方法可以将功能代码进行封装,以提高代码的复用性;方法注意事项:方法不能嵌套;方法调用后才可以执行;方法调用时,不用传递数据类型;方法如果有明确返回值,要使用return
语句,若没有,需要有关键字void;
主方法作用:保证该类的独立运行,作为程序的入口,被jvm
调用。
方法重载(overload):
同一个类中,方法名相同,参数列表不同,与返回值类型无关;重载分类:参数个数不同,参数类型不同,参数顺序不同;
<3>数组:
存储同一种类型数据的容器;
数组初始化:
数据类型[]
数组名 = new
数据类型[数组元素个数]
数据类型[]
数组名 = new
数据类型[]{数组各元素}
数据类型[]
数组名 =
{数组各元素}
数组中默认初始化值:
byte short int long : 0;
float double :0.0;
char : '\u0000'
如果创建一个int
数组,System .out.println(arr);
输出[I@15db9742.
其中: [
代表数组,I
代表int
类型,@
为固定约定,15db9742
为16
进制地址值;
数组异常机制:
ArrayIndexOutOfBoundsException:
数组索引越界异常;
NullPointerException:
空指针异常;
Test1:
数组反转
public static void reverseArray(int[] arr) { int temp; for (int i = 0; i < arr.length / 2; i++ ) { temp = arr[arr.length - 1 - i]; arr[arr.length - 1 - i] = arr[i]; arr[i] = temp; } }
Test2:
二维数组求和
public static int getSum(int[][] arr) { int sum = 0; for ( int i = 0; i <arr.length; i++ ) { for (int j = 0; j <arr[i].length; j++ ) { sum += arr[i][j]; } } return sum; }
**All I want to do in my hole life is to make the web a better place. Cheer up.**
- Java基础(流程控制语句、方法、数组)
- 黑马程序员-Java基础【2】(流程控制语句,方法,数组)
- 黑马程序员-Java语法基础【2】(流程控制语句,方法,数组)
- Java基础:流程控制语句
- Java基础----控制流程语句
- java 流程控制 方法数组
- Java基础_流程控制语句
- 黑马程序员 Java基础(流程控制语句)
- java基础——流程控制语句
- Java基础3--流程控制语句--imooc
- JAVA基础(四)------流程控制语句
- Java语言基础-6.流程控制语句
- Java基础三:流程控制语句
- Java基础(五)流程控制语句
- Java 基础 4 流程控制语句
- java基础(二)----流程控制语句跳转控制语句
- 黑马程序员 JAVA初级-编程基础2 流程控制语句 函数 数组
- Java基础之控制流程及数组
- 机器学习历史简介
- Codeforces Round #401 (Div. 2):E. Hanoi Factory
- Android 之低版本高版本实现沉浸式状态栏
- 73. Set Matrix Zeroes
- 利用VPS配合Shadowsocks 科学上网
- Java基础(流程控制语句、方法、数组)
- 【HDU-OJ】-6016-Count the Sheep(二分图,vector)
- use vue vuex vue-router, not use webpack
- 51nod 贪心入门之四 独木舟问题
- JAVA 加密技术
- [Azure]使用Powershell输出某台ARM虚拟机的NSG
- Adaboost+Haar
- Android开发五大布局
- 文章标题 HDU-3067 小t的游戏