本节归纳了语言基础的第二部分:流程语句控制语句 / 数组 / 字符串 / 方法三要素
1. 选择控制语句
if语句:if 、if-else、if-else-if
格式:if(判断) {…} 、if(判断){…}else{…}、if(判断){…}else{…}if(判断){…}
if(sum==5) {
System.out.println("这个数等于5");
}else if(sum>5) {
System.out.println("这个数大于5");
} else {
System.out.println("这个数小于5");
}
switch语句:switch(必须整数类型){case 常量1: …; case 常量2: …; case 常量3: …; …. }
switch(x){
case 1: System.out.println("我去上班") ; break ;
case 2: System.out.println("我去吃饭") ; break ;
default: System.out.println("我去看电影") ; break ;
}
注意:
- switch表示开关,case表示情况,default表示默认,break表示停止,它们都是JAVA的关键字。
- case无符合的数,将执行default。
- 若无break,则是执行。
2. 循环控制语句
for语句:最常用,且可以解决任何循环问题。
格式:for(表达式1;表达式2;表达式3) {….}
//循环打印10次*
for(int i=1;i<=10;i++) {
System.out.println("*") ;
}
注意:for循环中循环变量,只在for中有效。
while语句:很常用
格式:while (表达式) { ….. }
//循环打印10次*
int i=1;
while(i<=10) {
System.out.println("*") ;
i++ ;
}
do-while语句:
格式:do { …}while(条件表达式);
//循环打印10次*
int i=1;
do{
System.out.println("*") ;
i++
}while(i>10) ;
注意:while后面一定别忘了;
foreach语句:
格式:for(类型 变量名:集合){ … }
String[] fruits = {"香蕉","苹果","橘子","西瓜","其它"};
System.out.println("热销的水果有:");
for(String fruit:fruits){
System.out.println(fruit+" ");
}
注意:
foreach并不是一个关键字,只是习惯上将这种特殊的for语句称为foreach语句。
foreach语句在遍历数组、集合方面,为开发者提供了极大地方便。
跳转控制语句:
break语句:退出所以循环。
continue语句:退出本次,直接执行下一次循环。
例子:九九乘法口诀表
public class Demo {
public static void main(String [] args) {
System.out.println("九九乘法口诀表:");
System.out.println("-------------------------------------");
for (int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
System.out.println("-------------------------------------");
}
}
概念
类型一致的一组数据,相当于集合概念。
数组变量
数组变量是引用类型变量。
注:引用变量:是内存地址位置引用了一个数组(数组对象)。
int[] arg = new int[3] ;
int[] arg1 = arg ; //arg的地址赋值给arg1
数组的创建(初始化)
1.)new int[100]:给出元素数量。
2.)new int[]{1,2,3}:不需要给出元素数量,直接初始化具体元素。
3.){2,3,4}:静态初始化。(不能用于赋值)
int[] arg = new int[]{1,2,3} ;
int[] arg1 = {2,3,4} ;
//arg1 = {4,5,6} //编译出错,数组变量是引用类型变量
arg1 = new int[]{4,5,6} ;
数组元素的访问
1)数组长度:长度使用属性访问,arg.length 数组下标。
2)数组下标:范围[0~length-1)。
3)使用[index]访问数组元素:arg[2]。
4)迭代:将数组逐一访问一遍。
数组默认初始化值
默认初始化:0(整型)、0,0(浮点数)、false(布尔类型)、\u0000(char字符类型,相当于空格,强转int为0)、null(String类型)
数组变量的赋值,不是复制数组对象。数组复制的本质是创建了新数组,将原来的内容复制过来。
创建新数组,新数组容量大于原数组,将原数组内容复制到新数组,并且丢弃原数组。
含义:永远用“”双引号(英文),用字符串可以数据。都会默认转化为字符串类型。
System.out.println("A"+"B");
System.out.println('A'+'B');
System.out.println(1+2+"java"+3+4);
注意:字符串比较:用equals()方法,不能用==。
public int addSum(int a, int b) {
retrun a+b ;
}
注意:递归调用:方法中调用了方法本身。