本帖最后由 sunnyday 于 2016-5-20 00:30 编辑
初来驾到,请多多支持{:2_30:}{:2_31:}{:2_41:}{:2_44:}{:2_38:}
变量的定义格式
* 数据类型 变量名 = 变量值;
一条语句可以定义几个变量
* int a,b,c...;
一维数组
数据类型[] 数组名 = new 数据类型[数组长度];
数据类型:数组中存储的元素的数据类型,它可以是任何Java数据类型
int[] intArray = new int[3];
double[] dobArray = new double[3];
String[] strArray = new String[5];
boolean[] bolArray = new boolean[10];
数组长度:可以是字面常量、变量、表达式
int a = 10;
int b = 5;
int[] arr = new int[a + b];//OK的
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3, .... , 值n};
数据类型[] 数组名 = {值1,值2,值3, .... , 值n};
二维数组
第一种方式:
int[][] arr = new int[3][4];
第二种方式:
int[][] arr = new int[3][];
第三种方式:
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
//定义一个类
public class fruitItem {
int id;
String name;
double price;
int count;
double money = count * price;
}
//新建一个类:
fruitItem ff = new fruitItem();
// 创建ArrayList集合
ArrayList<fruitItem> list = new ArrayList<>();
// 向集合中添加元素
list.add("ff");
// 获取集合中元素的个数
System.out.println("集合的长度:" + list.size());
// 取出并打印指定位置的元素
System.out.println("第1个元素是:" + list.get(0));
//定义一个类
public class fruitItem {
int id;
String name;
double price;
int count;
double money = count * price;
}
//新建一个类:
fruitItem ff = new fruitItem(); //只能从一个类的集合中"整体"取出这个类,而不是直接取出这个类的各个属性!!!
//赋值填充
ff.id = id;
ff.name = name;
ff.price = price;
ff.count = count;
ff.money = money1;
if语句的格式1
if(比较表达式) {
语句体;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体;
*如果是false,就不执行语句体;
选择结构if语句注意事项
a:比较表达式无论简单还是复杂,结果必须是boolean类型
b:if语句控制的语句体如果是一条语句,大括号可以省略;
如果是多条语句,就不能省略。建议永远不要省略。
c:一般来说:有左大括号就没有分号,有分号就没有左大括号
if语句的格式2
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
首先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
注意事项:else后面是没有比较表达式的,只有if后面有。
三元运算符实现的,都可以采用if语句实现。反之不成立。
什么时候if语句实现不能用三元改进呢?
当if语句控制的操作是一个输出语句的时候就不能。
为什么呢?因为三元运算符是一个运算符,运算符操作完毕就应该有一个结果,而不是一个输出。
(选择结构if语句格式3及其使用)(掌握)
if语句的格式3:
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
执行流程:
首先计算比较表达式1看其返回值是true还是false,
如果是true,就执行语句体1,if语句结束。
如果是false,接着计算比较表达式2看其返回值是true还是false,
如果是true,就执行语句体2,if语句结束。
如果是false,接着计算比较表达式3看其返回值是true还是false,
如果都是false,就执行语句体n+1。
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
switch语句的格式
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
switch语句的格式解释
执行流程
先计算表达式的值
然后和case后面的匹配,如果有就执行对应的语句,否则执行default控制的语句
选择结构switch语句的注意事项)(掌握)
case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。
A,B,C,D
break可以省略吗?
最后一个可以省略,其他最好不要省略
会出现一个现象:case穿透。
最终我们建议不要省略
default一定要在最后吗?
* 不是,可以在任意位置。但是建议在最后。
switch语句的结束条件
遇到break就结束了
执行到switch的右大括号就结束了
总结switch语句和if语句的各自使用场景
switch建议判断固定值的时候用
if建议判断区间或范围的时候用
循环结构的分类
for,while,do...while //for语句执行后变量会被释放,不能再使用
//while语句执行后,初始化变量还可以继续使用
循环结构for语句的格式:
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
执行流程:
执行初始化语句
执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
执行循环体语句;
执行循环后的操作表达式
回到b继续。
(循环结构while语句的格式和基本使用)
while语句的格式:
完整格式:
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行流程:
执行初始化语句
执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
执行循环体语句;
执行控制条件语句
回到B继续。
(循环结构do...while语句的格式和基本使用)
完整格式;
初始化语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
a:执行初始化语句
b:执行循环体语句;
c:执行控制条件语句
d:执行判断条件语句,看其返回值是true还是false
* 如果是true,就继续执行
* 如果是false,就结束循环
循环结构三种循环语句的区别)
三种循环语句的区别:
do...while循环至少执行一次循环体。
而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
for循环和while循环的区别:
* A:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环。不知道用谁就用for循环。因为变量及早的从内存中消失,可以提高内存的使用效率。
(循环结构注意事项之死循环)
一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
两种最简单的死循环格式
while(true){...}
for(;;){...} |
|