Java基础知识精通块作用域与条件及switch语句

目录
  • 前言
  • 块作用域
  • 条件语句
    • 格式一
    • 格式二
    • 格式三(常用)
  • switch语句

前言

本文章主要讲解控制流程:块作用域、条件语句、switch语句,篇幅不大,通俗易记。

块作用域

在深入学习控制结构前,须先了解块的作用。

定义:由多条Java语句组成的语句,并用一对大括号括起来。

作用:块确定了变量的作用域,一个块可以嵌套在另一个块上。

实例:

package decom1;
public class cuowu {
	public static void main(String[] args) {  //第二个块嵌套在第一个块里面。
		byte i = 12;                 //变量i只在第二个块区域内有作用包括嵌套里面的块。
		{                            //第三个块嵌套在第二个块里面同时也在第一个块里面。
			int a = 3;               //变量a只在所在的块起到作用。
			System.out.println(a);
		}                            //写在main(程序执行的入口)里面的代码块,就称为局部代码块。
		                             //局部代码的作用:能够让变量更早的在内存中消失,节省内存空间。
		System.out.println(i);
	}
}

不能在嵌套的两个块中声明同名的变量。

实例:

package decom1;
public class cuowu {
	public static void main(String[] args) {
		byte i = 12;
		{
			int i = 3;      //报错:Duplicate local variable i
		}
		System.out.println(i);
	}
}

条件语句

条件语句有三种格式,下面我来解密一下哪三种格式。

格式一

if(条件表达式) { 语句体; }

Java中条件语句的表现形式:

if(condition) statement

这里的条件必须用小括号括起来。

条件表达式最终的结果只能是boolean类型,要么是true,要么是false。

流程:

1.如果程序执行到if语句的时候,会去看条件表达式的结果是true还是false。

2.如果是true,就会进入到if中,执行里面的语句体内容。

3.如果是false,就不会进入到if中,就不会执行到里面的语句体内容。

package com;
public class liu {
	public static void main(String[] args) {
		int i = 1;
		int j = 2;
		if(i > j) {
			System.out.println(i);
		}
			System.out.println(j);  //由于i>j不成立,所以不执行if里面的语句,直接跳过执行外面的语句。
	}
}

格式二

if(条件表达式){ 语句体; }else{ 语句体; }

语句表现形式:

if(condition) statement1 else statement2

执行流程:

1.如果程序执行到if语句的时候,会去看条件表达式的结果是true还是false。

2.如果是true,就会进入到if中,执行里面的语句体内容。

3.如果是false,就不会进入到if中,会进入到else中,执行里面的语句体。

实例:

package com;
public class liu {
	public static void main(String[] args) {
		//获取两个数的较大值
		int i = 1;
		int j = 2;
		int max = 0;
		if(i > j) {
			max = i;  //把i赋值给max
		} else {
			max = j;  //把j赋值给max
		}
		System.out.println(max);  //因为i>j条件为假,所以执行else里面的语句,所以max得到的数值为2。
	}
}

格式三(常用)

if(条件表达式){ 语句体; }else if{ 语句体; }…else{语句体;}

语句表达形式:

if…else if…

执行流程:

1.如果程序执行到if语句的时候,会去看条件表达式的结果是true还是false。

2.如果为true,就会执行if中的语句体内容,其他的语句体不会执行。

3.如果为false,就会继续向下走,看else if的条件表达式的结果是true还是false。

4.如果是true,就进入到elseif中,执行里面的语句体内容。

5.如果是false,就继续向下走…

6.如果if和所有的elseif中的条件表达式都为false,就会执行else中的语句体内容。

实例:

package com;
public class liu {
	public static void main(String[] args)
		int a = 0;
		int i = 7;
		if(i > 8) {
			a = 1;
		} else if(i > 7) {
			a = 2;
		} else if(i > 6) {
			a = 3;
		} else {
			a = 4;
		}
		System.out.println(a);
	}
}

switch语句

在处理多个选项时if条件语句显着有些笨拙,这个时候有新的玩法更何乐而不为呢?下面我来介绍switch语句。

结构放在实例讲,下面讲一下执行流程:

1.当程序执行到switch的时候,会进入到switch,会找第一个case进行匹配,如果匹配成功,就进入到case中执行。

2.里面的语句体内容和break。如果没有匹配成功,会继续向下走,找第二个case继续匹配… …。

3.如果所有的case都不匹配,最后会执行default中的语句体内容。

实例:

package com;
public class liu {
	public static void main(String[] args) {
		int i = 3;
		switch(i) {
			case 1:
				System.out.println("1");
				break;
			case 2:
				System.out.println("2");
				break;
			case 3:
				System.out.println("3");  //i=3符合case 3所以就执行case里面的命令,其余语句则不管。
				break;
			default:
				System.out.println("3");
				break;
		}
	}
}

case标签:

  • 类型为char、byte、short或int的常量表达式。
  • 枚举常量。
  • 从Java 7 开始,case标签可以是字符串字面量。

字符常量实例:

String input....
switch (input.tolowerCase())
{
	case "yes":
		...
		break;
		...
}

警告:如果case分支语句结尾没有break语句,那么就会接着执行下一个case分支语句。

如果你容易忘记这个茬,可以在前面加上这一个语句,这样一来如果case后面少了一个break,在编译的时候会提示错误。

javac -Xlint:fallthrough Test.java

switch结束标志:

1.break

2.遇到结尾}

结束语

本章主要讲解块作用域、条件语句、switch语句这三个控制结构,后续还会讲解其它的控制结构

到此这篇关于Java基础知识精通块作用域与条件及switch语句的文章就介绍到这了,更多相关Java块作用域内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java语法基础之选择结构的if语句、switch语句详解

    [前言] 流程控制语句: 在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的.也就是说程序的流程对运行结果有直接的影响.所以,我们必须清楚每条语句的执行流程.而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能. 流程控制语句分类: 顺序结构选择结构:if语句.switch语句循环结构:while语句.for语句 一.顺序结构: 是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的. 总的来说:写在前面的

  • Java使用条件语句和循环结构确定控制流(实例)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句.块确定了变量的作用域. 比如: public class Code { static { System.out.println("1"); } { System.out.println("2"); } public Code() { System.err.printl

  • java switch语句使用注意的四大细节

    switch语句的格式如下:(它的功能是选出一段代码执行) 复制代码 代码如下: switch(整数选择因子) { case 整数值1 : 语句; break; case 整数值2 : 语句; break; case 整数值3 : 语句; break; case 整数值4 : 语句; break; case 整数值5 : 语句; break; ... default:语句; } 但是要注意几点如下: 1.switch中case的参数类型只能是int类型,但是放byte,short,char类型的

  • Java枚举类型在switch语句正确使用方法详解

    很多人也许会尝试写下这样的代码: ResultStructureEnum type = ResultStructureEnum.valueOf(userType); switch (type) { case ResultStructureEnum.STUDENT: ... break; case ResultStructureEnum.TEACHER: ... break; case ResultStructureEnum.PARENT: ... break; ... } # 这样编译不会通过,

  • Java基础知识精通块作用域与条件及switch语句

    目录 前言 块作用域 条件语句 格式一 格式二 格式三(常用) switch语句 前言 本文章主要讲解控制流程:块作用域.条件语句.switch语句,篇幅不大,通俗易记. 块作用域 在深入学习控制结构前,须先了解块的作用. 定义:由多条Java语句组成的语句,并用一对大括号括起来. 作用:块确定了变量的作用域,一个块可以嵌套在另一个块上. 实例: package decom1; public class cuowu { public static void main(String[] args)

  • Java基础知识精通循环结构与break及continue

    目录 前言 for循环(常用) 1.格式 2.控制流程 3.注释 while循环(常用) 1.格式 2.执行流程 do…while循环 执行流程 区别 break与continue用法 break continue 循环嵌套 前言 本文章主要讲解剩余的控制结构:for循环.while循环,话不多说直接开讲. for循环(常用) for循环是支持迭代的一种通用结构,由一个计数器换或类似的变量控制迭代次数,每次迭代后这个变量会更新.详情见实例1: 1.格式 for(初始化条件;判断条件;控制条件)

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • Java基础知识精通注释与数据类型及常量与变量

    目录 一. 注释 1.简介 2.类型 1.单行注释 2.多行注释 3.文档注释 3.注意事项 二.数据类型 1.简介 2.整型 3.浮点类型 4.char类型 5.boolean类型 三.常量与变量 1.常量 2.变量 一. 注释 1.简介 注释就是一种解释程序的文本,提高代码的可读性,帮助我们查找错误,不会影响程序的运行,不用担心可执行代码变得多. 2.类型 1.单行注释 单行注释是最常用的,格式://注释的内容. 用法如下: package day1; public class Demo01

  • Java基础知识精通二维数组的应用

    目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据

  • Java基础知识精通数组的使用

    目录 1.数组 2.数组定义格式 3.访问数组 4.遍历数组 前言:本文章正式踏入数组部分,今天来讲一下数组. 1.数组 数组是一组数据结构,用来储存一组相同类型值的集合. 数组就是一个容器. 数组就是个引用数据类型. 作用: 用来装数据,方便对数据进行管理操作. 特点: 一旦创建数组,就不能改变长度. 数组里面所有的元素的类型必须是相同数据类型的. 数组中既可以储存基本数据类型,也可以存储引用数据类型. 2.数组定义格式 格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素

  • Java基础知识精通数组的内存分析

    目录 1.数组内存图 2.两个数组的内存图 3.一个变量两个数组容器的内存图 4.两个变量指向一个数组容器的内存图 前言:本文章主要讲解数组的内存图,更好地掌握数组以及数组调用流程,话不多说开讲. 1.数组内存图 1.一个数组的内存图 int[] arr = new int[3]; //刚开始定义数组arr为int型包含三位数字,初始化为0,0,0. arr[0] = 12; //数组arr第一位被赋值12 arr[2] = 14; //数组arr第三位被赋值14 System.out.prin

  • Java基础知识汇总

    Java基础知识 1.Java语言的优点: 1)Java是纯面向对象语言 2)与平台无关性,一次编译到处运行 3)Java提供了狠多内置类库 4)提供了对web应用的支持 5)具有较好的安全性(数组边界检测.Bytecode检测)和健壮性(强制型机制.垃圾回收器.异常处理) 6)去除c++难以理解的一些特性(头文件 指针 运算符重载 多重继承) 2.java与c++的异同: 1)Java为解释型语言,c++为编译型语言,java会慢但是跨平台 2)Jave为纯面向对象,c++既面向对象又能面向过

  • Java基础知识之成员变量和局部变量浅显易懂总结

    目录 引言 java变量分类 JVM中的主要内存空间 三大变量内存分配情况 三区介绍 栈区 堆区 方法区 基本介绍 成员变量 局部变量 变量使用 总结 引言 成员变量和局部变量在每种编程语言中都有涉及,如果之前了解过其他语言的成员变量或者局部变量,那么在学习java中的成员变量和局部变量时可以看看有那些联系和不同,这一块的东西也不能说难,如果第一次接触可能会感觉有点乱,所以接下来我先把java中总结的成员变量和局部变量的部分内容先列出来,带着这些内容学起来会轻松很多! java变量分类 JVM中

  • Java基础知识杂文

    1.基本概念 IO是主存和外部设备(硬盘.终端和网络等)拷贝数据的过程.IO是操作系统的底层功能实现,底层通过I/O指令进行完成. 所有语言运行时系统提供执行I/O较高级别的工具.(c的printfscanf,java的面向对象封装) 2.Java标准io回顾 Java标准IO类库是io面向对象的一种抽象.基于本地方法的底层实现,我们无须关注底层实现.InputStream\OutputStream(字节流):一次传送一个字节.Reader\Writer(字符流):一次一个字符. 3.nio简介

随机推荐