7.1 块作用域
块:指由一对花括号括起来的若干简单的Java语句。
块确定了变量的作用域。
块分为:静态的和非静态的
执行的顺序为:
一个块可以嵌套在另一个块中。但是不能在嵌套的两个块中声明同名的变量。在
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建Block类
源码:
package com.zjk.type;
/**
*
*@类名 Block
*@日期 2015年12月5日下午1:42:11
*@作者 zjkorder
*@版本 v1.0
*@描述
* 块:的讲解
* main 方法所在类
*/
public class Block {
String name = "block!";//声明一个全局变量
/**
* 默认的构造方法
* @Title: Block
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param 设定文件
* @return
* @throws
*
*/
public Block() {
// TODO Auto-generated constructor stub
System.out.println("构造方法内的语句!");
}
/**
* 第一个块
*/
{
String s = "我是第一个块的第一条输出语句!";//声明一个字符串变量s
System.out.println(s);
System.out.println(name);
/**
* 第一个块作用域的内的一个块
*/
{
// String s;// 错误:Duplicate local variable s 原因:在嵌套的两个或多个作用域内声明类同名的变量
String ss ="我是第一块内嵌套的块";
System.out.println(ss);
}
}
/**
* 第二个块
*/
{
System.out.println("第二块内的输出语句!");
}
/**
* 第一个静态块
*/
static{
System.out.println("第一个静态块的输出语句!");
}
public static void main(String[] args) {
new Block();
}
}
7.2条件语句
条件语句的格式为:if(condition){block statement}
当condition为真是执行block statement
执行顺序:
if(condition){block statement 1}else{block statement 2}
当condition 为真时执行block statement 1 ,为假时执行 block statement 2
执行顺序:
if(condition 1){block statement 1}else if(condition 2){block statement 2}
当condition 1 为真时执行block statement 1 ,condition 1为假且condition 2 为真时执行 block statement 2
执行顺序:
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建ConditionalStatement类
源码:
package com.zjk.type;
/**
*
*@类名 ConditionalStatement
*@日期 2015年12月5日下午2:54:53
*@作者 zjkorder
*@版本 v1.0
*@描述
*
* 条件控制语句
* if
* main方法所在类
*/
public class ConditionalStatement {
/**
* main方法
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param args 设定文件
* @return void
* @throws
*
*/
public static void main(String[] args) {
int a = 10; //声明int型变量a 并赋值 10
int b = 9; //声明int型变量b 并赋值 9
int c = 11; //声明int型变量c 并赋值 11
int max = a; // 声明int型变量来保存最大值
if(a>b){// if(condition){ block statement} 结构的控制语句
System.out.println("a大于b");
}
System.out.print("a与c的大小比较结果为:");
if(a > c){ //if(condition ){ block statment 1}else{ block statement 2} 结构的控制语句
System.out.println("大于");
}else{
System.out.println("小于");
}
if(max < b){//if(condition 1){ block statment 1}else if(condition 2){ block statement 2} 结构的控制语句
max = b;
}else if(max < c){
max = c;
}
System.out.print("a、b、c三个数的最大值是:"+max);
}
}
7.3 循环语句
7.3.1 while与do-while循环
While循环常用的格式为: while(condition){block statement}
当condition为真是循环执行block statement,当condition为假时跳出循环。
执行顺序为:
do-while循环常用的格式为:do{block statement}while(condition)
先执行block statement ,当condition为真时循环执行block statement语句,为假时跳出循环
执行顺序为:
while与do-while的区别:
while循环是先判断条件是否成立再执行循环语句
do-while循环是先执行一次循环语句再判断条件是否成立
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建WhileCyale类
源码:
package com.zjk.type;
/**
*
*@类名 WhileCyale
*@日期 2015年12月5日下午3:21:35
*@作者 zjkorder
*@版本 v1.0
*@描述
*
* while与都while循环
*
* main方法所在类
*/
public class WhileCyale {
/**
* main方法
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param args 设定文件
* @return void
* @throws
*
*/
public static void main(String[] args) {
int a = 1;//声明一个int型变量保存遍数
while(a < 10){
System.out.println("这是一个while循环:");
a++;
}
do{
System.out.println("这是一个do-while循环:");
a--;
}while(a>1);
}
}
7.3.2 for与for-each循环
for( statement 1 ; condition; statement 2 ){ block statement}
statement1 与statement2 是两条语句,在执行for循环时statement1第一的执行,在判断condition是否成立,然后是block statement ,statement每次循环最后执行
执行顺序为:
for-each循环:更加简洁的用于数组和容器。
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类
源码:
package com.zjk.type;
/**
*
*@类名 ForCyale
*@日期 2015年12月5日下午3:42:59
*@作者 zjkorder
*@版本 v1.0
*@描述
* for与for-each循环
* main方法所在类
*/
public class ForCyale {
/**
* main 方法
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param args 设定文件
* @return void
* @throws
*
*/
public static void main(String[] args) {
// 利用for循环输出1~10之间的整数
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
int[] a = {1,2,3,4,5};// 创建一个int型数组变量保存1~5之间的整数
System.out.println("数组a的内容为:");
//利用for-each循环输出a数组
for (int i : a) {
System.out.println(i);
}
}
}
7.4 switch语句
switch的结构为:
switch(choice){
case variable1:
block statement;
break;
case variable2:
block statement;
break;
case variable3:
block statement;
break;
.
.
.
default:
block statement default;
break;
}
Switch 语句将从与选项值相匹配的case标签处开始执行直达遇到break语句,或者执行到switch语句结束处为止。如果没有相匹配的case标签,而有default字句,就执行default字句。
执行顺序为:
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类
源码:
package com.zjk.type;
/**
*
*@类名 MultipleChoice
*@日期 2015年12月5日下午3:49:06
*@作者 zjkorder
*@版本 v1.0
*@描述
*
* 多重选择switch
* main 方法所在类
*
*/
public class MultipleChoice {
/**
* main 方法
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param args 设定文件
* @return void
* @throws
*
*/
public static void main(String[] args) {
int a = 6;
switch (a) {
case 1: //当a为1是
System.out.println("这次你选择的是1!");
break;//跳出多重选择
// case 1: //错误:Duplicate case 原因:多重选择中已经存在相同的案例
case 2:
System.out.println("这次你选择的是2!");
break;
case 3:
System.out.println("这次你选择的是3!");
break;
case 4://从与选项值相同的case值开始执行直至遇到break语句才会,或者执行到switch语句的结束处
System.out.println("这次你选择的是4!");
case 5:
System.out.println("这次你选择的是5!");
break;
case 6: //从与选项值相同的case值开始执行直至遇到break语句才会,或者执行到switch语句的结束处
System.out.println("这次你选择的是6!");
default://如果没有匹配的case标签,而有default字句,就执行这个字句
System.out.println("不存在你的选项!");
}
}
}
7.5 break和continue
break: 直接跳出循环。适用:循环语句和switch语句。
continue:跳出当前循环。适用:循环语句。
示例:
步骤1:在Demo010项目中的com.zjk.type包内创建ForCyale类
源码:
package com.zjk.type;
/**
*
*@类名 InterruptControl
*@日期 2015年12月5日下午4:14:13
*@作者 zjkorder
*@版本 v1.0
*@描述
* 中断流程控制 : break 和continue
* main方法所在类
*/
public class InterruptControl {
/**
* main 方法
* @Title: main
* @Description: TODO(这里用一句话描述这个方法的作用)
* @param @param args 设定文件
* @return void
* @throws
*
*/
public static void main(String[] args) {
System.out.println("1~10之间的奇数为:");
for (int i = 1; i < 10; i++) { // 利用for循环输出 1~10 之间的奇数
if(i%2 == 0){
continue;//只是跳出当前循环
}
System.out.println(i);
}
System.out.println("1~10之间的偶数为:");
int n = 0;
while(n>=0){ // 利用while循环输出1~10 之间的偶数
n++;
if(n%2 != 0){
continue;//跳出当前循环
}
System.out.println(n);
if(n >= 10){
break;// 跳出循环
}
}
}
}