java 基础 流程控制
2014-04-24 11:50
92 查看
鄙人不才,基础不好,趁着闲时简单学习一下,仅作学习分享,如有不正确地方还请各位看客不吝指出。
Java流程主要可以分为:
顺序(可以按照正常顺序一步步往下运行的)
选择(三元操作符[?:];if else;switch)
循环(for;while;do while;)
控制(break;continue;)
顺序流程没啥好说的,代码没问题的话一般都可以按顺序运行
选择流程中
1.之前在论坛中有看的别人说三元操作符不会进行短路操作,这个说法其实是错误的
例如
2.为什么有了三元操作符还要有ifelse呢?有人说三元操作符不能嵌套,这个显然是不正确。
上面的例子第二行改成.
也是可以正常运行的。可是这样做程序的可读性就很差了。个人认为ifelse主要是为了提高程序可读性存在的。
3.效率方面,直接写程序观察运行时间是不靠谱的,这与你电脑运行时环境关系很大。但是我们可以用javap进行反编译进行查看的
首先运行 javac Test.java进行编译,然后运行javap -c Test 进行反编译。 得到如下结果
4.关于switch,其实SUN对于switch一直在进行改进,有最开始的支持byte,short,char,int,到1.5的Enum,到1.7的String。可以用于筛选的条件逐渐增多,谁知道以后会不会加上Object呢?
循环流程中
1.for循环第一次执行做不做条件判断?
这个问题平时真的不怎么注意,其实for循环再第一次执行的时候也会进行条件判读的,如果不满足条件一次都不会执行。
2.while执行前进行判断如果判断不同过就不会执行。
3.do while先执行一次,然后在做条件判断
4.循环流程中要特别注意防止死循环
5.如果有死循环编译会不会报错?
从来没注意过吧?不会报错的!!运行时候也不会报错,等到真正消耗完系统资源的时候你就闹大了。还是小心为妙
控制流程
1.配合switch和循环流程使用,可以控制跳转
2.配合标签在嵌套循环中使用可以控制循环流向
Java流程主要可以分为:
顺序(可以按照正常顺序一步步往下运行的)
选择(三元操作符[?:];if else;switch)
循环(for;while;do while;)
控制(break;continue;)
顺序流程没啥好说的,代码没问题的话一般都可以按顺序运行
选择流程中
1.之前在论坛中有看的别人说三元操作符不会进行短路操作,这个说法其实是错误的
例如
int i = 1; int j = i==2 && ++i == 2?1:2; System.out.println(i); System.out.println(j);
2.为什么有了三元操作符还要有ifelse呢?有人说三元操作符不能嵌套,这个显然是不正确。
上面的例子第二行改成.
int j = i==2 && ++i == 2?1:(i>3?3:2);
也是可以正常运行的。可是这样做程序的可读性就很差了。个人认为ifelse主要是为了提高程序可读性存在的。
3.效率方面,直接写程序观察运行时间是不靠谱的,这与你电脑运行时环境关系很大。但是我们可以用javap进行反编译进行查看的
public class Test{ public void test() { int i = 1; int j; j = i==1?1:2; } }
首先运行 javac Test.java进行编译,然后运行javap -c Test 进行反编译。 得到如下结果
Compiled from "Test.java" public class Test { public Test(); Code: 0: aload_0 1: invokespecial #1 // Method java/lang/Object."<init>": ()V 4: return public void test(); Code: 0: iconst_1 1: istore_1 2: iload_1 3: iconst_1 4: if_icmpne 11 7: iconst_1 8: goto 12 11: iconst_2 12: istore_2 13: return }
4.关于switch,其实SUN对于switch一直在进行改进,有最开始的支持byte,short,char,int,到1.5的Enum,到1.7的String。可以用于筛选的条件逐渐增多,谁知道以后会不会加上Object呢?
循环流程中
1.for循环第一次执行做不做条件判断?
这个问题平时真的不怎么注意,其实for循环再第一次执行的时候也会进行条件判读的,如果不满足条件一次都不会执行。
2.while执行前进行判断如果判断不同过就不会执行。
3.do while先执行一次,然后在做条件判断
4.循环流程中要特别注意防止死循环
5.如果有死循环编译会不会报错?
从来没注意过吧?不会报错的!!运行时候也不会报错,等到真正消耗完系统资源的时候你就闹大了。还是小心为妙
控制流程
1.配合switch和循环流程使用,可以控制跳转
2.配合标签在嵌套循环中使用可以控制循环流向
相关文章推荐
- Java基础知识:流程控制
- java基础第三章-流程控制与数组
- Java学习之旅基础知识篇:数据类型及流程控制
- 【JAVA零基础入门系列】Day8 Java的控制流程
- JAVA基础【3.8】《Java核心技术1》Java的基本程序设计结构-控制流程
- java基础之程序流程控制和数组
- 【黑马程序员】Java基础02:Java中的程序流程控制结构
- 【Java编程基础】Chapter 3:流程控制语句
- 黑马程序员_Java基础(控制流程语句)
- Java基础(2)--流程控制
- Java基础(4)-流程控制之分支语句
- Java基础(二)——流程控制、函数
- JAVA基础初探(一)核心概念(JVM,JDK,JRE)、流程控制语句、基本数据类型、关键字、标识符、常量与变量、类型转换、Debug处理
- Java 入门(三) 流程控制 -----程序设计的动态基础
- [java学习笔记]java语言基础概述之运算符&程序流程控制&for循环嵌套
- java入门一DAY07------java基础 三大技术框架 三元运算 流程控制 方法总结
- 黑马程序员——JAVA基础----语法(二)-- 流程控制
- Java基础(五)流程控制语句
- JAVA基础之程序流程控制:判断结构
- Java基础----控制流程语句