Java代码结构
Java代码结构
顺序结构
- Java的基本结构为顺序结构,除非特别指明,否则从上到下一句一句执行
选择结构
if单选择结构
if(condition){
doSomething();
}
if双选择结构
if(condition){
doSomething();
}else{ // 如果condition不为true
doAnotherThing();
}
if多选择结构
// 一旦有一个condition为true,执行对应的代码然后结束这次选择
if(condition1){
doThing1();
}else if(condition2){
doThing2();
}else{
doThingN();
}
嵌套的if结构
if(condition1){
if(condition2){ }
}
switch多选择结构
多选择结构还可以用switch case语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值为一个分支
switch(x){
case 1:
doThing1();
break;
case 2:
doThing2();
break;
case 3:
doThing3();
break;
default:
doThing4();
}
switch语句中的变量类型可以是:
- byte,short,int,char
- 从Java SE 7开始的,switch支持字符串类型了
- 字符的本质还是数字
- 反编译 java---class(字节码)---反编译(IDEA)
- 同时字符串标签必须为字符串常量或字面量
循环结构
while循环
while(condition){
doSometing();
}
- 每次执行完框内的代码,就会再次检测condition是否为true,为true则再进入框内运行代码
- 大多数情况下不会出现死循环
- 少部分情况需要一直循环,比如服务器请求相应监听
do..while循环
- 对于while语句而言,不满足条件则不能进入循环。但有时我们需要及时不满足条件也至少执行一次循环
- do...while会至少执行一次循环
- while先判断后执行
- do...while先执行后判断
for循环
for循环语句是一种支持迭代的通用结构,是最有效最灵活的循环结构
for循环的循环次数是在执行前就确定的
for(初始化;Boolean;更新){
doSomething();
}
在Java5中引入了一种主要用于数组的增强型for循环
for(声明语句:表达式){
doSomething();
}
- 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句内,值与对应数组中元素的值相等
- 表达式:要访问的数组名,或者是返回值为数组的方法
int[] numbers = {10,20,30,40,50,60};// 定义了一个数组 //遍历数组的元素
for(int x:numbers){
System.out.println(x);
}
break,continue,goto
break在任何循环语句的主体部分,均可被用于强行退出循环(switch语句中也使用)
continue语句用于循环语句中,用于终止某次循环过程,即跳过本次循环中尚未执行的部分,直接进行下一次循环的判定
关于goto关键字
goto关键字很早在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在语言中得到正式使用;Java没有goto。然而,在break和continue这两个关键字上的身上,我们仍然能够看到goto的影子---带标签的break和continue
“标签"是指后面跟一个冒号的标识符,例如:label:
outer:for(;;){
inner:for(;;){
if(condition){
continue outer;
}
}
}
对Java来说唯一用到标签的地方是在循环语句之前。而在循环语句之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于使用break和continue通常只中断当前循环,但若随同标签使用,他们就会中断到存在标签的地方
Java代码结构的更多相关文章
- 从Java代码到字节码(1)
理解Java代码是如何被编译为字节码并在Java虚拟机(JVM)上执行是非常重要的,这将帮助理解你的程序是如何执行的.这样的理解不仅仅能够让你在逻辑上更好的掌握语言特性,而且能够有机会理解在做出重要决 ...
- java代码实现目录结构
今天用java代码来实现.像我们电脑盘符那样的目录结构.在代码开始之前首先.介绍一下.用.java代码实现目录的思想. 第一步:完成基础的.大家想.我们是如何获取文件的.是不是用File类,直接就获取 ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- 转!!Java代码规范、格式化和checkstyle检查配置文档
为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...
- 如何解救在异步Java代码中已检测的异常
Java语言通过已检测异常语法所提供的静态异常检测功能非常实用,通过它程序开发人员可以用很便捷的方式表达复杂的程序流程. 实际上,如果某个函数预期将返回某种类型的数据,通过已检测异常,很容易就可以扩展 ...
- Java代码规范
Java代码规范 本Java代码规范以SUN的标准Java代码规范为基础,为适应我们公司的实际需要,可能会做一些修改.本文档中没有说明的地方,请参看SUN Java标准代码规范.如果两边有冲突,以SU ...
- java代码注释规范
java代码注释规范 代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二 ...
- Java 代码编译和执行的整个过程
Java 代码编译是由 Java 源码编译器来完成,流程图如下所示: Java 字节码的执行是由 JVM 执行引擎来完成,流程图如下所示: Java 代码编译和执行的整个过程包含了以下三个重要的机制: ...
- 手把手教你如何把java代码,打包成jar文件以及转换为exe可执行文件
1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以 ...
随机推荐
- crontab计划运行shell脚本,调用ncl执行失败
编写了bash脚本,调用ncl脚本绘图,在前台运行时候无误,但是加入crontab任务就是始终无法出图,并且无错误输出. 经过搜索,问题得到解决.是环境变量的问题.所有执行的命令,和文件都要指定完整的 ...
- 吴恩达老师机器学习课程chapter08——降维
吴恩达老师机器学习课程chapter08--降维 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十四章. 本章节只有结论,没有任 ...
- Java lombok包中的常用注解,便捷化开发POJO类
lombok包中的一些常用注解 如何使用Lombok?Lombok提供注解方式来提高代码的简洁性,常用注解有: @Data @Setter @Getter @NonNull @ ...
- 【Python】容器:列表(list)/字典(dict)/元组(tuple)/集合(set)
三.Python容器:列表(list)/字典(dict)/元组(tuple)/集合(set) 1.列表(list) 1.1 什么是列表 是一个'大容器',可以存储N多个元素简单来说就是其他语言中的数组 ...
- sprinboot多个子模块下 依赖包没有找到 解决方案
最近因为在使用springboot开发项目,在开发过程中,发现自己的子模块导入通用的模块 在启动中 说找不到这个类 百度下 说我要在pom文件下 pulus 插件 那里 加上这段代码 <conf ...
- 使用VS Code打造完美的嵌入式IDE
参考这个博主https://blog.csdn.net/qq_34245464/article/details/100769643的博文, 使用VS Code再重新打造一次完美的嵌入式IDE平台. 前 ...
- Python生成whl文件
下载源码包,生成whl文件 python setup.py bdist_wheel
- JavaScript异步概念及与c#异步的区别
JS的异步操作函数往往是通过回调函数来实现异步任务的结果处理,在ES6之前如setTimeout函数和异步AJAX编程: 在ES6规范后Promise 类对象使得书写异步任务更加容易,返回Promis ...
- SignalR《二》接着前篇的继续
SignalR<二>接着前篇的继续 SignalR身份验证 在ChatRoomHub加上[Authorize] 这样登录了才能发送消息 using Microsoft.AspNetCor ...
- Vue全局方法配置
在Vue项目开发中,肯定会有这样一个场景:在不同的组件页面用到同样的方法,比如格式化时间,文件下载,对象深拷贝,返回数据类型,复制文本等等.这时候我们就需要把常用函数抽离出来,提供给全局使用.那如何才 ...