一、true和false

        java不允许拿一个数字来作为布尔值使用,但在C/C++中是允许的,如下:
void example15(){ if(1){//在C语言中,1代表的是真,0代表的是假,C++也是一样 printf("true"); }else{
printf("false"); } }
        java中必须使用一个条件表达式将其转换成布尔类型值。当然,也可以直接使用布尔值,如下:
public void example1(){ if(true){//直接使用真假值 System.out.println("true"); } int t
= 3; if(t>3){//条件表达式 System.out.println("true"); } }
二、if-else

if-else是控制程序流程的最基本的形式,如下:
public void example2(){ /** * if-else */ int score = 90; if(score>0){
System.out.println("你及格了!"); }else {//else语句是可以省略的 System.out.println("你不及格!");
} /** * if-else-if-else */ int week = 2; if(week == 1){
System.out.println("今天是星期一"); }else if(week == 2){
System.out.println("今天是星期二"); }else { //...... } }
三、迭代

1、while
public void example3(){ int i = 0; int j = 0; while (i<5){ j += i; i++; }
System.out.println(j);//0+1+2+3+4=10 }
2、do-while
@Test public void example4(){ int i = 0; int j = 0; do{ j += i; i++; }while
(i<5); System.out.println(j);//0+1+2+3+4=10,它跟while的区别是它先执行一次 }
3、for
/** * 从1加到100 */ @Test public void example5() { int j = 0; for (int i = 1; i
<= 100; i++) { j += i; } System.out.println(j);//5050 }
4、foreach
public void example6(){ /** * foreach数组 */ int[] nums = {10,20,30,40,50}; int
result = 0; for(int i:nums){ result += i; } System.out.println(result);//150
/** * foreach list集合 */ List<String> strings = new ArrayList<>();
strings.add("张三"); strings.add("李四"); strings.add("王二"); String str =
"这个集合中有三个人,分别是:"; for(String s:strings){ str += s + ","; } str =
str.substring(0,str.length()-1);
System.out.println(str);//这个集合中有三个人,分别是:张三,李四,王二 /** * foreach map集合 */
Map<String,String> map = new HashMap<>(); map.put("张三","20");
map.put("李四","25"); map.put("王五","19"); for(String s:map.keySet()){
System.out.println(s + "的年龄是:" + map.get(s) + "岁!"); } /** * 李四的年龄是:25岁! *
张三的年龄是:20岁! * 王五的年龄是:19岁! */ }
5、return

       
return关键字有两个用途:一是指定一个方法返回什么值,二是导致当前方法退出。如果在返回void的方法中没有return语句,那么在该方法的结尾处会有一个隐式的return。
@Test public void example9() { Boolean b = this.back1(10, 5, 20);
System.out.println(b); Boolean b1 = this.back1(25, 5, 20);
System.out.println(b1); } //判断是否在两数之间 private Boolean back1(Integer num,
Integer begin, Integer end) { if (num >= begin && num <= end) { return
Boolean.TRUE; } return Boolean.FALSE; }
6、break和continue

        break用于强制退出循环,不执行循环中的剩余的语句,而continue是中止当前循环,继续下一次循环。
@Test public void example10(){ System.out.println(useBreak(10));
System.out.println(useContinue(10)); } private int useBreak(int num){ int
result = 0; for(int i=1;i<num;i++){ if(i%5 == 0){ break; } result += i; }
return result;//1+2+3+4=10 } private int useContinue(int num){ int result = 0;
for(int i=1;i<num;i++){ if(i%5 == 0){ continue; } result += i; } return
result;//1+2+3+4+6+7+8+9=40 }
7、java中的标签与goto

       
goto是源码级上的跳转,这使其招致了不好的声誉,如果一个程序总是从一个地方跳到另外一个地方,这就很难识别程序的控制流程。事实上,真正的问题并不在于使用goto,而是在于goto的滥用,在少数情况下,goto是组织控制流程的最佳手段,goto可以用于深层嵌套循环的跳出。尽管goto仍是java中的一个保留字,但在语言中并未使用它。

       
java使用标签、break和continue关键字进行跳转的操作,带标签的break会中断循环并跳出标签所指的循环,带标签的continue会到达标签的位置,并重新进入紧接在那个标签后面的循环。
@Test public void example11(){ //三个小组,每个小组5名学生 int[][] arr =
{{65,80,92,85,55},{58,65,76,52,66},{67,63,52,85,76}}; int result = 0;
out:for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){
if(i==0){//结束外层循环的第一次循环,进入到下一次循环 continue out; }
if(i==2){//外层循环进入到第三次时,直接结束外层循环 break out; } result =
result>arr[i][j]?result:arr[i][j]; } } System.out.println(result);//76 }
8、switch

        每个case是一个tag,当匹配到tag时会忽略其他tag然后顺序执行代码体,直到遭遇break或者}
@Test public void example12(){ int i=9; switch (i) { default:
System.out.println("default"); case 0: System.out.println("zero"); case 1:
System.out.println("one"); case 2: System.out.println("two"); } /* * default *
zero * one * two 分析:每个case是一个tag,当匹配到tag时会忽略其他tag然后顺序执行代码体,直到遭遇break或者} */ }
 

技术
©2019-2020 Toolsou All rights reserved,
ajax get请求中文参数乱码解决(精华)2020年8月13日 C#基础知识点 windform实现双色球(精华)2020年6月26日 C#类库 Enum(扩展方法)分页工具类PageResultELementUI select多选下拉框获取选中项的全部属性 Unity3D Input按键系统(精华)2020年7月13日 微信小程序 页面间通信Java分布式系统高并发解决方案小结mybatis-config.xml设置默认值配置springboot多配置文件配置