标签:
块:指由一对花括号括起来的若干简单的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();
????}
?
}
?
?
?
条件语句的格式为: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);
????????
????}
?
}
?
?
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);
????}
???? ?
???? ?
????
}
?
?
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);
????????}
???????? ?
????????
????????
????}
}
?
?
?
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("不存在你的选项!");
????????}
????????
????????
????}
?
}
?
?
?
?
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;// 跳出循环
????????????}
????????????
????????}
????????
????}
}
?
?
?
标签:
原文地址:http://www.cnblogs.com/zjkorder/p/5021893.html